И снова самый быстрый парсер JSON. Очередной

За свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением — не все норм. Когда я только начинал работать с PHP, я списывал это на скриптовость языка. Отчасти из‑за этого я даже поменял стек. Но когда приходили по‑настоящему большие файлы, это всегда было больно. Иногда — очень. Был проект, где мы ждали не обработку информации бизнес‑логикой, а банального парсинга. Файлы доходили до десятков гигабайт и не всегда влезали в оперативку. Тогда я и заработал себе персональный todo — разобраться с этим раз и навсегда. Сейчас, находясь в поиске новых возможностей, я решил вспомнить эту старую боль. Я уже давно не PHP‑разработчик, но проблема в индустрии всё та же. Объемы данных растут, требования тоже, а воз и ныне там. Нет, есть море крутых решений. Даже тут, на Хабре. Но для меня всё не то. Мне нужно решение, а не костыль. То есть: никакой кодогенерации и никаких JIT (я не противник JIT, просто не хочу тянуть эту сложность). Я ступил на тонкий лед: в Go есть классная штука — пакет unsafe . Почему классная? Потому что она позволяет обойти тяжелые ненужные проверки. Плюс побитовые операции для ускорения всего, до чего только смогли дотянуться руки. Пока изучал чужие парсеры, столкнулся с обманом в репозиториях, подкручиванием статистики (куда же без него?) и перекладыванием ответственности (и аллокаций) на сторону разработчиков. Заглянуть под капот

https://habr.com/ru/articles/1053528/

#go #golang #json #zeroallocation #zerocopy #simd #avx2 #highload #unsafe #парсинг

И снова самый быстрый парсер JSON. Очередной

За свои 17+ лет в активной разработке я встречал много проблем, но одна преследовала меня постоянно: JSON. Нет, с самим форматом все ок, но вот с его чтением —...

Хабр
GitHub - avsm/httpz: Zero heap allocation HTTP server using OxCaml. v experimental!

Zero heap allocation HTTP server using OxCaml. v experimental! - avsm/httpz

GitHub

[Перевод] ZLinq — Zero-Allocation LINQ-библиотека для.NET

В прошлом месяце я зарелизил ZLinq v1 — революционную LINQ-библиотеку, которая достигает zero allocation на структурах и дженериках. Она может похвастаться такими расширениями, как LINQ to Span, LINQ to SIMD, LINQ to Tree (FileSystem, JSON, GameObject и т.д.), drop-in replacement Source Generator для произвольных типов, поддержкой нескольких платформ, включая .NET Standard 2.0, Unity и Godot и на данный момент ZLinq имеет более 2000 звезд на GitHub.

https://habr.com/ru/companies/otus/articles/915662/

#ZLinq #LINQ_NET #ZeroAllocation #c# #C#LINQ #Производительность_LINQ

ZLinq — Zero-Allocation LINQ-библиотека для.NET

В прошлом месяце я зарелизил ZLinq v1 — революционную LINQ-библиотеку, которая достигает zero allocation на структурах и дженериках. Она может похвастаться такими расширениями, как LINQ to Span, LINQ...

Хабр
“ZLinq”, a Zero-Allocation LINQ Library for .NET

I’ve released ZLinq v1 last month! By building on structs and generics, it achieves zero allocations. It includes extensions like LINQ to…

Medium
【C#】ZeroAllocationへの道 - 究極のメモリ最適化テクニック - Qiita

はじめにメモリアロケーションの最適化は、高パフォーマンスアプリケーションにおいて重要な要素です。今回は、実際のプロジェクトで使える具体的なテクニックをまとめてみました。目次なぜZeroAll…

Qiita