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

more improvements for Rust bindgen #558

Merged
merged 36 commits into from
Jun 20, 2024
Merged

more improvements for Rust bindgen #558

merged 36 commits into from
Jun 20, 2024

Conversation

chenyan-dfinity
Copy link
Contributor

@chenyan-dfinity chenyan-dfinity commented Jun 20, 2024

  • Bindgen for a subset of methods
  • Use Context struct for merge_config
  • Report unused paths
  • Map variant { Ok:...; Err:... } into Result type
  • Generate test for use_type
  • Support selecting inlined types

Copy link

github-actions bot commented Jun 20, 2024

Name Max Mem (Kb) Encode Decode
blob 4_224 20_459_333 12_083_390
btreemap 74_496 4_504_502_366 ($\textcolor{red}{0.00\%}$) 15_722_251_218 ($\textcolor{red}{0.00\%}$)
nns 192 2_279_356 12_618_201 ($\textcolor{green}{-0.05\%}$)
nns_list_proposal 1_792 7_080_978 ($\textcolor{green}{-0.04\%}$) 187_610_734 ($\textcolor{red}{0.00\%}$)
option_list 576 7_140_480 ($\textcolor{green}{-0.01\%}$) 32_173_619 ($\textcolor{green}{-0.57\%}$)
text 6_336 28_844_842 17_838_897
variant_list 128 7_141_865 ($\textcolor{green}{-0.01\%}$) 24_423_749 ($\textcolor{green}{-0.75\%}$)
vec_int16 16_704 168_582_457 1_073_771_349
  • Parser cost: 18_759_648 ($\textcolor{green}{-0.41\%}$)
  • Extra args: 3_254_228
Click to see raw report

---------------------------------------------------

Benchmark: blob
  total:
    instructions: 32.54 M (no change)
    heap_increase: 66 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 20.46 M (no change)
    heap_increase: 66 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 12.08 M (no change)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: text
  total:
    instructions: 46.69 M (no change)
    heap_increase: 99 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 28.84 M (no change)
    heap_increase: 99 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 17.84 M (no change)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: vec_int16
  total:
    instructions: 1.24 B (no change)
    heap_increase: 261 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 168.58 M (no change)
    heap_increase: 261 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 1.07 B (no change)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: btreemap
  total:
    instructions: 20.23 B (0.00%) (change within noise threshold)
    heap_increase: 1164 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 4.50 B (0.00%) (change within noise threshold)
    heap_increase: 257 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 15.72 B (0.00%) (change within noise threshold)
    heap_increase: 907 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: option_list
  total:
    instructions: 39.32 M (-0.47%) (change within noise threshold)
    heap_increase: 9 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 7.14 M (-0.01%) (change within noise threshold)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 32.17 M (-0.57%) (change within noise threshold)
    heap_increase: 9 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: variant_list
  total:
    instructions: 31.57 M (-0.58%) (change within noise threshold)
    heap_increase: 2 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 7.14 M (-0.01%) (change within noise threshold)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 24.42 M (-0.75%) (change within noise threshold)
    heap_increase: 2 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: nns
  total:
    instructions: 34.50 M (-0.24%) (change within noise threshold)
    heap_increase: 3 pages (no change)
    stable_memory_increase: 0 pages (no change)

  0. Parsing (scope):
    instructions: 18.76 M (-0.41%) (change within noise threshold)
    heap_increase: 2 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 2.28 M (no change)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 12.62 M (-0.05%) (change within noise threshold)
    heap_increase: 1 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: nns_list_proposal
  total:
    instructions: 194.69 M (-0.00%) (change within noise threshold)
    heap_increase: 28 pages (no change)
    stable_memory_increase: 0 pages (no change)

  1. Encoding (scope):
    instructions: 7.08 M (-0.04%) (change within noise threshold)
    heap_increase: 3 pages (no change)
    stable_memory_increase: 0 pages (no change)

  2. Decoding (scope):
    instructions: 187.61 M (0.00%) (change within noise threshold)
    heap_increase: 25 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: extra_args
  total:
    instructions: 3.25 M (no change)
    heap_increase: 0 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------
Successfully persisted results to canbench_results.yml

@chenyan-dfinity chenyan-dfinity merged commit 223fe03 into master Jun 20, 2024
6 checks passed
@chenyan-dfinity chenyan-dfinity deleted the configs branch June 20, 2024 23:50
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