Thank you for hint. I'll fix it tomorrow. Dmitry.
> -----Original Message----- > From: Jani Taskinen [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 25, 2007 2:04 PM > To: Dmitry Stogov > Cc: php-cvs@lists.php.net > Subject: Re: [PHP-CVS] cvs: php-src /sapi/cgi cgi_main.c > > > And you're sure gettimeofday() is available always? > Hint: It isn't. :) > > --Jani > > > On Thu, 2007-10-25 at 05:39 +0000, Dmitry Stogov wrote: > > dmitry Thu Oct 25 05:39:24 2007 UTC > > > > Modified files: > > /php-src/sapi/cgi cgi_main.c > > Log: > > Added CGI SAPI -T option, to measure execution time of script > > repeated several times. > > > > > > > http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.340&r2= > > 1.341&diff_format=u > > Index: php-src/sapi/cgi/cgi_main.c > > diff -u php-src/sapi/cgi/cgi_main.c:1.340 > php-src/sapi/cgi/cgi_main.c:1.341 > > --- php-src/sapi/cgi/cgi_main.c:1.340 Mon Oct 1 12:32:39 2007 > > +++ php-src/sapi/cgi/cgi_main.c Thu Oct 25 05:39:24 2007 > > @@ -21,7 +21,7 @@ > > > > > +------------------------------------------------------------- > ---------+ > > */ > > > > -/* $Id: cgi_main.c,v 1.340 2007/10/01 12:32:39 jani Exp $ */ > > +/* $Id: cgi_main.c,v 1.341 2007/10/25 05:39:24 dmitry Exp $ */ > > > > #include "php.h" > > #include "php_globals.h" > > @@ -137,6 +137,7 @@ > > {'?', 0, "usage"},/* help alias (both '?' and 'usage') */ > > {'v', 0, "version"}, > > {'z', 1, "zend-extension"}, > > + {'T', 1, "timing"}, > > {'-', 0, NULL} /* end of args */ > > }; > > > > @@ -767,7 +768,8 @@ > > " -s Display > colour syntax highlighted source.\n" > > " -v Version number\n" > > " -w Display > source with stripped comments and whitespace.\n" > > - " -z <file> Load Zend > extension <file>.\n", > > + " -z <file> Load Zend > extension <file>.\n" > > + " -T <count> Measure > execution time of script repeated <count> times.\n", > > prog, prog); > > } > > /* }}} */ > > @@ -1266,6 +1268,9 @@ > > char *bindpath = NULL; > > int fcgi_fd = 0; > > fcgi_request request; > > + int repeats = 1; > > + int benchmark = 0; > > + struct timeval start, end; > > #ifndef PHP_WIN32 > > int status = 0; > > #endif > > @@ -1543,6 +1548,11 @@ > > zend_first_try { > > while ((c = php_getopt(argc, argv, OPTIONS, > &php_optarg, &php_optind, 1, 2)) != -1) { > > switch (c) { > > + case 'T': > > + benchmark = 1; > > + repeats = atoi(php_optarg); > > + gettimeofday(&start, NULL); > > + break; > > case 'h': > > case '?': > > fcgi_shutdown(); > > @@ -1912,8 +1922,18 @@ > > } > > } > > > > - if (!fastcgi) > > + if (!fastcgi) { > > + if (benchmark) { > > + repeats--; > > + if (repeats > 0) { > > + script_file = NULL; > > + php_optind = > orig_optind; > > + php_optarg = > orig_optarg; > > + continue; > > + } > > + } > > break; > > + } > > > > /* only fastcgi will get here */ > > requests++; > > @@ -1943,6 +1963,21 @@ > > } zend_end_try(); > > > > out: > > + if (benchmark) { > > + int sec; > > + int usec; > > + > > + gettimeofday(&end, NULL); > > + sec = (int)(end.tv_sec - start.tv_sec); > > + if (end.tv_usec >= start.tv_usec) { > > + usec = (int)(end.tv_usec - start.tv_usec); > > + } else { > > + sec -= 1; > > + usec = (int)(end.tv_usec + 1000000 - > start.tv_usec); > > + } > > + fprintf(stderr, "\nElapsed time: %d.%06d > sec\n", sec, usec); > > + } > > + > > SG(server_context) = NULL; > > php_module_shutdown(TSRMLS_C); > > sapi_shutdown(); > > > -- > Patches/Donations: http://pecl.php.net/~jani/ > > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php