Форум » » тестинг скорость интерпретаторов. » Ответить

тестинг скорость интерпретаторов.

abcdef: прямое чтение из файла, а также добавление дополнительной логики в критичные по скорости участки aurq привело к созданию простого теста для сравнения работы с другими urq, результатами был удивлен, оказывается aurq не самый медленный интерпретатор. ___ вот результаты: urq_dos 301104 windows - 15 сек. _ aurq_win 0092 - 2 мин. 40 сек. _ fireurq 101 - 5 мин ___ замеры времени с погрешностью в пару секунд, на вашем компьютере скорость может быть другой, но в процентном соотношении не изменится. Также скорость работы только применительно к данному случаю. Предлагайте свои вариант тестов и пишите о их результатах текст теста: _____ :init pln тест скорости! засеките время и нажмите клавишу... anykey i=0 goto repeat end :common end :repeat i=i+1 instr sys=ok#i$ if i<999999 then goto repeat pln Конец. end

Ответов - 27, стр: 1 2 All

abcdef: запуск этого же теста на другом компьютере: urq_dos - 0.37 мин. aurq_win - 9.08 мин. fireurq - 13.40 т.о. разброс скорости aurq зависит от времени считывания данных из файла, скорости жесткого диска, и работы других программ интенсивно-использующих диск

Хломидоманад: Во как, Досурка - самый быстрый интерпретатор О_о Только я собрался переписывать волновой алгоритм под фурку %/

qwerty: на моём компе этот тест: :init pln тест скорости! засеките время и нажмите клавишу... anykey i=0 goto repeat end :common end :repeat i=i+1 instr sys=ok#i$ if i<999999 then goto repeat pln Конец. end fireurq : 5мин 25сек dosurq : 0мин 15сек AkURQpre1: 9мин 0сек AkURQpre6: 11мин 10сек UPD интересно, какую скорость в подобном тесте показал бы ТОМ


abcdef: поэтому для всех интерпретаторов, кроме urq_dos, справедливо утверждение: часто выполняемые локации, или локации содержащие циклы необходимо располагать в самом начале квеста, чтобы быстрее происходил поиск меток

ASBer: офтоп: input("тест скорости! засеките время и нажмите enter...") for(var i=0; i<1000; i=i+1) for(var j=0; j<1000; j=j+1) {} %конец На ТОМе это выполняется 1 минуту 10 секунд. UPD и это еще без преобразования в байт-код...

fireton: Мда. Скоростью работы фурке никто еще не пенял. :) Впрочем, если скорость критична, можно и оптимизировать. Я специально по скорости ничего не делал еще.

ASBer: abcdef пишет: часто выполняемые локации, или локации содержащие циклы необходимо располагать в самом начале квеста, Оо! а кто мешает при загрузке пробежать по файлу и создать в памяти таблицу меток??

abcdef: ASBer - такую скорость, как указал, можно получить, если считать весь файл квеста в память, aurq не создает таблицу меток и не считывает все сразу потому что проектировалась с минимальным расходом памяти, и работу на ограниченных сотовых. Для оптимальной скорости на этапе сборки квест разбивается по меткам в нумерованные файлы ресурсов. ___ кстати у тебя немного не честный тест - надо делать не пустой цикл. у меня например в нем строка создается.

noname: ASBer, во-первых в тесте abcdef в цикле в строковую переменную sys заносятся значение ок#i$(т е "ок1", "ок2", ... "ок999999") естественно, модификация переменной и производимые нехитрые вычисления слегка утяжеляют цикл во-вторых, не ясно какой результат покажут фурка и досурка на твоём компе(для сравнения) fireton, это же твой триумф: из готовых urq-платформ, с поддержкой графики, твоя фурка- самая быстрая. в два раз быстрее Акурки // хотел бы я увидеть интересный квест, в котором была бы важна скорость вычислений... что бы это могло быть?

fireton: ASBer, конечно, таблица меток создается. Ты же не думаешь, что я просматриваю файл каждый раз сначала? ;) noname, ну вон Хломид расстраивается, что его волновой алгоритм будет медленно работать. По хорошему, надо, конечно, пройтись профайлером... Руки дойдут - сделаю.

ASBer: noname пишет: естественно, модификация переменной и производимые нехитрые вычисления слегка утяжеляют цикл добавил вычисление и присвоение строки - получилось 2мин 20сек. [pre2] input("тест скорости! засеките время и нажмите enter...") for(var i=0; i<1000; i=i+1) for(var j=0; j<1000; j=j+1) { var sys = "ok"+i*j } %конец[/pre2] noname, попробуй плиз на своем компе прогнать... fireton, про табличку я abcdefу говорил

