Skip to content
Snippets Groups Projects
  1. Nov 21, 2024
  2. Aug 06, 2024
    • STEVAN Antoine's avatar
      refactor algebra module (dragoon/komodo!165) · 8c07220b
      STEVAN Antoine authored
      `algebra`, `field` and `linalg` were doing extremely similar things before...
      
      this MR merges them into a single module `algebra`
      - old `algebra` and `field` are at the root of the new `algebra`
      - old `linalg` is now `algebra::linalg`
      
      all references to these have been fixed in the rest of the codebase and the features have been tuned to work fine.
      8c07220b
  3. May 28, 2024
    • STEVAN Antoine's avatar
      split `examples/` into `benchmarks/` and `bins/` (dragoon/komodo!117) · bb626120
      STEVAN Antoine authored
      ## new structure for the repository
      - benchmarks are in `./benchmarks/` and can be run with either `cargo run --package benchmarks --bin <bench>` or the commands in `./benchmarks/README.md`
      ```
      ├── Cargo.toml
      ├── README.md
      └── src
          └── bin
              ├── commit.rs
              ├── fec.rs
              ├── linalg.rs
              ├── operations
              │   ├── curve_group.rs
              │   └── field.rs
              ├── recoding.rs
              ├── setup.rs
              └── setup_size.rs
      ```
      
      - examples are now in `./bins/` as standalone binaries and can be run either with `cargo run --package <pkg>` or with the help of the `cargo bin` command from `.nushell/cargo.nu`
      ```
      ├── curves
      │   ├── Cargo.toml
      │   ├── README.md
      │   └── src
      │       └── main.rs
      ├── inbreeding
      │   ├── build.nu
      │   ├── Cargo.toml
      │   ├──...
      bb626120
  4. May 23, 2024
    • STEVAN Antoine's avatar
      dont' hardcode curves in the benchmarks (dragoon/komodo!99) · d7e84161
      STEVAN Antoine authored
      up until now, elliptic curves have been hardcoded in the benchmarks, forcing to run them on all supported curves...
      
      this MR makes it possible to use only a subset of curves.
      
      > 💡 **Note**  
      > when running the same commands from !104, minus the "inbreeding" ones which are not affected by this MR, the time goes from 12min 33sec to 4min 28sec 🎉 
      
      
      ## TODO
      - [x] setup
      - [x] commit
      - [x] recoding
      - [x] fec
      - [ ] linalg
      - [ ] setup size
      - [ ] field operations
      - [ ] group operations
      
      > 💡 **Note**  
      > because all the unticked bullet points above are far from critical to the paper and do require to measure all curves, i won't change these for now
      d7e84161
  5. Apr 29, 2024
    • STEVAN Antoine's avatar
      improve FEC bench (dragoon/komodo!96) · 70941cae
      STEVAN Antoine authored and DETCHART Jonathan's avatar DETCHART Jonathan committed
      we want to compare
      - _naive recoding_: k-decoding followed by 1-encoding
      - _komodo recoding_: k-recoding with $k = \#\text{shards}$
      
      # results
      > 💡 **Note**  
      > we see that the _naive recoding_ is around 100 times slower compared to the _komodo recoding_ 🎉 
      
      > 💡 **Note**  
      > the format of the labels is always `{curve} / {k}`
      
      ![e2e](/uploads/9ffbae9188434f27f7018155de74982b/e2e.png)
      ![recoding](/uploads/17ddb76efe7719970849eeda655a68da/recoding.png)
      70941cae
  6. Apr 26, 2024
    • STEVAN Antoine's avatar
      add a "fec" bench (dragoon/komodo!93) · 392f640a
      STEVAN Antoine authored
      this MR adds
      - `examples/benches/bench_fec.rs` to the list of example benches
      - instructions on how to run the new benchmark and plot the results
      
      ## results
      ![encoding](/uploads/d474aa6f39ea20c6b346fb17d2e7ecdc/encoding.png)
      ![decoding](/uploads/061944e49f02541ea93ac0de9547ce37/decoding.png)
      ![e2e](/uploads/bb27f4bb6290c4697a65faa59a0ac4e0/e2e.png)
      392f640a