|
From: Simon J. <sje...@bl...> - 2003-08-07 08:28:17
|
Steve Harris wrote: >On Thu, Aug 07, 2003 at 01:50:25 +0100, Simon Jenkins wrote: > > >>BTW I'm not making this stuff up out of thin air... there's a fairly >>thorough proof of concept demo at >> >>http://www.sbibble.pwp.blueyonder.co.uk/amble/amble-0.1.1.tar.gz >> >> > >I did a similar thing also, in perl (yuk). > I remember your perl thing! What happened was: I mentioned a pasting-C-together idea in LAD, then found myself actually implementing it (which took a couple of months) to see if it would work. Meanwhile, you did the same thing in a couple of days in perl. However: You+perl aren't *really* 30 times faster than me+C :) A lot of the extra time I'd taken was to make sure that the potential optimisations were actually available in the generated code and visible to the C compiler. I then reproduced your perl demos in amble and found that, indeed, the compiler was able to optimise the amble-generated C code in ways that it could not do with the equivalent perl-generated C code. >I'm not convinced its actually >faster the blocked processing in the general case, but this may be one >where it is. > The biggest hole in my argument (that I can see :)) is that module internal state would often end up in RAM instead of registers in blockless code. If a group of modules were heavy on internal state but light on interconnections then the blockless code could lose out. Simon Jenkins (Bristol, UK) |