On Thu, 28 Jan 2010 16:54:24 +0200 Török Edwin <edwinto...@gmail.com> articulated:
> On 01/28/2010 04:03 PM, Jerry wrote: > > On Thu, 28 Jan 2010 15:19:47 +0200 > > Török Edwin <edwinto...@gmail.com> articulated: > > > > > >> On 01/28/2010 02:40 PM, Jerry wrote: > >> > >>> I was wondering if 'clamav' is a true 64-bit program > >>> > >> Please be more explicit. What Operating System are we talking > >> about? > > > > The OS is FreeBSD. I presently have a 32-bit system; however, I > > will be upgrading to a full 64-bit system. > > > > ClamAV is developed and tested mostly on Linux/x86_64. > So yes, building it as a 64-bit application is supported. > > > > >>> or simply one that > >>> runs on both 32 & 64 bit operating systems. > >>> > >> It can be compiled both as both a 32-bit and a 64-bit binary. > >> > > > > I realize that it can run on both systems, many software packages do > > that. However, extremely few take full advantage of the 64-bit > > architecture. I was just wondering if Clamav did. > > It is important the compiler is able to compile/optimize for the > 64-bit CPU. Then ALL applications will take advantage of your CPU's > features. > > There are 4 important aspects about a 64-bit system IMHO: > 1. Able to access/allocate more than 4GB of files/memory > This is useful for databases for example, but not for ClamAV (we > don't scan files that large, and it doesn't need 4G of memory to run) > This is actually a disadvantage for ClamAV, since pointers take up > more space, and thus the memory used by the database is higher than > on 32-bit. > > 2. All amd64 CPUs support at least SSE2 > Compilers will by default optimize for that. > On 32-bit systems your OS is built for i486, i686, which doesn't use > all the optimizations for your CPU (unless you run gentoo and rebuild > everything). > > So if you build ClamAV without any special optimization flags it > should be faster on 64-bit than 32-bit! > Of course you can get same result on 32-bit by using -march=native, > but thats not the default. > > 3. amd64 instruction set has more registers, and 64-bit registers > 8 more registers means more efficient code, without the need to often > spill/reload from the stack when you run out of registers (as you > often do on 32-bit) > 64-bit register means the compiler can more efficiently implement some > operations. > > 4. The amd64 calling convention passes parameters in registers by > default, and not on the stack (uses the stack only if registers are > not enough). > Which means that function call overhead is smaller. > > > > Adobe, and a few > > Microsoft products were the only ones that I was aware of that did. > > > > Maybe if you are thinking of windows applications, which is a > completely different matter than > FreeBSD applications. Thank you. That is what I wanted to know. -- Jerry ges...@yahoo.com |::::======= |::::======= |=========== |=========== | A prig is a fellow who is always making you a present of his opinions. George Eliot _______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://www.clamav.net/support/ml