[Webkit-unassigned] [Bug 176586] Speedometer 2.0: Use keyed algorithm to render lists for Inferno suite

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Sep 30 02:15:22 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=176586

--- Comment #8 from Shiyu Zhang <shiyu.zhang at intel.com> ---
Thanks for your information. I am a bit hesitant to implement the keyed algorithm Inferno into Speedometer along with non-keyed. Would it be more reasonable to use one keyed algorithm Inferno in Speedometer instead of including two variants of both keyed and non-keyed?

Keys are highly recommended in React, Preact and any other virtual DOM library/framework when handling items in lists. This is clearly stated in the guide docs of Inferno, React and Preact. React will even give a warning that a key should be provided for list items in the console. Given that we have limited information on the Inferno users' choice in the wild world, would it be more reasonable to assume that most web developers have good will to follow the suggestion to use keyed lists? As the Inferno author also confirmed that a keyed list should be getting used by most Inferno users. If that's the case, it makes more sense to keep just keyed algorithm and removes the non-keyed implementation, doesn't it?    

Besides, as we have observed via Chrome Performance tool, the bottleneck of Inferno case is the horrible large changes in DOM tree and layout thrashing caused by non-keyed algorithm. Other than blaming the web engine for this, maybe it's more reasonable to educate the web developers to avoid codes that causes layout thrashing like non-keyed lists. Thus, including a non-keyed Inferno case in Speedometer seems to have little practical value in guiding browsers to optimize their web engine when the major performance loss lies on the misuse of non-keyed lists.  

Meanwhile, the time of running the benchmark was also enlarged by duplicated Ember and Inferno cases, it would be more than appreciated to have the duplicated ones removed, keep the benchmark clean and neat, and reduce the total time of the benchmark execution.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170930/55908d8e/attachment.html>


More information about the webkit-unassigned mailing list