Przejdź do treści

Wydajność

Jak szybko go-slides buduje prezentację, przy jakim zużyciu pamięci, mierzone względem marp-cli na tej samej maszynie.

Poniższe wyniki PPTX dotyczą v0.5.0, a wyniki PDF wektorowego v0.4.0. Pierwsza tabela dotyczy v0.3.0, poprzedniego wydania, które renderuje slajdy współbieżnie i parsuje swoje czcionki raz (go-slides/slides#11).

go-slides i marp-cli 4.5.1 zostały uruchomione jako podprocesy na tych samych prezentacjach, na Apple M4 Max (16 CPU) ze średnim obciążeniem z minuty poniżej 8, w pięciu przeplatanych rundach po rozgrzewce. Czas to mediana czasu ściennego; pamięć to szczyt całego drzewa procesów (marp-cli steruje Chrome, którego procesy się liczą).

PrezentacjaFormatgo-slidesmarp-clipamięć go-slidespamięć marp-cli
100 slajdówHTML36 ms315 ms47 MiB140 MiB
100 slajdówPDF1,14 s1,88 s242 MiB1 509 MiB
100 slajdówPNG, każdy slajd0,97 s5,44 s225 MiB1 354 MiB
100 slajdówPPTX3,39 s8,03 s530 MiB1 373 MiB
gaia, 20 slajdówPDF283 ms1,57 s154 MiB1 315 MiB
matematyka i kod, 20 slajdówPNG, każdy slajd250 ms2,32 s168 MiB1 286 MiB

PDF wektorowy

W v0.4.0 PDF jest rysowany jako wektory (zobacz Wiersz poleceń). Ta sama maszyna i metoda, 2026-10-19:

Prezentacjago-slidesmarp-cliv0.3.0rozmiar go-slidesrozmiar marp-clirozmiar v0.3.0
100 slajdów306 ms1 763 ms1 147 ms758 KiB837 KiB10,0 MiB
gaia, 20 slajdów93 ms1 546 ms285 ms32 KiB66 KiB582 KiB
matematyka i kod, 20 slajdów140 ms1 643 ms294 ms124 KiB335 KiB638 KiB

Pamięć dla PDF ze 100 slajdów: 158 MiB wobec 1 512 MiB w marp-cli; czas CPU 0,9 s wobec 2,7 s.

Wyniki v0.4.0 dla PDF ze 100 slajdów zmierzono 2026-10-19 o 21:29, przy średnim obciążeniu z minuty 7,7, w trzech rundach: go-slides 306 ms, 758 KiB i 158 MiB; marp-cli 1 838 ms, 837 KiB i 1 512 MiB.

Edytowalny PPTX

Od v0.5.0 PPTX składa się z pól tekstowych, kształtów i obrazów (zobacz Wiersz poleceń). Zmierzono 2026-10-19 o 22:51, przy średnim obciążeniu z minuty 7,1, w trzech rundach:

Prezentacjago-slidesmarp-clirozmiar go-slidesrozmiar marp-clipamięć go-slidespamięć marp-cli
100 slajdów348 ms7 795 ms760 KiB7,2 MiB204 MiB1 370 MiB
gaia, 20 slajdów112 ms4 608 ms893 KiB4,8 MiB
matematyka i kod, 20 slajdów207 ms2 780 ms842 KiB1,5 MiB

Dla prezentacji ze 100 slajdów v0.4.0 potrzebowała 4,7 s, 4,8 MiB i 540 MiB. PPTX z marp-cli zawiera obrazy. Większość rozmiaru edytowalnej prezentacji to osadzone czcionki.

Dlaczego jest szybki

  • Brak przeglądarki do uruchomienia. marp-cli uruchamia Chrome przy każdym eksporcie PDF, obrazów i PPTX; go-slides renderuje przez go-webengine we własnym procesie.
  • Slajdy renderują się równolegle, domyślnie po cztery naraz, a każdy obraz jest zapisywany, gdy tylko przyjdzie jego kolej: długa prezentacja nigdy nie jest trzymana w pamięci jako obrazy.
  • Czcionki są parsowane raz na proces, a nie raz na slajd.

Czego nie wygrywa

  • Rozmiar PDF, w v0.3.0. Każdy slajd był w PDF obrazem: 10 MiB wobec 837 KiB dla prezentacji ze 100 slajdów. PDF wektorowy powyżej jest mniejszy niż ten z marp-cli.
  • Czas CPU na dużych prezentacjach. Cztery wątki robocze zużywają więcej CPU, niż pokazuje czas ścienny: w v0.3.0 3,2 s wobec 2,7 s w marp-cli dla PDF ze 100 slajdów (0,9 s dla PDF wektorowego).
  • Pamięć jest górnym ograniczeniem dla marp-cli: procesy Chrome współdzielą strony, które suma liczy w każdym z nich. Jego największy pojedynczy proces ma 220–320 MiB.

Metoda, każda prezentacja i tryb oraz polecenia do powtórzenia wyników są w BENCHMARKS.md.

Utworzono przez tannevaled

Zmodyfikowano przez tannevaled