Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perf: remove version from nodes #64

Merged
merged 4 commits into from
Oct 28, 2024
Merged

Conversation

arriqaaq
Copy link
Contributor

Description

Inserts are extremely slow because on every insert the version has to be updated across all the higher nodes which is not really necessary.

main:

seq_insert/vart         time:   [1.0669 µs 1.0857 µs 1.1037 µs]
                        thrpt:  [906.07 Kelem/s 921.08 Kelem/s 937.26 Kelem/s]

seq_insert_mut/vart     time:   [298.19 ns 304.07 ns 313.97 ns]
                        thrpt:  [3.1850 Melem/s 3.2888 Melem/s 3.3536 Melem/s]

rand_insert/vart        time:   [1.2074 µs 1.2355 µs 1.2623 µs]
                        thrpt:  [792.20 Kelem/s 809.38 Kelem/s 828.26 Kelem/s]

rand_insert_mut/vart    time:   [435.92 ns 447.12 ns 460.86 ns]
                        thrpt:  [2.1699 Melem/s 2.2365 Melem/s 2.2940 Melem/s]

seq_delete/vart         time:   [1.1476 µs 1.1649 µs 1.1792 µs]
                        thrpt:  [848.06 Kelem/s 858.41 Kelem/s 871.36 Kelem/s]

rand_delete/vart        time:   [897.98 ns 944.47 ns 1.0036 µs]
                        thrpt:  [996.42 Kelem/s 1.0588 Melem/s 1.1136 Melem/s]

perf/remove-version-from-node

seq_insert/vart         time:   [932.63 ns 939.54 ns 945.09 ns]
                        thrpt:  [1.0581 Melem/s 1.0644 Melem/s 1.0722 Melem/s]

seq_insert_mut/vart     time:   [130.66 ns 132.52 ns 135.70 ns]
                        thrpt:  [7.3693 Melem/s 7.5459 Melem/s 7.6537 Melem/s]

rand_insert/vart        time:   [1.1020 µs 1.1271 µs 1.1520 µs]
                        thrpt:  [868.04 Kelem/s 887.25 Kelem/s 907.47 Kelem/s]

rand_insert_mut/vart    time:   [287.29 ns 298.70 ns 311.83 ns]
                        thrpt:  [3.2068 Melem/s 3.3478 Melem/s 3.4808 Melem/s]

seq_delete/vart         time:   [884.48 ns 895.39 ns 904.39 ns]
                        thrpt:  [1.1057 Melem/s 1.1168 Melem/s 1.1306 Melem/s]

rand_delete/vart        time:   [533.20 ns 566.94 ns 610.14 ns]
                        thrpt:  [1.6390 Melem/s 1.7639 Melem/s 1.8755 Melem/s]

@arriqaaq arriqaaq force-pushed the perf/remove-version-from-nodes branch from 43cc105 to 03f45a7 Compare October 25, 2024 14:04
src/art.rs Show resolved Hide resolved
@arriqaaq arriqaaq requested a review from gsserge October 28, 2024 06:57
@arriqaaq arriqaaq marked this pull request as ready for review October 28, 2024 06:57
@arriqaaq arriqaaq force-pushed the perf/remove-version-from-nodes branch from 947d534 to ebb722e Compare October 28, 2024 06:59
@arriqaaq arriqaaq merged commit 4a97322 into main Oct 28, 2024
1 check passed
@arriqaaq arriqaaq deleted the perf/remove-version-from-nodes branch October 28, 2024 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants