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

Upgrade to bitvec 1.0.0 #281

Merged

Conversation

wcampbell0x2a
Copy link
Collaborator

Re-based #246 ontop of master, see previous conversation about decrease in performance for bitvec v1.0.0.

Perf:

deku_read_byte          time:   [11.305 ns 11.324 ns 11.345 ns]
                        change: [+94.803% +96.463% +97.712%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
  8 (8.00%) low severe
  1 (1.00%) low mild
  3 (3.00%) high mild
  1 (1.00%) high severe

deku_write_byte         time:   [49.903 ns 49.993 ns 50.090 ns]
                        change: [+3.0667% +4.5991% +5.6636%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 15 outliers among 100 measurements (15.00%)
  8 (8.00%) low severe
  5 (5.00%) low mild
  1 (1.00%) high mild
  1 (1.00%) high severe

deku_read_bits          time:   [503.43 ns 507.66 ns 512.69 ns]
                        change: [+47.073% +48.526% +50.216%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 25 outliers among 100 measurements (25.00%)
  10 (10.00%) low mild
  6 (6.00%) high mild
  9 (9.00%) high severe

deku_write_bits         time:   [90.864 ns 91.240 ns 91.599 ns]
                        change: [+23.361% +24.209% +25.044%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

deku_read_enum          time:   [17.811 ns 17.857 ns 17.925 ns]
                        change: [+70.445% +71.741% +72.950%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
  5 (5.00%) low severe
  6 (6.00%) low mild
  2 (2.00%) high severe

deku_write_enum         time:   [82.910 ns 83.161 ns 83.523 ns]
                        change: [+4.7235% +10.857% +18.023%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 10 outliers among 100 measurements (10.00%)
  1 (1.00%) low severe
  4 (4.00%) low mild
  5 (5.00%) high severe

deku_read_vec           time:   [770.09 ns 771.19 ns 772.52 ns]
                        change: [+48.267% +48.711% +49.148%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 16 outliers among 100 measurements (16.00%)
  10 (10.00%) low severe
  2 (2.00%) low mild
  2 (2.00%) high mild
  2 (2.00%) high severe

deku_write_vec          time:   [3.6065 µs 3.6152 µs 3.6257 µs]
                        change: [+4.4250% +4.7500% +5.1047%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
  3 (3.00%) low severe
  2 (2.00%) low mild
  3 (3.00%) high severe

deku_read_vec_perf      time:   [786.85 ns 789.84 ns 793.66 ns]
                        change: [+61.063% +63.122% +64.875%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 12 outliers among 100 measurements (12.00%)
  4 (4.00%) low severe
  3 (3.00%) low mild
  1 (1.00%) high mild
  4 (4.00%) high severe

deku_write_vec_perf     time:   [3.7249 µs 3.7338 µs 3.7437 µs]
                        change: [-1.0642% -0.7533% -0.4036%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
  3 (3.00%) low severe
  1 (1.00%) low mild
  2 (2.00%) high mild
  2 (2.00%) high severe

@duskmoon314
Copy link

Does the performance issue block this?

I'm trying to use Deku in my experimental crate but suffering from the problem mentioned in #296. How can we help to push forward this PR?

@sharksforarms
Copy link
Owner

sharksforarms commented Nov 16, 2022

Looks like it's time to push towards bitvec 1.0.0, if we release this change as a major release version, clients will need to opt-in to the performance difference (although they may need to opt-in just tot be able to build again, unless they use an older deku).

Related: #296

@wcampbell0x2a
Copy link
Collaborator Author

Agreed, hopefully we can figure out the performance later.

@sharksforarms sharksforarms force-pushed the update-bitvec-v1.0.0 branch 2 times, most recently from c670de8 to 4ba1ff4 Compare November 16, 2022 13:47
@sharksforarms sharksforarms merged commit 1cc5af0 into sharksforarms:master Nov 16, 2022
@sharksforarms sharksforarms changed the title Draft: Upgrade to bitvec 1.0.0 Upgrade to bitvec 1.0.0 Nov 16, 2022
@wcampbell0x2a wcampbell0x2a deleted the update-bitvec-v1.0.0 branch December 28, 2023 02:44
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.

3 participants