I haven't done much visible Quackle work in the past year plus, but I have been thinking a lot about Scrabble programming and doing some experiments, and since getting back from the NSC I've been working on some C++ code that I hope to integrate into Quackle in the near future.
Quackle's current move generation code is much slower than it needs to be. Matt Liberty sped it up quite a bit, but my original code was very boneheaded and I look forward to starting fresh. I'm almost too embarrassed to get into the details of all the ways in which it is deficient, but the important points are that while Quackle in its current state would get no benefit from a x86-64 build, a smarter Quackle would. The current lexicon data structures are relics from when I was much lesser programmer. What I would replace them with would make use of bit vectors for the presence of child nodes. Things are going to be much faster even on older processors, but especially so with 64 bit registers and the SSE4 POPCNT instruction. I've done tests on my i7, and I can already tell that this is going to be a huge win. John O'Laughlin On Sun, Aug 15, 2010 at 12:17 AM, <[email protected]> wrote: > It's impossible to make a generalization about the performance > > characteristics of 32-bit vs. 64-bit programs. It is not true, > for exampe, that 64-bit programs can be expected to be twice as > fast because there are twice as many bits. I could explain why > this is, but the explanation is pretty technical. But just trust > me, it doesn't work that way. In fact, depending upon the nature > of how a given program works, it's actually possible for a 64-bit > version to be *slower* than a 32-bit version, all other things > being equal. > > There is only one true generalization one can make about 64-bit > programs, and that is that they are capable of accessing far more > memory than 32-bit programs. This can be very important for > certain high-performance computing applications that deal with > large amounts of data, but that does not describe Quackle. > > So, there may or may not be a performance increase associated with > compiling Quackle under 64-bit Windows. If there is, I suspect it's > comparatively small, but that's a guess. Assuming that Win64 Qt > builds without much difficulty, it probably would be easy for me > to test, but I just don't have the time right now. I'm absolutely > saturated. >
