D. Richard Hipp wrote:
On Fri, 2005-01-21 at 20:56 -0500, Robert L Cochran wrote:I don't know how to explain this "excitement" myself, except through examples that might bore you because I don't know the details of how to write a program that takes advantage of a 64 bit cpu. The excitement is mainly about speed, I would say. To make compiled software harness that speed, it may be that only a compiler flag has to be turned on; I'm not real sure and should research it. But here are some examples:
Does this version take advantage of 64-bit cpu's like the AMD Athlon 64?
I don't know. What do you mean by "take advantage of"? What does a 64-bit CPU do that you can't do with a 32-bit CPU?
There are a few limits in SQLite that are based on the number of
bits in an integer. For example, you can't have more than 32
tables in a join. Except on a 64-bit machine where you can have
64 tables in a join. Is that what you mean by taking advantage
of a 64-bit CPU? But note that we could get 32-bit CPUs to provide 64 tables in a join just by changing a single line of
code, namely changing
typedef unsigned int Bitmask;
into
typedef unsigned long long int Bitmask;
So how does that really "take advantage of" the 64-bitness of some CPUs?
I hear a lot of excitement about 64-bit CPUs which I really do not understand. Please explain this to me.
1. My wife, on her 32 bit Intel laptop, running Microsoft Access, finds her system slowed down to a crawl whenever she works with one table that has 109,000 rows. This is just the beginning of the huge tables she creates. She has a bunch of others.
I moved this table to my Athlon 64 machine and converted it to the Linux x86_64 version of MySQL version 4.1.7. Then I queried the database using a PHP script to "select distinct" from 3 different columns and stuff the result sets into HTML select tags so that the client can pick valid column values for those columns. 3 queries, 109,000 rows...and they executed so fast the web page seems to come up instantly.
I plan to try this same query with SQLite as soon as I have time.
2. I can install Fedora Core x86_64 in about 25 minutes on my Athlon machine. On a 32 bit Intel machine, I can take a lunch hour break and the install still might not be finished, depending on the machine's resources. And these are all NFS image installs. I don't do them from CD or DVD any longer. Using the network is faster.
3. I generally enjoy blindingly fast compile times when I have to do compiles of large codebases such as PHP from source. I haven't yet tried compiling Mozilla on this machine, but I'll get there -- I've done it on my Pentium machines and it takes a minimum of 45 minutes to complete.
The sum total is that speaking for myself, I won't go back to an Intel 32 bit system if I can help it. 64 bit systems are fast! They save a lot of time.
Perhaps I'm making a stupid point, but perhaps there is a compiler switch you can turn on somewhere (or maybe the configure script in the *tar.gz source code already does it) that optimizes for a 64 bit system. Hmmm, perhaps I can rerun autoconf and libtool and get this magic to happen.
Bob Cochran Greenbelt, Maryland
smime.p7s
Description: S/MIME Cryptographic Signature