Skip to content

Instantly share code, notes, and snippets.

@siakaramalegos
Created August 30, 2018 07:44
Show Gist options
  • Save siakaramalegos/f53e6df5004222ef952c97bd63c354fe to your computer and use it in GitHub Desktop.
Save siakaramalegos/f53e6df5004222ef952c97bd63c354fe to your computer and use it in GitHub Desktop.
Custom timings demo from Harry Roberts
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Blocking</title>
<script>
performance.mark('startAsyncSnippet');
console.timeStamp('startAsyncSnippet');
var script = document.createElement('script');
script.src = "https://slowfil.es/file?type=js&delay=1000";
document.getElementsByTagName('head')[0].appendChild(script);
performance.mark('endAsyncSnippet');
console.timeStamp('endAsyncSnippet');
</script>
<script>
performance.mark('startCSS');
console.timeStamp('startCSS');
</script>
<link rel="stylesheet" href="https://slowfil.es/file?type=css&delay=1000" />
<script>
performance.mark('endCSS');
console.timeStamp('endCSS');
</script>
<!--
<script>
performance.mark('startScriptTag');
console.timeStamp('startScriptTag');
</script>
<script src="https://slowfil.es/file?type=js&delay=1000&regular"></script>
<script>
performance.mark('endScriptTag');
console.timeStamp('endScriptTag');
</script>
<script>
performance.mark('startScriptTagAsync');
console.timeStamp('startScriptTagAsync');
</script>
<script src="https://slowfil.es/file?type=js&delay=1000&async" async></script>
<script>
performance.mark('endScriptTagAsync');
console.timeStamp('endScriptTagAsync');
</script>
<script>
performance.mark('startSlowJS');
console.timeStamp('startSlowJS');
// Slow JS
function wait(ms) {
var start = Date.now(),
now = start;
while (now - start < ms) {
now = Date.now();
}
}
console.log('one');
wait(1000);
console.log('two');
performance.mark('endendSlowJS');
console.timeStamp('endendSlowJS');
</script>
<script>
performance.mark('DONE');
console.timeStamp('DONE');
</script>
-->
</head>
<body>
<h1>Hello, World!</h1>
<script>
performance.mark('titleRendered');
console.timeStamp('titleRendered');
</script>
<script>
var perfEntries = performance.getEntriesByType("mark");
for (var i = 0; i < perfEntries.length; i++) {
if (window.console) console.log(perfEntries[i].name + ": " + perfEntries[i].startTime + "\n");
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment