A while ago, we noticed that Firefox has an optimization that actually checks to see if the string passed into innerHTML contains any html, skipping the parsing stage if it doesn't and saving a lot of time by doing that. Details can be seen on crbug.com/785166We currently have a CL that will be merged soon on crrev.com/c/813448, for the specific case of innerHTML='' (setting innerHTML as empty/removing all children). Mozilla's version, however, optimizes for strings with length under 100 (it's limited because making sure that the string doesn't contain any markup takes time).
I'm not sure why they chose 100 exactly, but I did some comparison of various length limits (0/empty strings only, 10, 50, 100, 500, infinite) applied to our version of the optimization, and the results are here: https://docs.google.com/spreadsheets/d/1hY59uTeMhJNUZsXuawJdo0AKurwWuxhCITP0oGtIhtA/edit?usp=sharing. I used Speedometer (http://browserbench.org/Speedometer/) and a self-made simple JS test (http://jsbin.com/yelahemisu).
Some of my interpretation of the data:
- On speedometer: there aren't really a lot of difference between various length limits, though it seems the sweet spot is to limit it to really short strings around 10 characters.
- On my JS test, all speedup are compared to vanilla/no optimization version: innerHTML="" optimization (empty-string only optimization) speeds up the operation by 17x and makes almost every case faster except on strings with length >= 500, somehow. But the slowdowns are all around 1.06-1.1x.
- When the change is only a few characters, all non-empty limit gives a sizeable speedup (1 char string -> 5x speedup, 8 char string -> 8-9x speedup) but slows down by around 1.2x when the string has markup (fail to optimize, markup check already spent some time)
- When the length limit is big (100, 500, infinite), changes of longer string with no markup (~100chars) experiences 4-5x speedup, but I'm not sure how often a long string with no markup will show up in real life. It also seems to peak around 100 chars, as the speedup on strings with no markup of length 500&1000 is only around 2x.
- On most cases, If the string turns out to have markup, the slowdown is around 1.06x - 1.1x (I am not sure know how bad that is)
With that, I'm asking for opinions from people in blink-dev. I'm not really sure about what length limit to choose, especially considering setting innerHTML to long strings with no markup might be a rare case. I'm also not sure about my intrepretation of the Speedometer result.Any thoughts will be welcome! If my data sheet is not clear, I'll also be happy to clarify it.Regards,Rakina
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4Uu423MP%3Ded%2Buoo2N72BxxWaTtfO0fjhYC2ShdxneWxA%40mail.gmail.com.
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
One thing to keep in mind is that setting innerHTML is considered a dangerous anti-pattern if you are just setting the text content of the node. (You can just use textContent instead).
Are we able to change the speedometer benchmark to set the textContent instead if this is just plain text?(The empty string optimization looks good however, and setTextContent already has a similar optimization).
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
It sounds like that you're just gaming micro-benchmarks. From that perspective, I don't have any strong opinion on this -- can we just choose one of the reasonable values (e.g., 100)? If you think that the number is critical for real-world applications, we can experiment with multiple numbers using Finch but I'm not sure if it's worth doing.
Some general feedback from having worked on the JavaScript parser: Micro-optimizations like these can pay off big-time, but they also have drawbacks in terms of code complexity, and in terms of "performance cliffs" (where a web developer makes an inconspicious change that pushes their code just outside of the optimization's pre-conditions and then performance tanks in mysterious ways). Moreover, they might be curing a symptom that would better be fixed in the underlying parser itself.
In this case: I'd assume that the HTML parser doesn't actually need to do a whole lot of work for a source string without markup. Like a custom does-this-contain-any-html check, it needs to skip to the beginning of the first tag or character entity, and that's fundamentally the same work as the custom check. If that bit of the parser can be made as fast as a custom version (and e.g. additiional initialization worked deferred to only where it's needed), then you'll likely end up with an optimization that applies more widely and is more "performance stable".
One thing to keep in mind is that setting innerHTML is considered a dangerous anti-pattern if you are just setting the text content of the node. (You can just use textContent instead).
I'm supportive of taking this route: encourage authors to use textContent= instead, and have optimization path for empty string only.
There might be reasons for a script developer to use innerHTML for text since only innerHTML will decode character entities. Nudging a script developer to use the pure text path whenever such a string has no character entities sounds unhelpful since they might have to themselves scan the string in JS before selecting what property to set.
I think the optimization to not start the HTML parser for pure text makes a lot of sense. Whether to scan 64 chars (Presto), 100 chars (Mozilla) or some other number I think don't matter except possibly for some benchmark.
Is this something that the HTML Parser can produce as output and you log a lighthouse warning/violation under these scenarios? That might a a way to encourage authors.
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4U%3DBdrWtXumi75KD4Rc7k2732UxPYtbWVHjF%3DOE68qZg%40mail.gmail.com.
Will this non-empty-but-short optimization code path support HTML entities, or are they considered markup as well?
Here is the result:
Optimizing strings under 100 characters:
VanillaJS-TodoMVC : Adding100Items : Sync: 135.69999998435378 ms VanillaJS-TodoMVC : Adding100Items : Async: 75.30000002589077 ms VanillaJS-TodoMVC : CompletingAllItems : Sync: 76.19999995222315 ms VanillaJS-TodoMVC : CompletingAllItems : Async: 24.70000000903383 ms VanillaJS-TodoMVC : DeletingAllItems : Sync: 50.40000000735745 ms VanillaJS-TodoMVC : DeletingAllItems : Async: 4.100000020116568 ms VanillaJS-TodoMVC : 366.39999999897555 ms EmberJS-TodoMVC : Adding100Items : Sync: 457.2000000043772 ms EmberJS-TodoMVC : Adding100Items : Async: 21.099999954458326 ms EmberJS-TodoMVC : CompletingAllItems : Sync: 224.10000005038455 ms EmberJS-TodoMVC : CompletingAllItems : Async: 20.700000051874667 ms EmberJS-TodoMVC : DeletingItems : Sync: 271.8999999924563 ms EmberJS-TodoMVC : DeletingItems : Async: 4.799999995157123 ms EmberJS-TodoMVC : 999.8000000487082 ms BackboneJS-TodoMVC : Adding100Items : Sync: 129.89999999990687 ms BackboneJS-TodoMVC : Adding100Items : Async: 19.59999999962747 ms BackboneJS-TodoMVC : CompletingAllItems : Sync: 125.89999998454005 ms BackboneJS-TodoMVC : CompletingAllItems : Async: 18.999999971129 ms BackboneJS-TodoMVC : DeletingAllItems : Sync: 126.50000001303852 ms BackboneJS-TodoMVC : DeletingAllItems : Async: 4.499999980907887 ms BackboneJS-TodoMVC : 425.3999999491498 ms jQuery-TodoMVC : Adding100Items : Sync: 250.69999997504056 ms jQuery-TodoMVC : Adding100Items : Async: 20.900000003166497 ms jQuery-TodoMVC : CompletingAllItems : Sync: 476.8000000040047 ms jQuery-TodoMVC : CompletingAllItems : Async: 28.799999970942736 ms jQuery-TodoMVC : DeletingAllItems : Sync: 8.7000000057742 ms jQuery-TodoMVC : DeletingAllItems : Async: 16.500000027008355 ms jQuery-TodoMVC : 802.399999985937 ms AngularJS-TodoMVC : Adding100Items : Sync: 309.9999999976717 ms AngularJS-TodoMVC : Adding100Items : Async: 24.200000043492764 ms AngularJS-TodoMVC : CompletingAllItems : Sync: 186.19999999646097 ms AngularJS-TodoMVC : CompletingAllItems : Async: 19.100000034086406 ms AngularJS-TodoMVC : DeletingAllItems : Sync: 217.99999999348074 ms AngularJS-TodoMVC : DeletingAllItems : Async: 5.800000042654574 ms AngularJS-TodoMVC : 763.3000001078472 ms React-TodoMVC : Adding100Items : Sync: 387.30000000214204 ms React-TodoMVC : Adding100Items : Async: 27.800000039860606 ms React-TodoMVC : CompletingAllItems : Sync: 422.2000000299886 ms React-TodoMVC : CompletingAllItems : Async: 19.19999998062849 ms React-TodoMVC : DeletingAllItems : Sync: 198.7000000081025 ms React-TodoMVC : DeletingAllItems : Async: 4.799999995157123 ms React-TodoMVC : 1060.0000000558794 ms FlightJS-TodoMVC : Adding100Items : Sync: 89.09999998286366 ms FlightJS-TodoMVC : Adding100Items : Async: 18.80000001983717 ms FlightJS-TodoMVC : CompletingAllItems : Sync: 88.09999999357387 ms FlightJS-TodoMVC : CompletingAllItems : Async: 31.299999973271042 ms FlightJS-TodoMVC : DeletingAllItems : Sync: 108.30000002169982 ms FlightJS-TodoMVC : DeletingAllItems : Async: 4.099999961908907 ms FlightJS-TodoMVC : 339.6999999531545 ms FlightJS-MailClient : OpeningTabs50Times : Sync: 246.90000002738088 ms FlightJS-MailClient : OpeningTabs50Times : Async: 16.299999959301203 ms FlightJS-MailClient : MovingEmails50Times : Sync: 1023.700000019744 ms FlightJS-MailClient : MovingEmails50Times : Async: 20.699999993667006 ms FlightJS-MailClient : Sending50NewEmails : Sync: 110.99999997531995 ms FlightJS-MailClient : Sending50NewEmails : Async: 4.200000024866313 ms FlightJS-MailClient : 1422.8000000002794 ms Total : 6179.800000099931 ms
For comparison, optimization for empty string only:VanillaJS-TodoMVC : Adding100Items : Sync: 118.59999998705462 ms VanillaJS-TodoMVC : Adding100Items : Async: 17.80000003054738 ms VanillaJS-TodoMVC : CompletingAllItems : Sync: 63.199999975040555 ms VanillaJS-TodoMVC : CompletingAllItems : Async: 27.200000011362135 ms VanillaJS-TodoMVC : DeletingAllItems : Sync: 52.099999971687794 ms VanillaJS-TodoMVC : DeletingAllItems : Async: 4.200000024866313 ms VanillaJS-TodoMVC : 283.1000000005588 ms EmberJS-TodoMVC : Adding100Items : Sync: 438.4999999892898 ms EmberJS-TodoMVC : Adding100Items : Async: 17.99999998183921 ms EmberJS-TodoMVC : CompletingAllItems : Sync: 207.69999996991828 ms EmberJS-TodoMVC : CompletingAllItems : Async: 14.699999999720603 ms EmberJS-TodoMVC : DeletingItems : Sync: 262.700000021141 ms EmberJS-TodoMVC : DeletingItems : Async: 4.899999999906868 ms EmberJS-TodoMVC : 946.4999999618158 ms BackboneJS-TodoMVC : Adding100Items : Sync: 162.10000001592562 ms BackboneJS-TodoMVC : Adding100Items : Async: 32.69999998155981 ms BackboneJS-TodoMVC : CompletingAllItems : Sync: 168.40000002412125 ms BackboneJS-TodoMVC : CompletingAllItems : Async: 18.59999995213002 ms BackboneJS-TodoMVC : DeletingAllItems : Sync: 141.2999999593012 ms BackboneJS-TodoMVC : DeletingAllItems : Async: 4.200000024866313 ms BackboneJS-TodoMVC : 527.2999999579042 ms jQuery-TodoMVC : Adding100Items : Sync: 206.6999999806285 ms jQuery-TodoMVC : Adding100Items : Async: 20.299999974668026 ms jQuery-TodoMVC : CompletingAllItems : Sync: 485.99999997531995 ms jQuery-TodoMVC : CompletingAllItems : Async: 22.200000006705523 ms jQuery-TodoMVC : DeletingAllItems : Sync: 8.199999982025474 ms jQuery-TodoMVC : DeletingAllItems : Async: 4.199999966658652 ms jQuery-TodoMVC : 747.5999998860061 ms AngularJS-TodoMVC : Adding100Items : Sync: 321.50000002002344 ms AngularJS-TodoMVC : Adding100Items : Async: 25.10000002803281 ms AngularJS-TodoMVC : CompletingAllItems : Sync: 209.20000004116446 ms AngularJS-TodoMVC : CompletingAllItems : Async: 31.399999978020787 ms AngularJS-TodoMVC : DeletingAllItems : Sync: 193.09999997494742 ms AngularJS-TodoMVC : DeletingAllItems : Async: 5.899999989196658 ms AngularJS-TodoMVC : 786.2000000313856 ms React-TodoMVC : Adding100Items : Sync: 351.29999998025596 ms React-TodoMVC : Adding100Items : Async: 21.500000031664968 ms React-TodoMVC : CompletingAllItems : Sync: 401.1000000173226 ms React-TodoMVC : CompletingAllItems : Async: 18.999999971129 ms React-TodoMVC : DeletingAllItems : Sync: 230.19999999087304 ms React-TodoMVC : DeletingAllItems : Async: 4.799999995157123 ms React-TodoMVC : 1027.8999999864027 ms FlightJS-TodoMVC : Adding100Items : Sync: 93.90000003622845 ms FlightJS-TodoMVC : Adding100Items : Async: 19.099999975878745 ms FlightJS-TodoMVC : CompletingAllItems : Sync: 73.19999998435378 ms FlightJS-TodoMVC : CompletingAllItems : Async: 19.099999975878745 ms FlightJS-TodoMVC : DeletingAllItems : Sync: 76.99999999022111 ms FlightJS-TodoMVC : DeletingAllItems : Async: 4.399999976158142 ms FlightJS-TodoMVC : 286.699999938719 ms FlightJS-MailClient : OpeningTabs50Times : Sync: 248.39999998221174 ms FlightJS-MailClient : OpeningTabs50Times : Async: 9.90000000456348 ms FlightJS-MailClient : MovingEmails50Times : Sync: 848.3999999589287 ms FlightJS-MailClient : MovingEmails50Times : Async: 21.999999997206032 ms FlightJS-MailClient : Sending50NewEmails : Sync: 111.70000000856817 ms FlightJS-MailClient : Sending50NewEmails : Async: 4.199999966658652 ms FlightJS-MailClient : 1244.5999999181367 ms Total : 5849.899999680929 ms
and no optimization:VanillaJS-TodoMVC : Adding100Items : Sync: 126.80000002728775 ms VanillaJS-TodoMVC : Adding100Items : Async: 73.7000000081025 ms VanillaJS-TodoMVC : CompletingAllItems : Sync: 48.69999998481944 ms VanillaJS-TodoMVC : CompletingAllItems : Async: 17.699999967589974 ms VanillaJS-TodoMVC : DeletingAllItems : Sync: 30.499999993480742 ms VanillaJS-TodoMVC : DeletingAllItems : Async: 4.100000020116568 ms VanillaJS-TodoMVC : 301.500000001397 ms EmberJS-TodoMVC : Adding100Items : Sync: 389.39999998547137 ms EmberJS-TodoMVC : Adding100Items : Async: 20.39999997941777 ms EmberJS-TodoMVC : CompletingAllItems : Sync: 150.09999996982515 ms EmberJS-TodoMVC : CompletingAllItems : Async: 16.500000027008355 ms EmberJS-TodoMVC : DeletingItems : Sync: 250.2000000094995 ms EmberJS-TodoMVC : DeletingItems : Async: 4.099999961908907 ms EmberJS-TodoMVC : 830.699999933131 ms BackboneJS-TodoMVC : Adding100Items : Sync: 119.69999998109415 ms BackboneJS-TodoMVC : Adding100Items : Async: 19.499999994877726 ms BackboneJS-TodoMVC : CompletingAllItems : Sync: 122.2999999881722 ms BackboneJS-TodoMVC : CompletingAllItems : Async: 19.00000002933666 ms BackboneJS-TodoMVC : DeletingAllItems : Sync: 90.10000003036112 ms BackboneJS-TodoMVC : DeletingAllItems : Async: 4.199999966658652 ms BackboneJS-TodoMVC : 374.7999999905005 ms jQuery-TodoMVC : Adding100Items : Sync: 177.800000004936 ms jQuery-TodoMVC : Adding100Items : Async: 16.39999996405095 ms jQuery-TodoMVC : CompletingAllItems : Sync: 322.1000000485219 ms jQuery-TodoMVC : CompletingAllItems : Async: 16.79999998304993 ms jQuery-TodoMVC : DeletingAllItems : Sync: 3.700000001117587 ms jQuery-TodoMVC : DeletingAllItems : Async: 5.499999970197678 ms jQuery-TodoMVC : 542.2999999718741 ms AngularJS-TodoMVC : Adding100Items : Sync: 217.09999995073304 ms AngularJS-TodoMVC : Adding100Items : Async: 17.500000016298145 ms AngularJS-TodoMVC : CompletingAllItems : Sync: 105.50000000512227 ms AngularJS-TodoMVC : CompletingAllItems : Async: 15.000000013969839 ms AngularJS-TodoMVC : DeletingAllItems : Sync: 115.49999995622784 ms AngularJS-TodoMVC : DeletingAllItems : Async: 4.200000024866313 ms AngularJS-TodoMVC : 474.79999996721745 ms React-TodoMVC : Adding100Items : Sync: 337.4000000185333 ms React-TodoMVC : Adding100Items : Async: 25.29999997932464 ms React-TodoMVC : CompletingAllItems : Sync: 400.80000000307336 ms React-TodoMVC : CompletingAllItems : Async: 20.499999984167516 ms React-TodoMVC : DeletingAllItems : Sync: 240.300000004936 ms React-TodoMVC : DeletingAllItems : Async: 4.599999985657632 ms React-TodoMVC : 1028.8999999756925 ms FlightJS-TodoMVC : Adding100Items : Sync: 118.40000003576279 ms FlightJS-TodoMVC : Adding100Items : Async: 29.29999999469146 ms FlightJS-TodoMVC : CompletingAllItems : Sync: 111.90000001806766 ms FlightJS-TodoMVC : CompletingAllItems : Async: 23.400000005494803 ms FlightJS-TodoMVC : DeletingAllItems : Sync: 82.50000001862645 ms FlightJS-TodoMVC : DeletingAllItems : Async: 4.499999980907887 ms FlightJS-TodoMVC : 370.00000005355105 ms FlightJS-MailClient : OpeningTabs50Times : Sync: 329.00000002700835 ms FlightJS-MailClient : OpeningTabs50Times : Async: 17.99999998183921 ms FlightJS-MailClient : MovingEmails50Times : Sync: 1162.5999999814667 ms FlightJS-MailClient : MovingEmails50Times : Async: 44.200000003911555 ms FlightJS-MailClient : Sending50NewEmails : Sync: 183.49999998463318 ms FlightJS-MailClient : Sending50NewEmails : Async: 20.699999993667006 ms FlightJS-MailClient : 1757.999999972526 ms Total : 5680.99999986589 ms
☆PhistucK
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
--/* Opera Software, Linköping, Sweden: CET (UTC+1) */
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4U%3DBdrWtXumi75KD4Rc7k2732UxPYtbWVHjF%3DOE68qZg%40mail.gmail.com.
Your numbers here look like a significant regression, so I'm guessing there must be something wrong with your testing environment.Can you try running the benchmarks on the perf bots? Try using a --pageset-repeat of around 200-300 for Speedometer, it'll typically run in 4-5 hours.The other test that I usually use for innerHTML parsing is blink_perf.parser textarea-parsing (https://cs.chromium.org/chromium/src/third_party/WebKit/PerformanceTests/Parser/textarea-parsing.html), but with your change it likely won't affect it much, though it's still useful to know if it regresses.
☆PhistucK
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
--/* Opera Software, Linköping, Sweden: CET (UTC+1) */
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4U%3DBdrWtXumi75KD4Rc7k2732UxPYtbWVHjF%3DOE68qZg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r5cD-pK2XdRU9gYVqTYBsbm%2BZYGHTbVjoNfo4%2BEyFWa_Q%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALQVofogb9qVT9jGHADYqKUJwUhrHs2tpVC7VjaHgzfNHSzT2A%40mail.gmail.com.
☆PhistucK
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
--/* Opera Software, Linköping, Sweden: CET (UTC+1) */
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4U%3DBdrWtXumi75KD4Rc7k2732UxPYtbWVHjF%3DOE68qZg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
--To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r5cD-pK2XdRU9gYVqTYBsbm%2BZYGHTbVjoNfo4%2BEyFWa_Q%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
☆PhistucK
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
--/* Opera Software, Linköping, Sweden: CET (UTC+1) */
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4U%3DBdrWtXumi75KD4Rc7k2732UxPYtbWVHjF%3DOE68qZg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
--To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r5cD-pK2XdRU9gYVqTYBsbm%2BZYGHTbVjoNfo4%2BEyFWa_Q%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALQVofogb9qVT9jGHADYqKUJwUhrHs2tpVC7VjaHgzfNHSzT2A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r5nRLvRxSHyOkr9N4k9Q1oJTs3bEN5xxqFXcJ6uVog-1A%40mail.gmail.com.
☆PhistucK
Ian
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPPdY-ShP4wU6ac2LsBHGEM9R9pQpAVbFrtFkL_SBuU3hQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpQGg%3Dk-B0WjT8j8nosEgLBPR8%3DkbUe6z7LoSNVDGHsFmg%40mail.gmail.com.
--kouhei
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPVAxLVsF%3D4%2BYhU0aXb-yBN4JLhJZaeHm4f56uabN%2BJ-zpcP-A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHXv1wkeYLhCpM%2BL_Dyzh0-sYn0BVj84KxMBMiF8t3rjXXsQ8A%40mail.gmail.com.
--/* Opera Software, Linköping, Sweden: CET (UTC+1) */
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r4U%3DBdrWtXumi75KD4Rc7k2732UxPYtbWVHjF%3DOE68qZg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
--To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r5cD-pK2XdRU9gYVqTYBsbm%2BZYGHTbVjoNfo4%2BEyFWa_Q%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALQVofogb9qVT9jGHADYqKUJwUhrHs2tpVC7VjaHgzfNHSzT2A%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.