Author: David Hanley
Date: 16:49:19 12/10/01
Go up one level in this thread
On December 10, 2001 at 19:31:10, Gareth McCaughan wrote: >On December 10, 2001 at 18:27:39, David Hanley wrote: > >> I've actually used both acl 4.3 and the latest CMUCL. Mostly ACL4.3 >> for the diagnostics, though CMUCL makes considerably faster code. > >Its "notes" are also very helpful once you get to the stage of >speeding up your code. At least for the declaration-insertion >part. Yep. I have written one medium size program with CMUCL before, and i had to turn off the notes on non-critical parts of the code, because i got buried in optimization notes. > >> I haven't tossed in (speed 3)(safety 0) or any type declarations yet; >> I'll wait until it plays decently first, and i've reduced the consing. > >Is consing really making a big difference to your speed? >(Hazy memory says this is less likely with ACL than with >CMUCL; mostly because ACL's GC is very good, though the >excellence of CMU's code generation may also have something >to do with it.) My expereince is that making my code run in-place ( in CMUCL ) and not using functions like (mapcar) and (remove) and (reduce) resulted in a speedup of between 50% to 80%, though this depends on your code. I bet that part of this is simply improved memory locality. In a chess program it would probably be less. So maybe you're right, and it wouldn't be worth bothering with. In some cases it would be a cheap fix, though. I push captured pieces onto a regulat list stack, and i expect using an array and a index would give a good speedup without a lot of code. Still, i bet i could get to 2000+ just by putting in the right hueristics, and leaving the "easy" things alone. I think that approach is more interesting. dave
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.