On 4/26/2015 12:19 PM, Pablo Rodriguez wrote:
Dear list,
I have the following sample:
\starttext \dorecurse{10}{ \dorecurse{10}{ \dorecurse{10}{ \dorecurse{10}{ \input zapf\par}}}} \stoptext
I used it to test compilation speed from both 32bit and 64bit. The machine has an Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz processor with 8GB RAM running Win7 64bit.
Compiling both with luajittex and --purgeall (more than once), sample results are:
2015.04.16 15:14 (32bit) - 153.959 seconds 2015.04.16 15:14 (64bit) - 154.908 seconds
Shouldn’t the 64bit version be much faster or am I missing something?
It depends on how it is compiled, the mingw 64 bit version is somewhat faster than the ming32 bit (at least last time i tested which is long ago). The ming64 bit is somewhat faster than the native win 64 binary (which have more conservative compiler optimizations enabled). Anyway, speed depends on many factors. On my laptop \starttext \testfeatureonce{10000}{\input zapf\par} \stoptext takes 57 sec for normal luatex, while \edef\Zapf{\cldloadfile{zapf}} \starttext \testfeatureonce{10000}{\Zapf\par} \stoptext takes 35 sec for normal luatex and 22sec for luajittex (faster lua vm but also less mem available). Speeds depends on the speed of the console (true for each operating system as fonts matter), and a run from scite (aggressive buffering) is faster than from other editors that have a log pane. Console2 is faster than a traditional console (as one can set delays comparable to e.g. unix consoles). Here i use conemu64 when running from console (i run mostly from the editor anyway). Also such measures don't mean that much as nothing really happens there, take: \testfeatureonce{2000}{\null\page} which takes the same amount of time in luatex and luajittex (and gives you the basic performance of the 2000 pages you render with your example. I actually do lots of timing as I want context to be relatively fast. For example the metafun manual needs 21 sec (with several subruns, about 17 without those), which is quite ok given the many graphics. Fwiw, pdftex runs your test faster, and xetex about the same speed, although on a more complex document mkiv gains on mkii unless of course extra functionality not present in mkii kicks in. (And if you want to process xml ... well, then mkiv is definitely faster.) If you think that there's a bottleneck somewhere that shouldn't be, I can look into it when I'm bored. A while ago I measured performance this way: \usemodule[art-01] \starttext \input tufte % simulate stupid one page output \stoptext On my few year old laptop (Intel Core i7-3840QM CPU @ 2.80GHz) with luajittex I then get 7000 jobs / hour, and when I run 6 threads in parallel I come to 36.000 jobs / hour. So on a decent server one can do a lot. Also, if you really want speed, style writing also matters. It's no problem to write inefficient tex code.
Many thanks for your help,
Pablo
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------