On 2015-02-18 05:22, ketmar wrote:
On Wed, 18 Feb 2015 06:35:08 +0000, Joakim wrote:

accompanied by benchmarks of the C++ and D code

it's better to keep silence. dmd was never very good in optimising
code. ;-)


Not really, most of the sensitive code is optimized via native instructions, the crypto algorithms should be all the same. If you count the seconds for the unit test to run, powermod (public key cryptography) was equal in debug mode. Didn't check release though, but debug was 11sec and GCC optimizes the C++ version to 3 seconds :-p

The sensitive parts are AES-NI and GCM, where the processor does the encryption, and I handled with care those native instructions so that should be 600MB/s - 1GB/s regardless of the compiler

As for the learning experience, I spent most of the time doing search & replace from C to D types and names, writing utils/simd instructions (__m128i __m256i xmmintrins.h etc), writing memutils (~= STL) because I needed proper containers and allocators to work with.

Reply via email to