[hashcash] Re: Hashcash performance improvements
- From: Jonathan Morton <chromi@xxxxxxxxxxxxxxxxxxxxx>
- To: hashcash@xxxxxxxxxxxxx
- Date: Wed, 26 May 2004 14:55:25 +0100
>> I recently sent Adam an updated version of libsha1.c, which is about
>> 20% faster on x86 machines. After some more thought in this vein, I'd
>> like to help write a set of "fast minting" routines which maximise
>> sustained minting performance on a given class of machines.
> I'd be happy to incorporate those changes in the next version.
>
> Re. fast SHA1 assembler tricks with MMX etc, if I recall there are some
> people who have researched this and made some progress. I think some
> of
> their source is available (some not). You could have a look for that.
Sounds encouraging. I think I at least need some pointers on how to
portably insert MMX assembly into a C program - I'm presently assuming
it's slightly more involved than inserting Altivec operations (which
Motorola went to a great deal of trouble to make easy). At the very
least, I'm aware of two completely incompatible assembler syntaxes for
x86 (GNU vs. Intel - the difference is operand order), so for the
moment I'll concentrate heavily on GCC syntax.
In the interim, I've done some profiling of the present hashcash
implementation on PowerPC, and discovered to my horror that under
2/3rds of the minting time (597 out of 904 cycles on the PPC7400
emulator, slightly worse still on a real PPC7450) was spent in the body
of the SHA1_Transform() function.
Eliminating the huge overhead that this reveals would result in a 50%
performance boost, even with no CPU-specific optimisations. (Probably
less on x86, since the hashing function takes relatively longer there,
but still significant.) I'll work on refactoring first, in that light,
and worry about vectorised code later.
Since you seem to be in the middle of reworking the token formatting,
I'll leave that part of the hashcash program alone, and merely provide
an entry point, along with an example/test program for usage.
--------------------------------------------------------------
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.
- Follow-Ups:
- [hashcash] Re: Hashcash performance improvements
- From: Jonathan Morton
- References:
- [hashcash] Hashcash performance improvements
- From: Jonathan Morton
- [hashcash] Re: Hashcash performance improvements
- From: Adam Back
Other related posts:
- » [hashcash] Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- » [hashcash] Re: Hashcash performance improvements
- [hashcash] Re: Hashcash performance improvements
- From: Jonathan Morton
- [hashcash] Hashcash performance improvements
- From: Jonathan Morton
- [hashcash] Re: Hashcash performance improvements
- From: Adam Back