Sergei I. Gorelkin писал(а):Если SAVE_INTS - массив shortstring (а string[4] - это shortstring), то в они в цикле преобразуются в ansistring, причем два раза - один при добавлении, другой при чтении...
Но вообще 3.5 секунды на, грубо говоря, цикл из 2000 итераций - это какая-то совсем уж хрень. Тут нужно разбираться.
Кстати, в менеджере памяти удалось найти, хм, недоработку, из-за которой при определенных обстоятельствах его скорость падает практически в 10 раз. И очень может быть, что этот глюк проявляется и в этом тесте...
Поставил IntToStr, скорость такая же, ну короче - это мили-мили, я делал тесты shortstring -> string у меня на скорость влиял, за счет кеширования я увеличивал в fpc скорость выполнения этой функции в 3 раза, там тоже массив из shortstring.
Но я кстати скажу, в делфи тоже будет не быстрее чем в пхп. Так что здесь не только в менеджере памяти дело, возможно надо как-то улучшать реализацию хеш-таблицы. У меня получалось увеличить скорость, она приближалась к php, но если отбросить интерпретацию все равно отставала по скорости.
И там не 2000 итераций, а 2000 * 1000 это 2 млн.
Ради прикола протестил тот код у себя в скрипт-движке, даже у меня он выполняется за 3700 mlsec, и это же жесть, практически такая же скорость как у fpc, только у меня своя хеш-таблица, расходы на интерпритацию примерно 1000 млсек, в итогде примерно на таблицу тратится 2700 mlsec.