I am planning to add performance tests for DOM attribute getters and setters in order to catch a performance regression in JavaScriptCore/V8 bindings, like bug 76492. I would like to add the following two tests for each DOM attribute in HTMLElement.idl, Element.idl and Node.idl, which will most impact on the DOM performance in the real Web: PerfTestRunner.run(function() { var div = document.createElement("div"); for (i = 0; i < repeatTimesOfGetter; i++) div.id; } PerfTestRunner.run(function() { var div = document.createElement("div"); for (i = 0; i < repeatTimesOfSetter; i++) div.id = "foo"; } Actually, a setter traces a different call path depending on whether the assigned string is an empty, one character, or more than one characters. However, I guess that the test case worth adding would be just a string composed of more than one characters (e.g. "foo").
Created attachment 128432 [details] Patch
If the patch is OK, I will roll out r108477.
Created attachment 128433 [details] Patch
Comment on attachment 128433 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=128433&action=review > PerformanceTests/resources/runner.js:15 > + this.log("Debug: " + text); Please rename it to Info: instead since this is an extra information you provide.
Created attachment 128590 [details] patch for landing
The commit-queue encountered the following flaky tests while processing attachment 128590 [details]: perf/object-keys.html bug 63769 (author: ojan@chromium.org) The commit-queue is continuing to process your patch.
Comment on attachment 128590 [details] patch for landing Clearing flags on attachment: 128590 Committed r108748: <http://trac.webkit.org/changeset/108748>
Ugh... this one too :( dom_attributes should be dom-attribute. I'm renaming that now.
Renamed in http://trac.webkit.org/changeset/108846.