Use DoublyLinkedList instead of ListHashSet in DocumentState
The only operations carried out on form_controls_ are insertions, removals and iterating through the entire list. Insertion and removal can be done faster with a DoublyLinkedList. Since the nodes for the DoublyLinkedList are Oilpan objects, this CL introduces HeapDoublyLinkedList that uses Member for the head and tail pointers, and traces the pointers. This improves the performance of HTMLInputElement::InsertedInto and HTMLInputElement: :RemovedFrom by ~15%. Change-Id: Ic6deac03e63cf0583ced9de9caccd1b533c6b88d Reviewed-on: https://chromium-review.googlesource.com/803944 Commit-Queue: Adithya Srinivasan <adithyas@chromium.org> Reviewed-by:Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#521732}
Showing
Please register or sign in to comment