Возможно. Зависит от того, под чем Вы подразумеваете "лучше".
, Если Вы просите "лучшее" решение с точки зрения функциональности , тогда это - в значительной степени она.
, Если Вы просите "лучшее" в смысле "менее неловкой" нотации , затем знайте, что, в скалярном контексте, Time::HiRes::gettimeofday()
возвратит плавающие секунды с эпохи (с микросекундами представления дробной части), точно так же, как Time::HiRes::time()
(который является хорошей общедоступной заменой для стандарта time()
функция.)
my $start = Time::HiRes::gettimeofday();
...
my $end = Time::HiRes::gettimeofday();
printf("%.2f\n", $end - $start);
или:
use Time::HiRes qw( time );
my $start = time();
...
my $end = time();
printf("%.2f\n", $end - $start);
Вы можете добавлять функции / классы в PHP, запрограммированные на C (и вы можете обернуть класс C ++ из C, если я правильно помню из статьи, которую я прочитал некоторое время назад) , что может позволить вам делать некоторые вещи быстрее - если хорошо запрограммировано: нет необходимости в интерпретации кода PHP; только выполнение машинного кода, который, как правило, намного быстрее.
Для этого вам необходимо разработать расширение PHP .
В Интернете не так много ресурсов, посвященных этому , но это может помочь вам начать:
И, в частности, о части C ++, это тоже может помочь:
Если вас действительно интересует эта тема, и вы готовы потратить на нее немного денег , вы также можете купить книгу Расширение и встраивание PHP ( некоторые страницы также доступны для предварительного просмотра в Google Книгах ) ; Я пару раз видел, что это была книга , которую стоит прочитать, если заинтересовался этой темой (Фактически, я купил ее некоторое время назад, и это интересное чтение)
Кстати,
На самом деле вы можете выполнять скомпилированные приложения без какого-либо API:
$output = exec('/path/to/yourapp');
Кроме того, вы всегда можете написать расширение PHP. Здесь есть хорошее руководство по этой теме: http://devzone.zend.com/article/1021
swig, упрощенная оболочка и генератор интерфейсов могут помочь вам обернуть (существующий) c ++ в модуль php.
SWIG - это инструмент разработки программного обеспечения, который соединяет программы, написанные на C и C ++ с множеством языков программирования высокого уровня. SWIG используется с разными типами языков, включая распространенные языки сценариев, такие как Perl, PHP, Python, Tcl и Ruby.
Ну, вы не определили, что вы пытаетесь это сделать, но если вам нужен интерфейс C ++, затем просмотрите каталог ext в исходном коде, чтобы понять, как написать расширение PHP, которое затем можно загрузить и использовать из своих сценариев PHP.
Пара ссылок, которые могут помочь:
http: // www. devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021