Skip to content

Instantly share code, notes, and snippets.

@arantius
Last active February 19, 2016 19:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arantius/2e385ac853260c4e6612 to your computer and use it in GitHub Desktop.
Save arantius/2e385ac853260c4e6612 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name GM_getResourceText Test
// @namespace https://github.com/arantius
// @include *
// @version 2
// @grant GM_getResourceText
// @resource t https://github.com/greasemonkey/greasemonkey/issues/2346
// @require http://cdnjs.cloudflare.com/ajax/libs/mathjs/2.7.0/math.min.js
// ==/UserScript==
var NUM = 250;
console.log('Running GM_getResourceText test; NUM =', NUM);
performance.setResourceTimingBufferSize(NUM + 25);
performance.mark('absoluteStart');
for (var i = 1; i <= NUM; i++) {
performance.mark('sampleStart');
GM_getResourceText('t');
performance.mark('sampleEnd');
performance.measure('sample', 'sampleStart', 'sampleEnd');
performance.clearMarks('sampleStart');
performance.clearMarks('sampleEnd');
}
performance.mark('absoluteEnd');
performance.measure('absolute', 'absoluteStart', 'absoluteEnd');
var absoluteMeasure = performance.getEntriesByName('absolute')[0];
var samples = [];
for (var i = 0, es = performance.getEntriesByName('sample'); e = es[i]; i++) {
samples.push(e.duration);
}
console.log('Over', NUM, 'samples', absoluteMeasure.duration, 'total time.');
console.log(
'min =', math.min(samples),
'max =', math.max(samples),
'mean =', math.mean(samples),
'median =', math.median(samples),
'std =', math.std(samples)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment