diff options
| author | Philipp Gesang <phg42.2a@gmail.com> | 2013-11-10 19:22:13 +0100 | 
|---|---|---|
| committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-11-10 19:22:13 +0100 | 
| commit | 074355a0d96d204d92307a4066c231cb89b2d8bf (patch) | |
| tree | 826c121ddf28bfba762790d1e90315e0099eb712 | |
| parent | 8a63823ead6c0d2bd1ea1b71d0c39e5f1a6dc2dd (diff) | |
| download | luaotfload-074355a0d96d204d92307a4066c231cb89b2d8bf.tar.gz | |
[db] call fontloader.close() for some minor gain
| -rw-r--r-- | luaotfload-database.lua | 39 | 
1 files changed, 34 insertions, 5 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua index 5198b16..0b9f1f8 100644 --- a/luaotfload-database.lua +++ b/luaotfload-database.lua @@ -6,10 +6,35 @@ if not modules then modules = { } end modules ['luaotfload-database'] = {      license   = "GNU GPL v2"  } ---- TODO: if the specification is an absolute filename with a font not in the ---- database, add the font to the database and load it. There is a small ---- difficulty with the filenames of the TEXMF tree that are referenced as ---- relative paths... +--[[doc-- + +    Some statistics: + +        a) TL 2012,     mkluatexfontdb --force +        b) v2.4,        luaotfload-tool --update --force +        c) v2.4,        luaotfload-tool --update --force --formats=+afm,pfa,pfb +        d) Context,     mtxrun --script fonts --reload --force + +    (Keep in mind that Context does index fewer fonts since it +    considers only the contents of the minimals tree, not the +    tex live one!) + +                time (m:s)       peak VmSize (B) +            a     1:19              386 018 +            b     0:37              715 797 +            c     2:27            1 017 674 +            d     0:44            1 082 313 + +    Most of the increase in memory consumption from version 1.x to 2.2+ +    can be attributed to the move from single-pass to a multi-pass +    approach to building the index: Information is first gathered from +    all reachable fonts and only afterwards processed, classified and +    discarded.  Also, there is a good deal of additional stuff kept in +    the database now: two extra tables for file names and font families +    have been added, making font lookups more efficient while improving +    maintainability of the code. + +--doc]]--  local lpeg = require "lpeg" @@ -1481,7 +1506,7 @@ ot_fullinfo = function (filename,                                                english_names,                                                info) -    return { +    local res = {          file            = { base        = basename,                              full        = filename,                              subfont     = subfont, @@ -1491,6 +1516,10 @@ ot_fullinfo = function (filename,          style           = style,          version         = metadata.version,      } +    --- Closing the file manually is a tad faster and more memory +    --- efficient than having it closed by the gc +    fontloaderclose (metadata) +    return res  end  --[[doc--  | 
