Hi,

I've finally taken the time to go through upgrading the included botan library to 1.7.9 first, then 1.7.12. Some renaming and name conflicts during merging were a PITA to solve and made me do it in two steps.

The Global_RNG of botan has gone, so I've added a pointer to an RNG to the app_state, the key_store and the database. Most places using an RNG have access to a key_store object, so we could maybe even get rid of the pointer in the database object.

Only mkstemp.cc was puzzling me: I've now changed it to assign its own RNG. Dunno if that can be optimized to use monotone's, but OTOH it maybe doesn't matter.

The Memory_Exhausted exception has now gone, so we don't need a special check for that and can rely on std::bad_alloc now.

Performance of the SHA-1 remains pretty much the same since we cannot use the optimized SSE2 variant (+60% sha1 throughput [1]). That alone is a good reason to push the library-build branch.

Regards

Markus Wanner

[1]: benchmark results for sha1:

(using "mtn benchmark_sha1"):
default botan sha1: ~ 144 MiB/s
botan_sha1_sse: ~ 234 MiB/s

I've been unable to measure the amd64_asm variant, yet.


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to