1
2
3
4
5\edef\sapolsky{\ignorespaces\cldloadfile{sapolsky}\removeunwantedspaces}
6
7\startluacode
8
9 function document.ResetSample(title)
10 document.elapsed = {
11 title = title,
12 times = { },
13 }
14 end
15
16 function document.RegisterSample(bodyfont,elapsed)
17 table.insert(document.elapsed.times, {
18 bodyfont = bodyfont,
19 elapsed = elapsed
20 })
21 end
22
23 function document.SaveSample()
24 if LUATEXENGINE == "luajittex" then
25 table.save(tex.jobname.."-jit.lua",document.elapsed)
26 else
27 table.save(tex.jobname..".lua",document.elapsed)
28 end
29 end
30
31 function document.ShowSample(filename)
32
33 local elapsed = table.load(file.nameonly(filename)..".lua")
34 local elapsedjit = table.load(file.nameonly(filename).."-jit.lua")
35 if elapsed and elapsedjit then
36 context.testpage { 6 }
37 context.starttabulate { "|l|l|lp|" }
38 context.HL()
39 context.NC() context.formatted.rlap("\\bf %s",elapsed.title)
40 context.NC()
41 context.NC()
42 context.NC() context.NR()
43 context.HL()
44 local times = elapsed.times
45 local timesjit = elapsedjit.times
46 for j=1,#times do
47 local t = times[j]
48 local tjit = timesjit[j]
49 context.NC() context(t.bodyfont)
50 context.NC() context(t.elapsed)
51 context.NC() context(tjit.elapsed)
52 context.NC() context.NR()
53 end
54 context.HL()
55 context.stoptabulate()
56 end
57 end
58
59 function document.SampleTitle(filename)
60 local elapsed = table.load(filename..".lua")
61 if elapsed then
62 context(elapsed.title)
63 end
64 end
65\stopluacode
66
67\appendtoks
68 \ctxlua{document.SaveSample()}
69\to \everystoptext
70
71\def\SampleCount{1000}
72\def\SampleCount{100}
73
74\unexpanded\def\RegisterSample#1
75 {\ctxlua{document.RegisterSample("#1","\elapsedtime")}}
76
77\unexpanded\def\ProcessSample#1
78 {\page
79 \ctxlua{document.ResetSample("#1")}
80 \resettimer \Sample {modern} \RegisterSample {modern}
81 \resettimer \Sample {pagella} \RegisterSample {pagella}
82 \resettimer \Sample {termes} \RegisterSample {termes}
83 \resettimer \Sample {cambria} \RegisterSample {cambria}
84 \resettimer \Sample {dejavu} \RegisterSample {dejavu}
85 \resettimer \Sample {ebgaramond} \RegisterSample {ebgaramond}
86 \resettimer \Sample {lucidaot} \RegisterSample {lucidaot}
87 \page }
88
89\unexpanded\def\ProcessBaselineSample#1
90 {\page
91 \ctxlua{document.ResetSample("#1")}
92 \resettimer \Sample {baseline} \RegisterSample {baseline}
93 \page }
94
95\unexpanded\def\Sample#1
96 {\setupbodyfont[#1]}
97
98\unexpanded\def\ShowSample#1
99 {\ctxlua{document.ShowSample("#1")}}
100
101\unexpanded\def\SampleTitle#1
102 {\ctxlua{document.SampleTitle("#1.lua")}}
103
104\continueifinputfile{onandonspeed000.tex}
105
106\starttext
107
108\ProcessSample{bodyfont}
109
110\setbox\scratchbox\vbox{\hsize1pt\tttf\sapolsky} \getnoflines{\htdp\scratchbox}
111
112\writestatus{!!!!!!}{noflines : \the\noflines}
113
114\stoptext
115
116
117 |