Фактический вопрос внизу... сначала немного справочной информации:
Я работаю над инструментом, который преобразует PHP-код в Scala. Как один из последних штрихов, я нуждаюсь в действительно хорошем (er, несколько предвзятом) эталоне.
Невероятно, моя первая тестовая попытка была связана с некоторым кодом, который широко использует bcmath, который, к сожалению, на 1000 раз медленнее в Java, делая код Scala в 22 раза медленнее, чем исходный PHP.
Итак, я ищу какой-то осмысленный PHP-тест со следующими характеристиками:
- Источник PHP должен находиться в одном файле.
- Он должен решить реальную или научную проблему. Нет глупых циклов по пустым методам и т.д.
- Мне нужно, чтобы это было просто настроить - никаких баз данных, трудно найти входные файлы и т.д.
- Он должен быть однопоточным (к сожалению, большинство тестов в CLBG теперь многопоточные)
- Рекомендуется использовать простой текстовый ввод и вывод.
- Он не должен использовать медленные функции Java (BigInteger, тригонометрические функции и т.д.).
- Не следует использовать экзотерические или динамические функции PHP (например, нет "eval" или "var vars" ).
- Он не должен чрезмерно полагаться на встроенные библиотеки, например. MD5, crypt и т.д. - потому что я хочу сравнить качество преобразования PHP-to-w2 > , а не качество реализации библиотеки.
- Это не должно быть связано с вводом-выводом. Предпочтительным является алгоритм, зависящий от процессора.
- В принципе, интенсивные операции OO, целые и строковые манипуляции, рекурсия и т.д. были бы замечательными.
Я уже проверил два популярных источника, но нет ничего, что бы соответствовало критериям:
- CLBG: http://shootout.alioth.debian.org/ - все многопоточное - ничего хорошего.
- PHP Bench: http://www.phpbench.com/ - микро-тесты, нет реального мира - нет хорошего
- PHP.NET RFC: лучшие тесты: http://wiki.php.net/rfc/better_benchmarks - некоторая полезная информация здесь, но в конечном итоге ничего не найдено.
Итак, без лишних слов, актуальный вопрос:
Существует ли существующий код кода с открытым исходным кодом, который соответствует вышеуказанным критериям в качестве эталона производительности?
Спасибо