News for hackers. Stuff that matters.
Re:Slicehost vs Linode by ken on Monday November 24, 2008 @02:52PM (#375294)
I'm curious to see what the 64-bit memory-tax is for various languages/runtimes.

I took a quick glance at the Language Shootout to see if I could find any patterns, but at least for the few I checked, it's all over the place. For example, on the "n-body" problem, both Ruby and SBCL grow 31% on x86-64. But Ruby on "pidigits" grows only 2%, while SBCL on that problem adds a whopping 111%. On "spectral-norm", Ruby grows 61%, while SBCL grows 31%.

So this appears to be a place where moving to 64-bit is completely unknown, and you have to test for your specific application. It might double your memory usage with no change in speed, or (if you're running pidigits.rb) it might double your speed with almost no change in memory usage.

Re:Slicehost vs Linode by attack on Monday November 24, 2008 @06:58PM (#375693)
It did double my memory usage from 1G to 2G. I'm using python. I was shocked that the increase would be so big. Most of this data is in dict's.

So now I run the memory intensive stuff in 32 bit chroots:

http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?pa...

I made a little script to make getting into the chroot environment easy:

#!/usr/bin/env bash

linux32 chroot /mnt/gentoo32 /bin/bash -c "source /etc/profile;env-update;bash"

Re:Slicehost vs Linode by icky on Monday November 24, 2008 @04:10PM (#375403)
The SBCL thing makes me wonder if there are any modern lisps that can be restricted to a 4GB (32-bit) address space, while still using 64-bit values and registers...

Then, cons cells would take up only one machine word.

Re:Slicehost vs Linode by sethg on Monday November 24, 2008 @04:57PM (#375473)
If everything you point to is aligned on an eight-byte boundary, and if you don't use type tags, then a 32-bit pointer can point to anything in a 35-bit address space. So you can get up to 32 GB.
Re:Slicehost vs Linode by icky on Monday November 24, 2008 @05:32PM (#375537)
"16384 PB ought to be enough for everybody!"