Adam writes: > I put up pr4 (still has problems, tho > less of them, but for discussion purposes): > > http://www.hashcash.org/source/current/hashcash-1.03/ > ... > btw In enabling the static selection I seem to have re-exposed this > problem: > > ./hashcash -mb 16 -r foo > collisions = 63800 > time estimate: 0 seconds (103 milli-seconds) > ERROR: requested 16 bits, reported 16 bits, got 1 bits using AMD64/x86 MMX > Standard 1x2-pipe minter: "1:16:040816:foo::09bQn59OYq6RRjso:00000XtE" I saw this too on my AMD machine, but doing "make 386" instead of "make x86-mmx" fixed it. Maybe the AMD does not have the MMX or the compiler does not do it right for that architecture? PR4 is slower than PR3. The switches I am building with on PR4 are -O3 -funroll-lops -march=i386 -mcpu=i486. Time to generate a 24 bit collision is estimated as 14 seconds, which is about right. On PR3 it just uses -O -O3 -funroll-loops. Time to generate a 24 bit collision is estimated as 6 seconds, which is also about right. However, fastmint-benchtest predicts that PR4 should be faster than PR3. It reports 4066833 with ANSI Compact 1-pipe. On PR3 it reports 2950904 with ANSI Compact 2-pipe as the best. PR3 fastmint-benchtest predicts that 24 bits should take 5.685 seconds, which is about right. PR4 fastmint-benchtest predicts 24 bits should take 4.125 seconds, but it actually takes about 14. This suggests that PR4 is not using the optimal minter in hashcash. I also conclude that -mmmx does not work on my AMD 2800+, which is probably either obvious or surprising. Hal