Blog

Najszybsze API PDF do Markdown — benchmarki wobec PyMuPDF4LLM, Marker i docling

10 sierpnia 2026 · 4 min czytania


W skrócie: AnyMD konwertuje typowe PDF-y do Markdown w 0,3–0,8 sekundy — 4–10× szybciej niż PyMuPDF4LLM, Marker i docling. Bez kolejek, zadań asynchronicznych i czekania: synchroniczne API oraz przetwarzanie w pamięci w mniej niż sekundę.

AnyMD powstał w Rust nieprzypadkowo. Inne narzędzia do dokumentów działają jako lokalne biblioteki Python (blokujące i jednowątkowe) albo wykorzystują workerów kolejki. AnyMD jest skompilowanym binarium Rust z zoptymalizowanym parsowaniem: plik trafia do usługi, a Markdown wraca w tej samej odpowiedzi HTTP.

Benchmarki

Zmierzono czas konwersji trzech popularnych typów dokumentów w czterech narzędziach, na tym samym sprzęcie (Xeon 8 rdzeni, 16 GB RAM, SSD). Czasy są w sekundach — mniej znaczy lepiej.

DokumentStronyAnyMDPyMuPDF4LLMMarkerdocling
PDF badawczy120,4 s2,8 s4,1 s3,2 s
Raport biznesowy (PDF)480,8 s6,5 s14,2 s8,9 s
Manuskrypt DOCX850,6 sN/AN/A9,4 s
Prezentacja PPTX30 slajdów0,5 sN/AN/A5,7 s

PyMuPDF4LLM i Marker obsługują tylko PDF. docling obsługuje PDF i formaty Office, ale opiera się na Pythonie i ma istotny narzut dla każdego dokumentu. AnyMD obsługuje wszystkie formaty natywnie, z niemal stałym opóźnieniem niezależnie od typu wejścia.

Dlaczego Rust ma znaczenie

Parsowanie dokumentów jest pracą ograniczoną przez CPU: wydobywanie tekstu, analizowanie drzew XML w DOCX/PPTX i odtwarzanie układu z operatorów PDF. Biblioteki Python płacą koszt GIL przy każdej operacji. Binarium Rust kompiluje się do kodu natywnego, bez narzutu i pauz garbage collectora, z pełnym wykorzystaniem wątków.

Różnica nie jest akademicka: 48-stronicowy raport AnyMD konwertuje w 0,8 s, a narzędzia Python w 6–14 s. W potoku RAG przetwarzającym tysiące dokumentów ta różnica szybko rośnie.

Wypróbuj

curl https://anymd.net/api/convert \
  -H "Authorization: Bearer your-key" \
  -F "file=@report.pdf"

Darmowy pakiet obejmuje 100 stron miesięcznie bez karty. Pobierz klucz API — zajmuje to około 30 sekund.


← Czytaj dalej →