D. Richard Hipp wrote:

On Fri, 2005-01-21 at 20:56 -0500, Robert L Cochran wrote:


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.



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:

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






Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to