![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Captain Blood |
|
|||
Unregistered |
Меня интересует вот какой вопрос. Какие методы известны, чтобы ускорить выполнение скриптов? Приведу для примера некоторые из них:
- Сокращение кода. Чем меньше объем программы, тем быстрее она будет интерпретирована браузером. - Редкое использование рекурсии. Рекурсия нагружает браузер и он медленнее обрабатывает скрипт. - Отстуствие ошибок. Любые ошибки вообще зло, но пока браузер их прочухает, он затратит время на их обработку. - JavaScript медленно работает с большими массивами. Большим будем считать массив с числом элементов больше ста. |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Многие операторы работают с разной скоростью, хотя и выполняют одну и туже задачу... Та что использовать самые "скоростные"
Это сообщение отредактировал(а) Red Dragon - 25.5.2004, 07:39 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Писать хорошо, использовать быстрые алгоритмы.
Это не правда, как и в обычной программе все зависит от количества памяти на машине.
В JS это вообще то фатально, т.к. try{} catch(){} народ не очень любит использовать... Сам еще не встречался с ситуациями требующими обработку исключений. Оптимизация на операторах и вызовах функций есть ловля блох, выигрыш в микросекундах. Надо строить правильно логику программы и главное помнить что это интерпретируемый язык, а следовательно многие вещи упрощенны. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
Счастливый ты человек... :-)))) |
|||
|
||||
Captain Blood |
|
|||
Unregistered |
Насчет исключений согласен, что они не особо нужны. Но! Это только для программ, которые тщательно отлажены и проверены в разных браузерах. Или небольших по объему и простых по смыслу.
|
|||
|
||||
Captain Blood |
|
|||
Unregistered |
Насчет больших массивов сам проверял с помощью небольшого скрипта, который фиксирует время работы страницы, - тормозят.
По поводу операторов, как мне кажется, прав Sardar - выигрыш по скорости если и есть то весьма незначителен. |
|||
|
||||
Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Просто привычка... ![]() Я действительно хорошо отлаживаю скрипты и заранее узнаю кто будет на странице кроме меня, так что сюрпризов не жду. С левыми браузерами поступай просто: если работает в Мозилле, Опере и ИЕ то все ОК.
Смотря что именно с массивами делал, я заметил тормоза только у функции splice, в случайном месте в середине массива вставлялось 400 элементов. Но я пока редко встречал задачу требующую больших массивов(единственный раз когда blowfish на JS делал). А простой перебор будет тормозить везде.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |