ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Henning Hraban Ramm via ntg-context <ntg-context@ntg.nl>
To: Hans Hagen via ntg-context <ntg-context@ntg.nl>
Cc: Henning Hraban Ramm <texml@fiee.net>
Subject: Re: bottlenecks
Date: Fri, 16 Dec 2022 20:36:51 +0100	[thread overview]
Message-ID: <ec8156f4-d4a5-43bf-c51b-e1106c52f919@fiee.net> (raw)
In-Reply-To: <980e90bd-48cc-016c-b60d-6ede05fd8891@xs4all.nl>

Am 16.12.22 um 18:10 schrieb Hans Hagen via ntg-context:
> So the challenge is how to determine bottlenecks. Are there users on 
> this list that have document runs of more than 10 seconds (as reference: 
> the luametatex manual takes < 9 seconds for 350 pages and loads plenty 
> fonts and has many tables) or have many (small) runs and are annoyed by 
> the runtime? And if so, what does one guess are the bottlenecks?

(1)
This is my 366 page ConTeXt book:

mkiv lua stats  > used config file: 
home:texmf/web2c/texmfcnf.lua;selfautoparent:/texmf/web2c/texmfcnf.lua
mkiv lua stats  > used cache path: 
/Users/hraban/lmtx/tex/texmf-cache/luametatex-cache/context/c821363a6b068765c2a3bbfe3917fcf5
mkiv lua stats  > resource resolver: loadtime 0.046 seconds, 1 scans 
with scantime 0.037 seconds, 0 shared scans, 165 found files, scanned 
paths: /Users/hraban/texmf
mkiv lua stats  > stored bytecode data: 507 modules (0.378 sec), 106 
tables (0.017 sec), 613 chunks (0.395 sec)
mkiv lua stats  > traced context: maxstack: 3112, freed: 1448, 
unreachable: 1664
mkiv lua stats  > cleaned up reserved nodes: 202 nodes, 22 lists of 517
mkiv lua stats  > node memory usage: 1137 attribute, 46 dir, 559 glue, 
82 gluespec, 177 glyph, 236 hlist, 3 kern, 647 mathspec, 48 penalty, 2 
submlist, 2 temp
mkiv lua stats  > node list callback tasks: 13 unique task lists, 180 
instances (re)created, 216502 calls
mkiv lua stats  > h-node processing time: 2.544 seconds including kernel
mkiv lua stats  > synctex tracing: 46 referenced files, 22 files 
ignored, 41808 objects flushed, logfile: prd_de.synctex
mkiv lua stats  > attribute processing time: 0.201 seconds front- and 
backend
mkiv lua stats  > driver time: 5.265 seconds
mkiv lua stats  > used backend: pdf
mkiv lua stats  > jobdata time: 0.271 seconds saving, 0.056 seconds loading
mkiv lua stats  > callbacks: file: 26780, saved: 405242, direct: 524, 
function: 281755, value: 2288, message: 0, bytecode: 613, late 0, total: 
717202 (1960 per page)
mkiv lua stats  > randomizer: resumed with value 0.57895496379132
mkiv lua stats  > v-node processing time: 1.464 seconds
mkiv lua stats  > loaded tex modules: 10 requested, all found (*-filter 
*-libs-imp-zint *-module-catcodes *-s-fonts-show *-s-symbols-show 
*-scite *-syntax-groups *-syntax-highlight *-vim *-visual)
mkiv lua stats  > loaded patterns: de::3 en::1, load time: 0.000
mkiv lua stats  > xml load time: 0.002 seconds, 1 files, 1 converted
mkiv lua stats  > lxml preparation time: 0.000 seconds, 0 nodes, 31 
lpath calls, 4 cached calls
mkiv lua stats  > interactive elements: 2536 references, 2870 destinations
mkiv lua stats  > margin data: 295 entries, 1 pending
mkiv lua stats  > loaded fonts: 31 files: latinmodern-math.otf, 
lmmono10-italic.otf, lmmono10-regular.otf, lmmonocaps10-regular.otf, 
lmmonolt10-bold.otf, lmmonolt10-boldoblique.otf, 
lmmonoltcond10-regular.otf, lmmonoslant10-regular.otf, 
lmroman10-bold.otf, lmroman10-italic.otf, lmroman10-regular.otf, 
lmromancaps10-regular.otf, lmsans10-oblique.otf, lmsans10-regular.otf, 
cc-icons.ttf, dejavusansmono.ttf, marvosym.ttf, font awesome 5 
brands-regular-400.otf, font awesome 5 free-regular-400.otf, font 
awesome 5 free-solid-900.otf, cambria.ttc, cambriab.ttf, cambriai.ttf, 
cambriaz.ttf, segoe ui bold italic.ttf, segoe ui bold.ttf, segoe ui 
italic.ttf, segoe ui.ttf, segoepr.ttf, symbola.otf, 
unifrakturmaguntia.ttf (suspicious x height)
mkiv lua stats  > font engine: otf 3.131, afm 1.513, tfm 1.000, 193 
instances, 157 shared in backend, 11 common vectors, 146 common hashes, 
load time 15.349 seconds
mkiv lua stats  > body font sizes: defined: 10pt 11pt 12pt 14.4pt 17.3pt 
20.7pt 4pt 5pt 6pt 7pt 8pt 9pt, undefined: 11.2pt 14pt 16.8pt
mkiv lua stats  > visualization time: 0.154 seconds
mkiv lua stats  > metapost: 0.678 seconds, loading: 0.092, execution: 
0.651, n: 528, average: 0.003, instances: 2, luacalls: 37745 (file: 
31092, text: 0, script: 3507, log: 3146), memory: 8.825 M
mkiv lua stats  > math tweaking time: 8.659 seconds, 116 math goodie tables
mkiv lua stats  > math processing time: 0.012 seconds
mkiv lua stats  > graphics processing time: 2.885 seconds including tex, 
247 processed images, 69 unique asked, 42 bad names
mkiv lua stats  > pdf annotations: 2536 links (2535 unique), 0 special
mkiv lua stats  > font embedding time: 0.084 seconds, 31 fonts
mkiv lua stats  > result saved in file: prd_de.pdf, compresslevel 1, 
objectcompresslevel 0
mkiv lua stats  > positions: 6786 collected, 3635 deltas, 6678 shared 
partials, 46 partial entries
mkiv lua stats  > used platform: osx-64, type: unix, binary subtree: 
texmf-osx-64
mkiv lua stats  > used engine: luametatex version: 2.1004, functionality 
level: 20221208, format id: 678, compiler: clang
mkiv lua stats  > tex properties: 740852 hash slots used of 2097152, 
59643 control sequences, approximate memory usage: 217 MB
mkiv lua stats  > lua properties: engine: lua 5.4, used memory: 800 MB, 
ctx: 767 MB, max: 767 MB, symbol mask: utf (τεχ)
mkiv lua stats  > runtime: 30.592 seconds, 366 processed pages, 366 
shipped pages, 11.964 pages/second
system          | total runtime: 219.556 seconds of 219.819 seconds

