By my experience only, I'd say 64bit perl can be as much as 1/3 slower. It is easy to change the #! line to 64 bit and see the effects of running it as such.
The following gives out of memory at 24GB and works for 23GB on a 6800 with 48GB of RAM, OS8 #!/usr/local/bin/perl64 -w use constant MB => (1024 * 1024); use constant GB => (1024 * MB); print "yep" if T(); sub T() { return 'a' x (( 23 * GB) - 1); } 1; ------------------------ I'm not sure where I got 3GB from... it is either the max program size or the max size of an array or some such.. I guess it is not important enough to track down right now. I'll believe 4GB til I hit that 3GB number again and need to answer it definitively... ----- Original Message ----- From: "Jarkko Hietaniemi" <[EMAIL PROTECTED]> To: "Tim Harsch" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Tuesday, November 26, 2002 4:18 PM Subject: Re: perl-64bit > > Well one thing it is, is Perl that allows you to use the OS memory > > allocation funtions. This allows you to write Perl programs that can use > > more than 3GB of addressable RAM. Although you are still limited to 3GB per > > single data structure. The prequisite is that your operating system and > > architecture must be 64bit, eg. Sparc/Solaris. By its very nature though > > your Perl programs become overall a bit slower due to the fact that you must > > use larger than 32bit to address memory, ie more bits to shuffle for every > > memory address. > > s/3GB/4GB/g; > > Yes, people have (just for the fun of it) had Perl scalars greater > than 4 gigabytes. Whether there's any real slowdown, I don't know, > but my gut instinct says that Perl spends most its time elsewhere and > 64-bitness doesn't really cause that much of a slowdown. > > 64-bitness is not only about the 4GB data size limit; there's also > the feature of having 64-bit integers, which is related (and precursor) > to having larger files than 2GB/4GB (depends on whether you measure by > signed or unsigned). Having 64-bit integers means that Perl can for > longer keep numbers as integers before slipping into floating point. > > > Someone else may be able to provide better details, but that is the gist of > > it. > > Nowadays (this mailing list is a bit dusty, try Perl 5.8.0 or 5.6.1) > getting integer 64-bitness is a question of > > Configure -Duse64bitint > > and the data size 64-bitness > > Configure -Duse64bitall > > Warning: either, and especially the latter, will produce Perls that > are binarily incompatible with Perls Configured without any-Duse64*. > > -- > Jarkko Hietaniemi <[EMAIL PROTECTED]> http://www.iki.fi/jhi/ "There is this special > biologist word we use for 'stable'. It is 'dead'." -- Jack Cohen