You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
handle all cases separately as Digit methods and remove nodes: First implicit branch on the protototype of B, then implicit branch on the prototype of A (e.g. A._nodes_from_list_and_Two(list, B) where B instanceof Two), and finally explicit branch on list.length using a switch
Also the current base cases in app3 use the generic _append and _prepend where list has a size between 1 and 4.
Explore unrolling these generic loops in those cases.
With the current implementation we have
assert(3 <= list.length && list.length <= 12)insrc/0-core/concatenate/nodes.js.Plan:
nodes(fromlist.length = 3tolist.length = 12) 38b9e05concatmethodnodes,_app3,app3shows up as a bottleneck, profile these implementations:nodes(max iterations is fixed)list.lengthinnodes7362602nodes: First implicit branch on the protototype ofB, then implicit branch on the prototype ofA(e.g.A._nodes_from_list_and_Two(list, B)whereB instanceof Two), and finally explicit branch onlist.lengthusing aswitchAlso the current base cases in
app3use the generic_appendand_prependwherelisthas a size between 1 and 4.