]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/OStatus/tests/gettext-speedtest.php
Less redundant code, please
[quix0rs-gnu-social.git] / plugins / OStatus / tests / gettext-speedtest.php
1 <?php
2
3 if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
4     print "This script must be run from the command line\n";
5     exit();
6 }
7
8 define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
9 define('GNUSOCIAL', true);
10 define('STATUSNET', true);  // compatibility
11
12 require_once INSTALLDIR . '/scripts/commandline.inc';
13 require_once INSTALLDIR . '/extlib/php-gettext/gettext.inc';
14
15 common_init_locale("en_US");
16 common_init_locale('fr');
17
18
19 putenv("LANG=fr");
20 putenv("LANGUAGE=fr");
21 setlocale('fr.utf8');
22 _setlocale('fr.utf8');
23
24 _bindtextdomain("statusnet", INSTALLDIR . '/locale');
25 _bindtextdomain("FeedSub", INSTALLDIR . '/plugins/FeedSub/locale');
26
27 $times = 10000;
28 $delta = array();
29
30 $start = microtime(true);
31 for($i = 0; $i < $times; $i++) {
32     $result = _("Send");
33 }
34 $delta["_"] = array((microtime(true) - $start) / $times, $result);
35
36 $start = microtime(true);
37 for($i = 0; $i < $times; $i++) {
38     $result = __("Send");
39 }
40 $delta["__"] = array((microtime(true) - $start) / $times, $result);
41
42 $start = microtime(true);
43 for($i = 0; $i < $times; $i++) {
44     $result = dgettext("FeedSub", "Feeds");
45 }
46 $delta["dgettext"] = array((microtime(true) - $start) / $times, $result);
47
48 $start = microtime(true);
49 for($i = 0; $i < $times; $i++) {
50     $result = _dgettext("FeedSub", "Feeds");
51 }
52 $delta["_dgettext"] = array((microtime(true) - $start) / $times, $result);
53
54
55 $start = microtime(true);
56 for($i = 0; $i < $times; $i++) {
57     // TRANS: String in the gettext speed test script. Unimportant.
58     $result = _m("Feeds");
59 }
60 $delta["_m"] = array((microtime(true) - $start) / $times, $result);
61
62
63 $start = microtime(true);
64 for($i = 0; $i < $times; $i++) {
65     $result = fake("Feeds");
66 }
67 $delta["fake"] = array((microtime(true) - $start) / $times, $result);
68
69 foreach ($delta as $func => $bits) {
70     list($time, $result) = $bits;
71     $ms = $time * 1000.0;
72     printf("%10s %2.4fms %s\n", $func, $ms, $result);
73 }
74
75
76 function fake($str) {
77     return $str;
78 }
79