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

Reply via email to