Hi,
Sum up:
define a font usng typescripts takes 64.797 seconds.
define a font like \definefont[a][file:SimSun.ttf] takes 55.548 seconds
define a font like \definefont[a][file:SimSun] takes 4.329 seconds
define a font like \font\a="[simsun]" takes 1.812 seconds
Jonathan and Jin-Hwan, sorry for the noise. I am now sure that it is a
context bug, not xetex's.
Yue Wang
2009/5/12 Yue Wang
Hi, Hans and Jonathan:
I made some testing samples in ConTeXt to test XeTeX. but the result is quite strange. All benchmark are get from the second run:
Sample 1:
\definefont[a][file:SimSun] \starttext \dorecurse{10000}{ hello {\a 你好}} \stoptext
And here is the result:
XeTeX: TeXExec | runtime: 7.25 LuaTeX: MTXrun | total runtime: 6.719
This is considerablly ok. So we can say that the font switching is pretty fast.
Sample 2:
\definefont[a][file:AdobeSongStd-Light.otf] \starttext \dorecurse{10000}{ hello {\a 你好}} \stoptext
XeTeX: TeXExec | runtime: 63.65 LuaTeX: MTXrun | total runtime: 8.156
Here I only change the font from SimSun to Adobe Song (the two fonts are almost at the same sice [~10M]). But the xetex result is very differt from the previous run. it consumes one minute to compile the file.
Sample 3:
\starttypescript[serif] [myzhfont] \definefontsynonym [Serif] [file:SimSun] \definefontsynonym [SerifBold] [file:SimSun] \definefontsynonym [SerifItalic] [file:SimSun] \definefontsynonym [SerifBoldItalic] [file:SimSun] \stoptypescript
\starttypescript[sans] [myzhfont] \definefontsynonym [Sans] [file:SimSun] \definefontsynonym [SansBold] [file:SimSun] \definefontsynonym [SansItalic] [file:SimSun] \definefontsynonym [SansBoldItalic] [file:SimSun] \stoptypescript
\starttypescript[mono] [myzhfont] \definefontsynonym [Mono] [file:SimSun] \definefontsynonym [MonoBold] [file:SimSun] \definefontsynonym [MonoItalic] [file:SimSun] \definefontsynonym [MonoBoldItalic] [file:SimSun] \stoptypescript
\definetypeface [myzhfont] [rm] [serif][myzhfont] [default] \definetypeface [myzhfont] [ss] [sans] [myzhfont] [default] \definetypeface [myzhfont] [tt] [mono] [myzhfont] [default]
\def\a{\myzhfont} \starttext \dorecurse{10000}{ hello {\a 你好}} \stoptext
XeTeX: TeXExec | runtime: 64.797 LuaTeX: MTXrun | total runtime: 10.797
Here we use SimSun since in the first sample xetex can load simsun quite fast. However, in this time we define a typescript, and make all the styles fall into SimSun. Now xetex behaves quite strangely: it uses one minutes to compile this single document...
So my question is - why loading otf is so slow? - is this a bug in context or in xetex? can it be fixed? - how can we make sample 3 (using typescript) run faster?
Thanks.
Yue Wang