3 ms·
> Running over TLS is CPU bottleneck since encrypted messages are sequential. ChaCha20 takes around 4cycles/byte on a xeon. At 3GHz that's 750MB/s. Or about a
by the8472 10y ago
> Running over TLS is CPU bottleneck since encrypted messages are sequential.
ChaCha20 takes around 4cycles/byte on a xeon. At 3GHz that's 750MB/s. Or about a 10Gbit pipe fed with a single core, i.e. without any need for parallelization.
- rdtsc 10y agoIs that running in a loop or mixed in a larger application context where cache lines might be flushed and replaced by others. That often make a things behave very differently when running in small benchmarks vs production.
- the8472 10y agoSmall message sizes don't seem to slow it down much according to DJB's paper[0]. It doesn't use large s-boxes or a lot of other internal state, unlike AES does. Its cache footprint is fairly small. [0] https://cr.yp.to/snuffle/salsafamily-20071225.pdf#2 https://cr.yp.to/snuffle/salsafamily-20071225.pdf#2 (page 2)