real	3m39,829s
user	3m23,086s
sys	0m12,772s

I guess it needs too much time on calling zint for all the QR codes that 
I probably will get rid of anyway. Otherwise it loads nearly all 
modules. So it’s an extreme case.


(2)
This is a 720 page novel (first run with this LMTX version, some fonts 
were still uncached):

mkiv lua stats  > used config file: 
home:texmf/web2c/texmfcnf.lua;selfautoparent:/texmf/web2c/texmfcnf.lua
mkiv lua stats  > used cache path: 
/Users/hraban/lmtx/tex/texmf-cache/luametatex-cache/context/c821363a6b068765c2a3bbfe3917fcf5
mkiv lua stats  > resource resolver: loadtime 0.045 seconds, 1 scans 
with scantime 0.036 seconds, 0 shared scans, 27 found files, scanned 
paths: /Users/hraban/texmf
mkiv lua stats  > stored bytecode data: 507 modules (0.388 sec), 106 
tables (0.016 sec), 613 chunks (0.404 sec)
mkiv lua stats  > traced context: maxstack: 1659, freed: 4, unreachable: 
1655
mkiv lua stats  > cleaned up reserved nodes: 74 nodes, 8 lists of 435
mkiv lua stats  > node memory usage: 14 attribute, 2 glue, 83 gluespec, 
3 kern, 647 mathspec, 3 penalty, 2 temp
mkiv lua stats  > node list callback tasks: 13 unique task lists, 11 
instances (re)created, 64714 calls
mkiv lua stats  > h-node processing time: 11.444 seconds including kernel
mkiv lua stats  > attribute processing time: 0.433 seconds front- and 
backend
mkiv lua stats  > driver time: 13.557 seconds
mkiv lua stats  > used backend: pdf
mkiv lua stats  > jobdata time: 0.018 seconds saving, 0.004 seconds loading
mkiv lua stats  > callbacks: file: 6035, saved: 123944, direct: 4, 
function: 37443, value: 721, message: 0, bytecode: 613, late 0, total: 
168760 (234 per page)
mkiv lua stats  > randomizer: resumed with value 0.69074136591922
mkiv lua stats  > v-node processing time: 0.273 seconds
mkiv lua stats  > loaded patterns: de::3 en::1, load time: 0.000
mkiv lua stats  > interactive elements: 2 references, 1 destinations
mkiv lua stats  > loaded fonts: 8 files: latinmodern-math.otf, 
lmroman10-regular.otf, supernett_cn_light.otf, alegreya-bold.ttf, 
alegreya-italic.ttf, alegreya-regular.ttf, alegreyasans-light.ttf, 
alegreyasc-regular.ttf
mkiv lua stats  > font engine: otf 3.131, afm 1.513, tfm 1.000, 31 
instances, 20 shared in backend, 5 common vectors, 15 common hashes, 
load time 0.797 seconds
mkiv lua stats  > math tweaking time: 0.167 seconds, 12 math goodie tables
mkiv lua stats  > graphics processing time: 0.003 seconds including tex, 
2 processed images, 1 unique asked, 0 bad names
mkiv lua stats  > pdf annotations: 2 links (2 unique), 0 special
mkiv lua stats  > font embedding time: 0.017 seconds, 6 fonts
mkiv lua stats  > result saved in file: prd_02_pyka.pdf, compresslevel 
1, objectcompresslevel 3
mkiv lua stats  > positions: 4 collected, 0 deltas, 0 shared partials, 0 
partial entries
mkiv lua stats  > used platform: osx-64, type: unix, binary subtree: 
texmf-osx-64
mkiv lua stats  > used engine: luametatex version: 2.1004, functionality 
level: 20221208, format id: 678, compiler: clang
mkiv lua stats  > tex properties: 740852 hash slots used of 2097152, 
55184 control sequences, approximate memory usage: 51 MB
mkiv lua stats  > lua properties: engine: lua 5.4, used memory: 124 MB, 
ctx: 109 MB, max: 181 MB, symbol mask: utf (τεχ)
mkiv lua stats  > runtime: 19.275 seconds, 720 processed pages, 720 
shipped pages, 37.355 pages/second
system          | total runtime: 59.113 seconds of 59.220 seconds