qwerty: последняя версия ТОМ v.0.9.2.1 beta: 2мин 15сек на тесте input("тест скорости! засеките время и нажмите enter...") for(var i=0; i<1000; i=i+1) for(var j=0; j<1000; j=j+1) { var sys = "ok"+i*j } %конец

fireton: В версии 1.0.2 удалось улучшить результат до 1 мин. 40 сек.

qwerty: на моём компе, скачанный сегодня в соотв теме SURQ показал скорость 1мин 25сек честно, - не ожидал! думал, будет гораааздо медленнее впрочем, надо ещё посмотреть, что он умеет из стандартных фунций

abcdef: тест работы с переменными http://forum.ifiction.ru/viewtopic.php?pid=15416#15416

abcdef: проверил на интерпретаторах скорость первого теста: urq_dos301104win - 0.33; fireurq102 - 5.33 (для сравнения fireurq101 - 12.07); aurq0092 - 8.28; SURQ - программа не запустилась. fireton молодец! теперь сделал быстрее самого медленного интерпретатора (aurq); наверное теперь весь квест в память грузит? А сможешь подкоректировать перерисовку окна, а то виснет в тестах намертво: окно не передвинуть и сохраняется отпечаток другого окна

Nolite: результаты на Core2Duo E6320 (1.86 ГГц, 4 mb): SURQ, скачанная с этого форума - 44 сек fireurq102 - 2:20 aurq0092 - 3:48 abcdef, твой результат запуска SURQ меня удивил. У тебя нет нужной версии .NET или дело в другом?

qwerty: abcdef приводит результаты теста с разных компов(пока насчитал 2-а). в последнем его сообщении не указано, на каком из компов проводились тесты Nolite приводит тоже приводит удивительные результаты. это может объясняться тем, что в теме выложены 2-а теста, а какой тест он гонял- не указано я гонял только первый тест(для ТОМ тест был другим) и только на одном компе: CPU Athlon 64X2 Core2Duo 4200+ 2.20GHz RAM 2Gb щаззз скачаю фурку1.0.2 и выложу результат

qwerty: fireurq102 на первом тесте: 3мин 25сек (fireurq101 было 5мин 25сек) хмм. что-то у меня результаты вообще ни с кем не сходятся // ах да, забыл указать ОС: WinXP Professional v2002 SP2

abcdef: тесты проводил на 3-х разных компах. winXP (noSP /SP1 /SP2) + drivers. без лишних программ, конфигурация Intel Pentium/Celeron 1800. Обьем памяти для таких программ не критичен. Как правильно минимизировать погрешность: перезагрузить компьютер; дождаться когда загрузятся все компоненты системы; запустить тест; подождать около минуты для инициации интерпретатора и нормализации системы; повторить запуск (без перегрузики системы) других интерпретаторов. измерения проводить 3 раза, брать средний результат. p.s. но я так не делал - терпения не хватало. если для работы программы требуется дополнительные компоненты - необходимо писать о них в документации

Nex: вы лучше вычисляйте в процентах от досурки - её менять никто не будет. тогда и результаты должны сойтись.

qwerty: abcdef пишет: измерения проводить 3 раза, брать средний результат вообще, если тест показывает существенно различную скорость при повторах- надо бы об этом тоже написать на моём компе тест каждый раз даёт один и тот же результат, так что в корректности своих результатов я уверен (впрочем: надо будет когда-нить перепроверить все ещё раз) точность моих тестов 5сек объясняется погрешностью замера, скоростью моей реакции(пока чашку кофе поставлю, пока то да сё) судя по результатам теста, разница в пару секунд не существенна- всё равно досурка останется самой быстрой и т д - т е распределение интерпретаторов по местам в завис-ти от скорости от этого не изменится

Nolite: abcdef пишет: измерения проводить 3 раза, брать средний результат Все равно это не финальные версии, позже результаты могут быть совсем другие. если для работы программы требуется дополнительные компоненты - необходимо писать о них в документации Согласен, мне нужно написать документацию.

noname: Хломидоманад пишет: Во как, Досурка - самый быстрый интерпретатор О_о Только я собрался переписывать волновой алгоритм под фурку %/ как быстро найти путь м/ду двумя точками в лабиринте я писал здесь: http://urq.borda.ru/?1-0-60-00000213-000-60-0-1210247699 если что не понятно- спрашивайте ЗЫ собирался сам написать пример. это совсем не сложно. НО пока соберусь с духом- тыщу лет пройдёт

abcdef: "...все равно это не финальные версии..." - а финальных версий интерпретаторов в языке urq ни когда и не будет, с его-то теперешним синтаксисом...

Nex: Досурка вполне себе финальная.

qwerty: Мы в этой теме неправильно скорость измеряли. Мы измеряли скорость выполнения готовой задумки, а для текстовых квестов куда важнее измерить время, требуемое для реализации задумки на данной платформе.



полная версия страницы