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

CSV Benchmarks #75

Merged
merged 6 commits into from
Apr 16, 2019
Merged

CSV Benchmarks #75

merged 6 commits into from
Apr 16, 2019

Conversation

mkannwischer
Copy link
Contributor

I've refactored the markdown table generation and at the same time implemented outputting csv and the time spent in hashing.

@Ko- and I just fixed another bug which means I have to re-run all the benchmarks which will take a while.

But please already have a look at
https://github.com/mupq/pqm4/blob/hashing/benchmarks.csv
https://github.com/mupq/pqm4/blob/hashing/benchmarks.md

Is there anything that needs to change?
Github seems to handle csv quite well, shall we switch to csv only?

@Ko-
Copy link
Contributor

Ko- commented Apr 11, 2019

Looks nice!

The only advantage of Markdown that I can think of is that you can link to a particular subheader, while with CSV you can only link to a row number (which might change more often). I would just keep it now that it's there anyway.

The CSV could use an empty line between the "x Evaluation" blocks for readability.

@mkannwischer mkannwischer changed the title [WIP] CSV Benchmarks CSV Benchmarks Apr 16, 2019
@mkannwischer mkannwischer merged commit c206aa6 into v2 Apr 16, 2019
@mkannwischer mkannwischer deleted the hashing branch April 16, 2019 08:08
@mkannwischer mkannwischer mentioned this pull request Apr 19, 2019
mkannwischer added a commit that referenced this pull request May 1, 2019
* Add mupq submodule

* Word-align the address of polymul_asm (#37)

* added hal.h

* hal.h

* Rewrite utils to use interface.py

Fix dev references

* Actually register submodule

* add stm32f4 hal.c

* Refactor Makefile; build single binaries

* kick-out schemes that did not make it to round2. Resolves #40

* Shrink RAM from 128 KiB to 112 KiB (#73)

By not using SRAM2 we get more consistent benchmarks since SRAM2 seems to slow
down memory accesses. This lead to schemes that are wasteful with stack
(i.e., overflowing the 16 KiB SRAM2 into SRAM1) were faster.

* Move common sources and headers to mupq

* Use a pattern rule for various tests in Makefile

* replaced cortexm4 specific function calls by hal calls

* Adhere to slightly changed randombytes API

* integrate hal for stm32f4

* fix variable renaming

* update mupq

* use hal.h from mupq

* fix crypto sign benchmarks

* adds hashing benchmarks. Closes #29

* Update README.md

* Update README.md

* Big refactor of python files

* Include project into makefile targets

* fix frodo builds

* add hashing benchmarks

* benchmarks

* Refactor makefile

As a bonus, includes build_everything.py

* fix sike build

* support sign in type detection

* Add mupq note

* suppress output of st-flash

* removed stuff that now resides in mupq from pqm4, resolved symlinks

* updated submodule

* Use context manager to handle device

* fix builds for kyber and frodo

* add mupq implementations to builds

* allow partial benchmarks and tests; small bug fixes

* fix build everything and allow skipping stack benchmarks

* fix recovery after flashing fails

* remove duplicate code

* CSV Benchmarks  (#75)

* hashing benchmarks

* some more refactoring

* sample benchmarks

* sample benchmarks

* new benchmarks

* fix kyber1024 benchmarks

* PQClean Integration (#76)

* hashing benchmarks

* some more refactoring

* sample benchmarks

* sample benchmarks

* namespacing for pqclean

* namespacing in testvectors on host

* Integrate PQClean's AES into pqm4

* Fix path for host sources in Makefile

* Update mupq

* Fix bug in testvectors AES-128

* Add optimized AES-192/256 implementations.

Round-2-Kyber will use this.
Everything is put into separate sections such that the linker with
gc-sections will succesfully throw out an AES instance (or all of them)
whenever it is not used by a scheme.

* Update mupq

* fix incremental keccak implementation

* added benchmarks for ntruhps2048509 and sphincs-shake256-128f-simple

* make frodo scheme naming consistent with PQClean (breaks testvectors)

* rename frodo in benchmark results

* Measure code size (#77)

* code-size in benchmarks

* update README.md

* Fix minor typo's in README.md

* Add instructions for using AES to README

* Update README.md

* Some more polishing of README.md
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