Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/hft_dev/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Один микросек - C++, low latency, concurrency, HFT@hft_dev P.38
HFT_DEV Telegram 38
Есть один очень мощный разработчик и исследователь Daniel Lemire (Блог, Github, X). Помимо прочего, он подарил нам simdjson, состоящий полностью из магии шаблонов, магии битовой арифметики, и магии SIMD.

В этом докладе Daniel рассказывает уроки, полученные при разработке библиотеки: https://www.youtube.com/watch?v=wlvKAT7SZIQ:
Что можно делать и не делать для ускорения парсинга, как избегать branch mispredictions, как ускорить валидацию utf-8, классификацию символов, обработку escape characters, про дорогой парсинг чисел, и про runtime dispatcing по архитектуре. Видео из 2019 года, с тех пор Даниэль и мейнтейнеры провели еще немало оптимизаций.

Если ты хорошо знаешь свои данные, то ты можешь достичь ещё большей скорости. Например, за счёт:
- шаблонных парсеров, настраиваемых на конкретное нюансы конкретного json'а
- знания структуры документа
- знания, что не будет unicode символов
- знания, что не будет whitespaces между значимыми символами
- знания, что не будет escape characters (\)
- пропуска ненужных тебе полей или всего сообщения (при определенных условиях)
- использования доп. потоков (пример)

Конечно, это не подходит для библиотек, для клиентских приложений, это очень хрупко, и не всегда парсинг json является самым узким местом.
🔥5👍2



tgoop.com/hft_dev/38
Create:
Last Update:

Есть один очень мощный разработчик и исследователь Daniel Lemire (Блог, Github, X). Помимо прочего, он подарил нам simdjson, состоящий полностью из магии шаблонов, магии битовой арифметики, и магии SIMD.

В этом докладе Daniel рассказывает уроки, полученные при разработке библиотеки: https://www.youtube.com/watch?v=wlvKAT7SZIQ:
Что можно делать и не делать для ускорения парсинга, как избегать branch mispredictions, как ускорить валидацию utf-8, классификацию символов, обработку escape characters, про дорогой парсинг чисел, и про runtime dispatcing по архитектуре. Видео из 2019 года, с тех пор Даниэль и мейнтейнеры провели еще немало оптимизаций.

Если ты хорошо знаешь свои данные, то ты можешь достичь ещё большей скорости. Например, за счёт:
- шаблонных парсеров, настраиваемых на конкретное нюансы конкретного json'а
- знания структуры документа
- знания, что не будет unicode символов
- знания, что не будет whitespaces между значимыми символами
- знания, что не будет escape characters (\)
- пропуска ненужных тебе полей или всего сообщения (при определенных условиях)
- использования доп. потоков (пример)

Конечно, это не подходит для библиотек, для клиентских приложений, это очень хрупко, и не всегда парсинг json является самым узким местом.

BY Один микросек - C++, low latency, concurrency, HFT


Share with your friend now:
tgoop.com/hft_dev/38

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? Hui said the time period and nature of some offences “overlapped” and thus their prison terms could be served concurrently. The judge ordered Ng to be jailed for a total of six years and six months. With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS):
from us


Telegram Один микросек - C++, low latency, concurrency, HFT
FROM American