Что хороший путь состоит в том, чтобы измерить время выполнения кода в VBScript?
Или сбой этого, как сделать это в JavaScript?
Для VBScript можно использовать таймер:
StartTime = Timer()
EndTime = Timer()
Response.Write("Seconds to 2 decimal places: " & FormatNumber(EndTime - StartTime, 2))
или ASP Profiler (то есть для окружения ASP.)
Для JavaScript можно использовать Date:
var start = new Date().getTime()
alert("Milliseconds: " + (new Date().getTime() - start))
Firebug также имеет профилировщик для JavaScript.
.Для JavaScript я бы порекомендовал использовать профайлер, подобный встроенному в Firebug:
(исходник: getfirebug. com)
Другая альтернатива может быть та, которая включена в Google Chrome, или IE8
Если вы хотите сделать это программно, вы можете использовать объекты Date
для получения разницы во времени:
var startTime = new Date();
// ...
// ...
var endTime = new Date();
var delta = endTime - startTime; // difference in milliseconds
Это - отличная статья о времени JavaScript, из книги "Даже более быстрые сайты". Две вещи, которые следует помнить, это то, что объекты JavaScript Date часто имеют разрешение до 15 мс (это варьируется в зависимости от браузера и операционной системы), и большинство профайлеров имеют эффект наблюдателя. Обратите внимание, что Google Speed Tracer (новый со времени публикации статьи) заканчивает процесс и собирает данные асинхронно, чтобы минимизировать эффект наблюдателя.
.d = new Date();
x = 0;
for (i = 0; i < 1e7; ++i) { x += i; }
d2 = new Date();
d2 - d
12296
Используйте объект Date
, который возвращает значениеOf()
в миллисекундах с 1 января 1970 года. Затем можно вычитать время, чтобы получить истекшее время в миллисекундах.
Для работы с JavaScript используйте профилировщики Firebug или IE, или бесплатный DynaTrace AJAX-профилировщик редакции.
Это действительно зависит от того, что вы пытаетесь измерить?
Если вы что-то тестируете и хотите знать, как долго проходят определенные отрезки, вы можете просто объявить переменную времени начала и остановки, а затем сделать разницу между ними.....