TGViewer
Типичный программист Типичный программист @tproger · 78K subscribers
Post #14933 3.49K
Python обработал 7,6 ГБ JSON за 0,12 секунды

Здесь интересно, куда уходило время. Дэниел Лемир, исследователь производительности, взял 2,2 млн событий GitHub, чтобы посчитать открытые PR по языкам. А Python при обычном разборе создавал кучу словарей, списков и строк, которые для этой задачи вообще не нужны.

В эксперименте с fastsimdjson и lazy=True Python-объекты создаются только для запрошенных полей. Сборка Python без GIL позволяет обрабатывать события в 64 потоках внутри одного процесса. У каждого потока свои счётчики, в конце их складывают. Зачем собирать весь объект, если нужна только малая часть?

У Лемира получилось около 0,12 секунды. Стенд: два Xeon Gold 6548N, 64 ядра, free-threaded Python 3.14.6 и fastsimdjson 0.6.0. Все 7,6 ГБ уже распакованы в RAM, чтение с диска и распаковка в замер не входят. Это лучший из семи прогонов, одинаковую статистику сверили всеми методами.
  • ❤ 7
  • 👍 6
  • 🤣 2
  • 🤯 1
  • 🎉 1
  • 🌚 1
  • 🌭 1
  • 👀 1
  • 🤝 1
  • 🫡 1
More from @tproger
  1. Oct 14, 2026Завтра иду на GoCloud Tech 2026 Кому интересно узнать какие-нибудь подробности с мероприят…
  2. Oct 14, 2026Сортировку ускорили в 26 раз. Общий алгоритм просто знал слишком мало У Axiom разные колон…
  3. Oct 14, 2026Post #14929
  4. Oct 14, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  5. Oct 14, 2026Пять лет новых функций. Сколько памяти теперь ест libcurl? Обычно от такого сравнения ждёш…
  6. Oct 13, 2026Post #14925
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →