В этом нет необходимости быть сложным:
<html>
<head>
<script>
var time = new Date();
</script>
<script src="..."></script>
... more scripts ...
</head>
<body>
<script>
document.write("Time: " + String((new Date() - time)/1000) + " seconds");
</script>
</body>
</html>
Скрипты в <head>
обычно загружаются последовательно, поэтому это должен быть разумный метод для измерения времени выполнения скрипта.Если у вас есть сценарии, выполняющие форму <body onload="...">
, то выполняйте вычисление прошедшего времени в конце этой функции, а не в конце тела.
Этот метод не будет измерять время выполнения для "асинхронных" функций, выполняемых с помощью setTimeout
или setInterval
, но они не должны учитываться во время загрузки.
Альтернатива и, возможно, более простой вариант - использовать встроенный в Chrome или веб-инспектор Safari профилировщик javascript.