real	0m59,229s
user	0m57,610s
sys	0m1,379s


Made on a Mac mini from 2012 (2,3 GHz i7, 16 GB RAM), but with SSDs.

Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2022-12-16 19:36 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 17:10 bottlenecks Hans Hagen via ntg-context
2022-12-16 19:36 ` Henning Hraban Ramm via ntg-context [this message]
2022-12-16 20:02   ` bottlenecks Hans Hagen via ntg-context
2022-12-16 21:08     ` bottlenecks Rik Kabel via ntg-context
2022-12-16 22:07       ` bottlenecks Hans Hagen via ntg-context
2022-12-17  0:05         ` bottlenecks Rik Kabel via ntg-context
2022-12-17  9:48           ` bottlenecks Hans Hagen via ntg-context
2022-12-17 15:05             ` bottlenecks Rik Kabel via ntg-context
2022-12-17 17:21               ` bottlenecks Hans Hagen via ntg-context
2022-12-17 21:11                 ` bottlenecks Alan Braslau via ntg-context
2022-12-17 21:35                   ` bottlenecks Hans Hagen via ntg-context
2022-12-18 21:35                     ` bottlenecks Alan Braslau via ntg-context
2022-12-17 16:02     ` bottlenecks Henning Hraban Ramm via ntg-context
2022-12-17 17:43       ` bottlenecks Hans Hagen via ntg-context
2022-12-18 13:14 ` bottlenecks mf via ntg-context
2022-12-18 13:19   ` bottlenecks mf via ntg-context
2022-12-18 13:49   ` bottlenecks Hans Hagen via ntg-context
2022-12-18 15:21     ` bottlenecks mf via ntg-context
2022-12-18 15:27       ` bottlenecks Hans Hagen via ntg-context

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=ec8156f4-d4a5-43bf-c51b-e1106c52f919@fiee.net \
    --to=ntg-context@ntg.nl \
    --cc=texml@fiee.net \
    /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).