Производительность
go-slides и marp-cli 4.5.1 запускались как подпроцессы на одних и тех же презентациях, на Apple M4 Max (16 процессоров) при средней загрузке за минуту ниже 8, пять чередующихся раундов после прогрева. Время — медиана реального времени; память — пик всего дерева процессов (marp-cli управляет Chrome, процессы которого учитываются).
| Презентация | Формат | go-slides | marp-cli | память go-slides | память marp-cli |
|---|---|---|---|---|---|
| 100 слайдов | HTML | 36 мс | 315 мс | 47 МиБ | 140 МиБ |
| 100 слайдов | 1,14 с | 1,88 с | 242 МиБ | 1 509 МиБ | |
| 100 слайдов | PNG, каждый слайд | 0,97 с | 5,44 с | 225 МиБ | 1 354 МиБ |
| 100 слайдов | PPTX | 3,39 с | 8,03 с | 530 МиБ | 1 373 МиБ |
| gaia, 20 слайдов | 283 мс | 1,57 с | 154 МиБ | 1 315 МиБ | |
| математика и код, 20 слайдов | PNG, каждый слайд | 250 мс | 2,32 с | 168 МиБ | 1 286 МиБ |
Векторный PDF
В v0.4.0 PDF рисуется векторами (см. Командная строка). Та же машина и метод, 2026-10-19:
| Презентация | go-slides | marp-cli | v0.3.0 | размер go-slides | размер marp-cli | размер v0.3.0 |
|---|---|---|---|---|---|---|
| 100 слайдов | 306 мс | 1 763 мс | 1 147 мс | 758 КиБ | 837 КиБ | 10,0 МиБ |
| gaia, 20 слайдов | 93 мс | 1 546 мс | 285 мс | 32 КиБ | 66 КиБ | 582 КиБ |
| математика и код, 20 слайдов | 140 мс | 1 643 мс | 294 мс | 124 КиБ | 335 КиБ | 638 КиБ |
Память для PDF из 100 слайдов: 158 МиБ против 1 512 МиБ у marp-cli; процессорное время 0,9 с против 2,7 с.
Данные v0.4.0 для PDF из 100 слайдов измерены 2026-10-19 в 21:29 при средней загрузке за минуту 7,7, за три раунда: go-slides 306 мс, 758 КиБ и 158 МиБ; marp-cli 1 838 мс, 837 КиБ и 1 512 МиБ.
Редактируемый PPTX
Начиная с v0.5.0 PPTX состоит из текстовых блоков, фигур и картинок (см. Командная строка). Измерено 2026-10-19 в 22:51 при средней загрузке за минуту 7,1, за три раунда:
| Презентация | go-slides | marp-cli | размер go-slides | размер marp-cli | память go-slides | память marp-cli |
|---|---|---|---|---|---|---|
| 100 слайдов | 348 мс | 7 795 мс | 760 КиБ | 7,2 МиБ | 204 МиБ | 1 370 МиБ |
| gaia, 20 слайдов | 112 мс | 4 608 мс | 893 КиБ | 4,8 МиБ | ||
| математика и код, 20 слайдов | 207 мс | 2 780 мс | 842 КиБ | 1,5 МиБ |
Для презентации из 100 слайдов v0.4.0 тратил 4,7 с, 4,8 МиБ и 540 МиБ. PPTX у marp-cli состоит из картинок. Большая часть размера редактируемой презентации приходится на встроенные шрифты.
Почему это быстро
- Не нужно запускать браузер. marp-cli запускает Chrome для каждого экспорта PDF, изображений и PPTX; go-slides рисует с помощью go-webengine внутри собственного процесса.
- Слайды рисуются параллельно, по четыре одновременно по умолчанию, и каждое изображение записывается, как только подходит его очередь: длинная презентация никогда не хранится в памяти в виде изображений.
- Шрифты разбираются один раз на процесс, а не на каждый слайд.
Где он не выигрывает
- Размер PDF в v0.3.0. Каждый слайд был изображением в PDF: 10 МиБ против 837 КиБ для презентации из 100 слайдов. Векторный PDF выше меньше, чем у marp-cli.
- Процессорное время на больших презентациях. Четыре рабочих потока тратят больше процессорного времени, чем показывает реальное: в v0.3.0 — 3,2 с против 2,7 с у marp-cli для PDF из 100 слайдов (0,9 с для векторного PDF).
- Память у marp-cli — верхняя оценка: процессы Chrome делят страницы, которые сумма учитывает в каждом. Самый большой отдельный процесс — 220–320 МиБ.
Метод, каждая презентация и режим, а также команды для воспроизведения результатов приведены в BENCHMARKS.md.
Created on by tannevaled
Modified on by tannevaled