Hi all, I have released a new snapshot just a few moments ago. The main change in this snapshot is that it uses far less memory. luatex -ini on my linux machine went from 326Mb (last week) to 93Mb (now), and "texexec luatex" now ends at 184Mb instead of over 1/2Gb. This is achieved by two big changes: * The \mathcode, \delcode, \catcode, \sfcode, \lccode and \uccode tables are now sparse arrays that are implemented in C. They are no longer part of the TeX "equivalence table" and because each had 1.1 million entries with a few memory words each, this makes a major difference. See mathcodes.c and textcodes.c if you are interested in the gory details, but be warned: the code is still extremely rough and ugly. In particular, the dump and undump routines are far from optimal, resulting in somewhat larger format files than before (approx 1.3Mb larger with unicode-letters loaded, 10k without); and the assignments do not show up when using the etex tracing routines \tracingassigns and \tracingrestores (code simply not written yet) * Single-character commands are no longer "special" internally, they are stored in the hash just like the multiletter csnames. Both changes are supposed to be transparent to the user, so if something does not work _exactly_ as before, it is a bug. There are a few memory hogs remaining (active characters and the various registers), but I will not dive into those until (much) later. Next week I will focus on the input callbacks, so that files no longer have to be utf-8 encoded. ------------------- Downloading and installation details: If you go to https://foundry.supelec.fr/frs/?group_id=10&release_id=164 you will see that there are three released files: * luatex-snapshot-20060825.tar.gz This is the source tree. * luatex-snapshot-20060825-win32.zip A cross-compiled (mingw) windows binary. This is a web2c based binary, so it needs a texmf.cnf file (It will NOT work if you have only miktex installed). This executable cannot run dynamically loaded lua dlls. Perhaps that can be fixed but I do not know how. * luatex-snapshot-20060825-linux-i386.tar.gz A linux binary. This needs ld-linux.so.2, so you need a somewhat modern linux for that, but compiling from source for linux should not be a problem. The binaries should go in a 'normal' TeX binary folder like texmf/bin or texmf-win32/bin so that they can find your texmf.cnf automatically. If you put them elsewhere, you have to set the TEXMFCNF environment variable. There is no pool file, so you do not have to worry about that. For meaningful unicode input and hyphenation, you need a file that sets the \lccode etc. values for chars with a value higher than 256. One such file is part of the xetex distribution (unicode-letters.tex). Greetings, Taco
participants (1)
-
Taco Hoekwater