Перейти до вмісту

Продуктивність

Як швидко go-slides збирає презентацію і скільки пам'яті для цього потрібно, у порівнянні з marp-cli на тій самій машині.

Показники PPTX нижче — для v0.5.0, а показники векторного PDF — для v0.4.0. Перша таблиця — для v0.3.0, попереднього випуску, який рендерить слайди одночасно й розбирає свої шрифти один раз (go-slides/slides#11).

go-slides і marp-cli 4.5.1 запускали як підпроцеси на тих самих презентаціях, на Apple M4 Max (16 CPU) із навантаженням за 1 хвилину нижче 8, п’ять чергованих раундів після прогріву. Час — медіана реального часу; пам’ять — пік усього дерева процесів (marp-cli керує Chrome, чиї процеси враховуються).

ПрезентаціяВивідgo-slidesmarp-cliпам’ять go-slidesпам’ять marp-cli
100 слайдівHTML36 мс315 мс47 МіБ140 МіБ
100 слайдівPDF1,14 с1,88 с242 МіБ1 509 МіБ
100 слайдівPNG, кожен слайд0,97 с5,44 с225 МіБ1 354 МіБ
100 слайдівPPTX3,39 с8,03 с530 МіБ1 373 МіБ
gaia, 20 слайдівPDF283 мс1,57 с154 МіБ1 315 МіБ
математика й код, 20 слайдівPNG, кожен слайд250 мс2,32 с168 МіБ1 286 МіБ

Векторний PDF

У v0.4.0 PDF малюється векторами (див. Командний рядок). Та сама машина й метод, 2026-10-19:

Презентаціяgo-slidesmarp-cliv0.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, при навантаженні за 1 хвилину 7,7, за три раунди: go-slides 306 мс, 758 КіБ і 158 МіБ; marp-cli 1 838 мс, 837 КіБ і 1 512 МіБ.

Редагований PPTX

Починаючи з v0.5.0 PPTX складається з текстових блоків, фігур і зображень (див. Командний рядок). Виміряно 2026-10-19 о 22:51, при навантаженні за 1 хвилину 7,1, за три раунди:

Презентаціяgo-slidesmarp-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 вище менший за PDF від marp-cli.
  • Процесорний час на великих презентаціях. Чотири воркери витрачають більше CPU, ніж показує реальний час: у 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