[hashcash] libfastmint update 20040915

  • From: Jonathan Morton <chromi@xxxxxxxxxxxxxxxxxxxxx>
  • To: hashcash@xxxxxxxxxxxxx
  • Date: Wed, 15 Sep 2004 23:08:05 +0100

This patch contains several bugfixes, including making CPU feature detection actually work on x86. It also includes a minor optimisation in each core, and avoids falling into an infinite loop on high-value stamps.

Additionally, minting now uses one of the two optimal counting positions, which should make minting work at or near the speed indicated by the benchmark. A side-effect is that the "count" field may now be padded with quite a lot of leading zeroes.

I've successfully minted a 33-bit stamp on my 667MHz TiBook, which took a little less than an hour. I've also minted a significant number of 20 and 26 bit stamps on both the TiBook and one of my Athlons, with no errors showing up.

The segfaults when running on x86 were not due to my code - they were due to something weird GCC does when -fPIC is specified. I've put in code to save and restore the EBX register around the CPUID instruction. I've also caused the AMD64 platform to skip the MMX test, since it's always available there, and the save/restore of EBX (as opposed to RBX) could be problematic.

The patch is against hashcash 1.08 - the previous patch should be removed before applying this one.

--------------------------------------------------------------
from:     Jonathan "Chromatix" Morton
mail:     chromi@xxxxxxxxxxxxxxxxxxxxx
website:  http://www.chromatix.uklinux.net/
tagline:  The key to knowledge is not to rely on people to teach you it.

Other related posts: