ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: testing 32bit and 64bit versions in Win7 64bit
Date: Sun, 26 Apr 2015 16:02:52 +0200	[thread overview]
Message-ID: <553CF00C.5060606@wxs.nl> (raw)
In-Reply-To: <553CBBA5.7020801@gmx.es>

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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2015-04-26 14:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-26 10:19 Pablo Rodriguez
2015-04-26 14:02 ` Hans Hagen [this message]
2015-04-26 18:00   ` Pablo Rodriguez
2015-04-26 18:09     ` Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=553CF00C.5060606@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).