Итак, я запускаю свой самый первый клиентский проект на основе браузера HTML5.Он собирается разбирать очень, очень большие текстовые файлы, по сути, на массив или массивы объектов.Я знаю, как я собираюсь кодировать это;Моя главная задача сейчас - получить код синтаксического анализатора так быстро, как я могу его получить, и моим основным испытательным стендом является Chrome.Однако, глядя на различия между методами подстрок (я не касался JavaScript в течение долгого времени), я заметил, что этот тест был невероятно медленным в Chrome по сравнению с FireFox.Почему?
Мое первое предположение состоит в том, что это связано с тем, как движок JF в FireFox будет обрабатывать строковые объекты, и что для FireFox эта операция является простой манипуляцией с указателем, а для Chrome она фактически делает печатные копии.Но я не уверен, почему Chrome не будет манипулировать указателем или почему FireFox будет .У кого-нибудь есть понимание?
JSPerf, похоже, выдает результаты моего FireFox, а не отображает их в BrowserScope.Для меня я получаю 9,568,203 ± 1,44% операций в секунду на .substr()
в FF4.
Редактировать: Таким образом, я вижу результат производительности FF3.5 на самом деле ниже Chrome.Поэтому я решил проверить свою гипотезу указателей.Это привело меня к 2-й ревизии моего теста Substrings, который выполняет 1,092,718±1.62%
операций в секунду в FF4 по сравнению с 1,195±3.81%
операций в секунду в Chrome, снизившись лишь в 1000 раз быстрее, но все же необъяснимая разницав исполнении.
Постскриптум: Нет, меня не интересует ни один вопрос о Internet Explorer.Я обеспокоен попытками улучшить свои навыки и узнать этот язык на более глубоком уровне.