Benchmark results¶
Recorded 2026-10-05. Historical measurement. Not a measurement of the latest release. Run status: completed.
Which implementation takes less time? Compare every workload with FreeType, the baseline. Lower time is better.
Observed median comparisons, not an overall score. Timing-only rows do not establish equal output; small differences may be noise.
Shorter bars = less time within a row. Click a column heading to sort. Scroll the table horizontally on small screens.
| Baseline | Median · vs baseline | Lowest medianAmong comparable implementations | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Font setupLoad a fontDejaVu Sans · size 20 | 18.1 µsBaselineFreeType. Timing only · equal output not established. | 32.3 µs1.78× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Load a font · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Font metadataRead the font nameDejaVu Sans · size 20 | 28 nsBaselineFreeType. Timing only · equal output not established. | 10.5 ns2.67× fasterfontdone. Timing only · equal output not established. | fontdoneTiming only · equal output not established | ||||||||||||||||||
Read the font name · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Font metadataRead font metricsDejaVu Sans · size 20 | 19 nsBaselineFreeType. Timing only · equal output not established. | 5 ns3.8× fasterfontdone. Timing only · equal output not established. | fontdoneTiming only · equal output not established | ||||||||||||||||||
Read font metrics · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Text measurementMeasure text width: “AV”DejaVu Sans · size 20 | 2.87 µsBaselineFreeType. Timing only · equal output not established. | 9.78 µs3.4× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Measure text width: “AV” · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Text measurementMeasure text bounds: “Hello”DejaVu Sans · size 20 | 8.17 µsBaselineFreeType. Timing only · equal output not established. | 3.42 µs2.39× fasterfontdone. Timing only · equal output not established. | fontdoneTiming only · equal output not established | ||||||||||||||||||
Measure text bounds: “Hello” · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Glyph renderingRender grayscale glyph: “A”DejaVu Sans · size 20 | 2.31 µsBaselineFreeType. Timing only · equal output not established. | 6.05 µs2.62× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Render grayscale glyph: “A” · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Glyph renderingRender “A” with forced autohintingDejaVu Sans · size 20 | 1.84 µsBaselineFreeType. Timing only · equal output not established. | 137 µs74.6× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Render “A” with forced autohinting · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Text measurementRead glyph metrics: “A”DejaVu Sans · size 20 | 2.85 µsBaselineFreeType. Timing only · equal output not established. | 5.02 µs1.76× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Read glyph metrics: “A” · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Glyph renderingRender monochrome glyph: “A”DejaVu Sans · size 20 | 2.02 µsBaselineFreeType. Timing only · equal output not established. | 8.09 µs4.01× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Render monochrome glyph: “A” · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Glyph renderingRender LCD glyph: “A”DejaVu Sans · size 20 | 2.15 µsBaselineFreeType. Timing only · equal output not established. | 10.2 µs4.74× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Render LCD glyph: “A” · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
| Glyph renderingRender a CJK glyphGenerated CJK font · size 20 | 1.16 µsBaselineFreeType. Timing only · equal output not established. | 2.94 µs2.53× slowerfontdone. Timing only · equal output not established. | FreeTypeTiming only · equal output not established | ||||||||||||||||||
Render a CJK glyph · Timing boundary: public operation; process memory is separate. Sample unit: benchmark sample. Percentiles show spread, not confidence intervals.
Workload ID: | |||||||||||||||||||||
No workloads match these filters. Try another search or reset the filters.
11 recorded workloads · 2026-10-05 · macOS-14.8.9-arm64-arm-64bit
Font loading, metadata, text measurement and glyph rendering. Complete multi-step text-layout pipelines are not measured in this snapshot.
Measurement details and hardware · Download results · Contributor benchmark guide