diff --git a/_prof.entry.ts b/_prof.entry.ts new file mode 100644 index 0000000..8f0d1cb --- /dev/null +++ b/_prof.entry.ts @@ -0,0 +1,8 @@ +import { readFileSync } from 'fs'; +import { fontSubset } from './backend/font_util/font.js'; +const buf = readFileSync('font/令东齐伋复刻体.ttf'); +const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); +const text = '天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰余成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔'; +fontSubset(ab, text, { sourceType: 'ttf', outType: 'ttf' }); +const N = 500; +for (let i = 0; i < N; i++) fontSubset(ab, text, { sourceType: 'ttf', outType: 'ttf' }); diff --git a/_speed.entry.ts b/_speed.entry.ts new file mode 100644 index 0000000..7f5d9df --- /dev/null +++ b/_speed.entry.ts @@ -0,0 +1,16 @@ +import { performance } from 'perf_hooks'; +import { readFileSync } from 'fs'; +import { fontSubset } from './backend/font_util/font.js'; +const buf = readFileSync('font/令东齐伋复刻体.ttf'); +const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); +const cases: [string,string,any][] = [ + ['千字文woff2','天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰余成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔',{sourceType:'ttf',outType:'woff2'}], + ['千字文ttf','天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰余成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔',{sourceType:'ttf',outType:'ttf'}], +]; +for (const [label,text,opt] of cases) { + fontSubset(ab, text, opt); + const N = 300; + const t0 = performance.now(); + for (let i=0;i