mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 08:42:13 +00:00
65dfa84ccd
When a local or remote item changed, we'd potentially scan three tables (with an expensive `LEFT JOIN`!) to check if anything changed...then scan the same tables again to build the local and remote trees. This check was originally meant to avoid unnecessary merges. However, the bottleneck isn't merging now; it's reading from the database. Since the merger has been rewritten in Rust, is synchronous, doesn't keep a transaction open for the entire merge (see the `total_sync_changes` check), and only emits ops for items that actually changed, it's more efficient to build and merge optimistically, and bail before applying if nothing changed. This commit also moves `validateLocalRoots` into Rust. Differential Revision: https://phabricator.services.mozilla.com/D41690 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
aom | ||
dav1d | ||
msgpack | ||
prio | ||
python | ||
rlbox | ||
rust | ||
sqlite3 | ||
webkit/PerformanceTests | ||
moz.build |