Hi, Taco:
On Sat, Jul 18, 2009 at 11:22 PM, Taco Hoekwater
Yue Wang wrote:
In my humble opinion this is because TeX manages memory by it self... and maybe a 64bit memory word of packed data uses twice of memory as 32bits one.... I am not sure.
It could be because web2c by default declares the integer type as "long int" on 64-bit platforms, and that that is what makes everything twice the size, but the --enable-dump-share argument to configure is supposed to prevent it from doing so, so it seems something odd is going on. Can you try to check the sizeof(integer) within a debugger?
169:luatex yue$ ls -lah build/texk/web2c/luatex -rwxr-xr-x 1 yue staff 7.2M Jul 19 10:31 build/texk/web2c/luatex 169:luatex yue$ file build/texk/web2c/luatex build/texk/web2c/luatex: Mach-O 64-bit executable x86_64 169:luatex yue$ gdb build/texk/web2c/luatex GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-apple-darwin"...Reading symbols for shared libraries .... done (gdb) p sizeof(integer) $1 = 4 (gdb) Here is my build configuration (a patch to build.sh) 169:luatex yue$ svn diff Index: build.sh =================================================================== --- build.sh (revision 2890) +++ build.sh (working copy) @@ -59,6 +59,11 @@ if [ `uname` = "Darwin" ] ; then export MACOSX_DEPLOYMENT_TARGET=10.4 + CFLAGS="-arch x86_64 -g $CFLAGS" + XCFLAGS="-arch x86_64 -g $XCFLAGS" + CXXFLAGS="-arch x86_64 -g $CXXFLAGS" + LDFLAGS="-arch x86_64 -g $LDFLAGS" + export CFLAGS CXXFLAGS LDFLAGS XCFLAGS fi; B=build Did I miss something here? Yue Wang
(the 64bit linux is indeed faster than the 32bit linux on the same hardware)
Best wishes, Taco