Benchmark results¶
Recorded 2026-09-21. 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 | 17.4 µsBaselineFreeType. Timing only · equal output not established. | 10.4 µs1.67× fasterfontdone. Timing only · equal output not established. | fontdoneTiming 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 | 27.5 nsBaselineFreeType. Timing only · equal output not established. | 12 ns2.29× 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 | 21 nsBaselineFreeType. Timing only · equal output not established. | 5 ns4.2× 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.2 µsBaselineFreeType. Timing only · equal output not established. | 6.44 µs2.92× 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 | 5.34 µsBaselineFreeType. Timing only · equal output not established. | 2.17 µs2.47× 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 | 1.96 µsBaselineFreeType. Timing only · equal output not established. | 3.98 µs2.02× 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.48 µsBaselineFreeType. Timing only · equal output not established. | 98.8 µs66.7× 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.22 µsBaselineFreeType. Timing only · equal output not established. | 3.98 µs1.79× 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 | 1.87 µsBaselineFreeType. Timing only · equal output not established. | 6.04 µs3.24× 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.03 µsBaselineFreeType. Timing only · equal output not established. | 9.5 µs4.69× 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.02 µsBaselineFreeType. Timing only · equal output not established. | 3.44 µs3.39× 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-09-21 · 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