Форум сайта python.su
Написал оценщика, который использует pystones в качестве бенчмарка (идет в комплекте). Он просто сравнивает время выполнения бенчмарка с временем выполнения участка кода по формуле: рейтинг = времяВыполненияКода / времяВыполненияБенчмарка. Таким образом получается псевдоплатформонезависимая оценка производительности.
Скачать
При запуске main.py выведет тестовый рейтинг, который теоретически должен быть одинаковым на любой машине. Посмотрите, пожалуйста, кому не лень.
Для оценки произвольного кода используется следующим образом:
cr = CodeRater().start()
...здесь оцениваемый код...
print cr.stop() # выведет рейтинг
Отредактировано (Окт. 2, 2009 18:41:13)
Офлайн
Я юзаю тройку :)
Подредактировал pystones, подредактировал твой код.
Тестовый код поменял на list(range(…)) Ибо иначе деление на ноль в твоём коде.
Получил 166
На 2.6 получил 246.81
Отредактировано (Окт. 2, 2009 18:23:33)
Офлайн
У меня на 2.6 если range заменить на list(range), то около 262 выдает.
А в каком месте деление на ноль получается? Я вроде делю только на константы. Я его кстати немножко подредактировал, скачай новый.
Отредактировано (Окт. 2, 2009 18:39:09)
Офлайн
В 2.6 я ничего не менял. Просто в тройке range это xrange. Соответственно выполняется мгновенно. Потому и поменял на list().
Там где ты определяешь итоговое значение. Если код выполняется очень быстро то delta == 0.
Отредактировано (Окт. 2, 2009 18:41:34)
Офлайн