servo/components
Jonathan Schwender 922d4b83de
Use FnvHashmap for LiveDOMReferences (#37673)
These maps are keyed on pointers, so using FnvHashMap should be faster
and we don't need the collision resistance properties of the default
hasher.

These maps showed up as hot when profiling the testcase from
https://github.com/servo/servo/issues/37223#issuecomment-3000705438.
Switching the hashing algorithm reduces the time spent hashing, but
overall that is still only a fractional part of the testcase.

Testing: Functionality unchanged. Overall the performance change is to
small to show up in any of our automated performance tests. When
comparing the perf profile of the above linked testcase, one should see
a reduction of time spent hashing (inverse call stack)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-06-25 06:47:20 +00:00
..
allocator Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
background_hang_monitor Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
bluetooth Replace bluetooth Readme with corrected version from devices repository (#36429) 2025-04-10 18:02:45 +00:00
canvas canvas: Remove rect -> line handling (#37664) 2025-06-24 14:13:58 +00:00
compositing libservo: Remove TouchEventType argument from WebView::notify_scroll_event (#37588) 2025-06-20 13:59:01 +00:00
config Fix indexeddb threadpool (#37649) 2025-06-23 22:06:16 +00:00
constellation [WebDriver] Grant top_level_script_command and browsing_context_script_command freedom to not verify existence of pipeline (#37632) 2025-06-24 06:42:34 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools DevTools: sources for HTML files should be the whole HTML file (#37456) 2025-06-21 18:46:35 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
fonts Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
malloc_size_of Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
media compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
metrics Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00
net [IndexedDB] Reduce heed related panics (#37652) 2025-06-25 00:22:19 +00:00
pixels pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
profile Profile: Resident Segments was not correctly parsing /proc/self/smaps as the regexp did not work anymore. (#37549) 2025-06-19 09:19:31 +00:00
rand Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script Use FnvHashmap for LiveDOMReferences (#37673) 2025-06-25 06:47:20 +00:00
script_bindings script: Expose IDBVersionChangeEvent to worker globals. (#37573) 2025-06-20 07:42:36 +00:00
servo Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
servo_tracing [tracing] Add convenience macro for function tracing (#36573) 2025-04-22 19:58:20 +00:00
shared canvas: Use strum::{Display, EnumString} for canvas enums (#37670) 2025-06-24 13:03:41 +00:00
timers script: Allow reflows that do not produce display lists (#37186) 2025-06-12 19:25:04 +00:00
url script: complete resolve_module_specifier (#37552) 2025-06-21 06:17:27 +00:00
webdriver_server [WebDriver] Grant top_level_script_command and browsing_context_script_command freedom to not verify existence of pipeline (#37632) 2025-06-24 06:42:34 +00:00
webgl pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
webgpu pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
webxr Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00