аукцион / FPR / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

Скорость или надежность скриптов?

[6 мая 2004 | 10 мая 2004 | 16 мая 2004]

Какие основные требования к скрипту? Чтобы он выполнялся быстро или надежно? Почти на всех форумах о программировании (прошу прощения, скриптовании) я встречаю лозунги о том, что скрипт должен выполняться очень быстро. При всем этом, даваемые на этих форумах примеры содержат недопустимые для использования куски кода. И не всегда эти примеры бывают быстрыми. Однажды я искал как преобразовать строку типа «%E4%E5%EB%FC%F4%E8%ED%FB» в читабельный вид. Нашел с десяток примеров, почти все они были реализованы на преобразовании строки в массив, потом в этом массиве шло преобразование из шестнадцатеричной системы в десятичную, а затем производилось слияние ячеек массива в строку. По скорости это совершенно не оптимально. По надежности можно поспорить, но работа с массивами часто приводит к внутренним ошибкам интерпретатора. Потом я нашел как это было реализовано Майкрософтом. Что ж, мне понравился их подход. Они разбивали строку до символа «%», переводили следующие два символа в десятеричную систему счисления и делали это до тех пор, пока присутствовали знаки процента в строке. Но я пошел своим путем. Т.к. мне нужно было записывать результаты в БД, а среди посетителей моего сайта много шутников, которые могут передать в скрипт какую-нибудь некорректную строчку, чем создадут аварийную ситуацию на сервере... вот я и переделал майкрософтовский вариант в более надежный и более быстрый (мой метод выигрывает в случае когда используется не английский текст, а русский). Я воспользовался оператором for и парсил строку до тех пор пока не заканчивалась строка.

Вообще, когда дело касается БД, на первый план выходит не скорость, а надежность. Ведь некорректным запросом можно «положить» любой сервер баз данных. Можно случайно удалить парочку таблиц или очистить всю БД.

Кстати, я тут перебирал некоторые процедуры, которые используются на моем сайте и выяснил, что многие из них избыточны. Взял и оптимизировал их... потом еще немного оптимизировал... посчитал выигрыш в скорости и оказалось, что я расходовал 25%-50% ресурсов сервера сверх необходимого. Осталось, как-нибудь, оптимизировать функцию отсеивания спамеров в ГК. Ну где это видано, чтобы роботы делали записи в ГК? Вот я их и блокирую, а они пытаются обходить эти блокировки (иногда очень успешно). Эх, может разрешить оставлять записи только зарегистрированным пользователям?

Отредактировано:2020-10-02 09:32:18


Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика