mirror of
https://github.com/servo/servo.git
synced 2025-07-30 18:50:36 +01:00
We cache the state of any live HTMLCollection, keeping track of a) the optional cached length of the collection, and b) an optional cursor into the collection (a node in the collection plus its index). The cache is invalidated based on the version number of the node. We use these caches for speeding up random access to the collection. When returning coll[i], we search from the cursor, if it exists, and otherwise search from the front of the collection. In particular, both a forward for-loop and a backward for-loop through the collection will now have each access take O(1) time rather than O(n) time. This gets 1000x speed-up on the relevant Dromaeo DOM query tests. |
||
---|---|---|
.. | ||
docs | ||
dom | ||
parse | ||
build.rs | ||
Cargo.toml | ||
clipboard_provider.rs | ||
cors.rs | ||
devtools.rs | ||
document_loader.rs | ||
layout_interface.rs | ||
lib.rs | ||
makefile.cargo | ||
mem.rs | ||
network_listener.rs | ||
page.rs | ||
script_task.rs | ||
textinput.rs | ||
timers.rs | ||
unpremultiplytable.rs | ||
webdriver_handlers.rs |