Я всегда писал программы ASP небрежно, не уделяя особого внимания эффективности работы. ASP достаточно толерантен к синтаксису и имеет высокую отказоустойчивость. Его можно использовать напрямую, без определения переменных. Имена переменных не должны различать буквы верхнего и нижнего регистра, а также не так чувствительны к буквам верхнего и нижнего регистра. JSP Поэтому среди множества языков, с которыми я сталкивался, asp — наименее строгий и с самыми низкими требованиями к программистам.
Вчера я протестировал сравнение скорости работы asp.net, php и asp. Сегодня мне захотелось посмотреть, какое влияние оказывают определенные и неопределенные переменные на эффективность работы asp. Результаты поразительны. Программа asp лучше определяет переменные. чем неопределенные переменные, в два раза быстрее!
Тестовая программа по-прежнему та же, что и вчера: цикл for выполняется 10 миллионов раз, чтобы получить время выполнения.
1. Программа не определяет переменные (dim i)
Скопируйте код кода следующим образом:
<%
тусклое время начала
время начала = таймер()
для я = от 1 до 10000000
следующий
тусклое последнее время
время окончания = таймер()
ответ. Время выполнения страницы записи: & FormatNumber((endtime-starttime)*1000,3) & миллисекунды
%>
2. В программе определяются переменные (dim i)
Скопируйте код кода следующим образом:
<%
тусклый я
тусклое время начала
время начала = таймер()
для я = от 1 до 10000000
следующий
тусклое последнее время
время окончания = таймер()
ответ. Время выполнения страницы записи: & FormatNumber((endtime-starttime)*1000,3) & миллисекунды
%>
Каждая программа выполняется 5 раз (кроме первого выполнения), а затем берется среднее значение. Ниже приведены результаты испытаний:
Определить переменные | Время выполнения | среднее время | ||||
нет | 1890 мс | 1859 мс | 1844 мс | 1875 мс | 1859 мс | 1865 мс |
да | 890 мс | 890 мс | 984 мс | 875 мс | 890 мс | 905 мс |
Из приведенных выше результатов теста видно, что скорость выполнения asp в два раза выше при определении переменных, чем при отсутствии определения переменных.
Что касается того, почему это так, я не изучал его дальше. Однако благодаря этому примеру я действительно чувствую, что стандартизированное программирование может сделать программу более эффективной. Для нестандартного программирования, хотя сам язык и отказоустойчив, процесс анализа требует времени. Конечно, для простой программы разница во времени между стандартизацией и нестандартизацией может быть минимальной, но если разрабатываемая вами система относительно велика, со множеством страниц и вызовов функций, то разница между стандартизацией и нестандартизацией будет составлять Разница в расходе времени будет выделена от 1-2 раз до десятков раз.