В современных CPU есть один мощный, но глубоко недооценённый механизм - SIMD
(single instruction, multiple data). Это такие
специальные инструкции, которые могут за раз применить одну и ту же операцию к целому блоку данных размером 16, 32 или 64 байт и ускорить однопоточную программу в соответствующее число раз. Как обычная многопоточность, но с важным ограничением, что применяемая операция должна быть везде одна и та же. Из-за этой особенности использовать SIMD для нетривиальных задач сильно сложнее и требует гораздо более творческого подхода.
В докладе мы углубимся в нюансы SIMD-программирования, решая задачу парсинга чисел (в очень упрощённом виде: считать из stdin последовательность разделённых пробелами неотрицательных интов). Обсудим реализации из стандартной библиотеки и почему они тормозят, напишем свою с нуля и будем итеративно оптимизировать её с помощью SIMD, придя в конце к алгоритму, работающему в 50-100 раз быстрее scanf(). Также обсудим, как, не теряя производительности, расширить этот подход на более общий случай и как подобные техники используются в реальных парсерах вроде
simdjson.
1 view
2
0
3 months ago 02:17:05 1
Как числа влияют на нашу жизнь? Миссия мужчины и женщины, дата регистрации брака и совместимость
4 months ago 00:55:14 1
Python PANDAS - Полный Курс для Начинающих.
6 months ago 00:18:48 1
Урок 51 - Lingua Latina. Введение в латинский язык. Часть II (Подосинов, Щавелева)
7 months ago 01:09:34 11
БАННЫЕ ОБРЯДЫ. Повивальное дело. Хвойная баня с Баб Юлей.
8 months ago 02:07:59 2
Вечер с Дмитрием Конаныхиным 195 “Лунная зрадоперемога по-американски“
9 months ago 00:07:14 2
Парсинг сайтов через Google Таблицы
9 months ago 00:12:26 1
СЧАСТЛИВЫЕ ФИЛИППИНЦЫ НА МИНДАНАО / ЖИЗНЬ НА ОСТРОВЕ
10 months ago 00:52:18 1
Парсим числа через SIMD, Сергей Слотин
11 months ago 00:04:40 1
Про Парсинг. Что значит “Парсить“? Как работает Парсер?
12 months ago 01:01:02 1
ИГРА СЛОВ: как переводить книги? | Беседа с Владимиром Бабковым
12 months ago 00:11:24 1
Программируем калькулятор со скобками и приоритетами действий, используя стек
1 year ago 00:06:14 1
Большой гайд по парсингу на Python. Часть 3 Работаем с selenium
1 year ago 00:05:20 5
Millennium Place Barsha Heights Hotel 4* // обзор отеля // ОАЭ, Дубай 2023 / Викинг Туристик
1 year ago 00:06:40 1
Testis unus testis nullus
1 year ago 00:17:09 1
Swift-уроки: Simple MVVM part 2 - Request + Parse
1 year ago 00:13:27 1
C# ПРЕОБРАЗОВАНИЕ СТРОК | PARSE STRING | TRYPARSE STRING | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | Урок # 7
1 year ago 00:16:59 4
Swift-уроки: Simple MVVM part1 - TableView
1 year ago 00:15:23 1
ПРЕОБРАЗОВАНИЕ И ПРИВЕДЕНИЕ | ТИПОВ В C# | Явное| Неявное | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 50
1 year ago 00:15:45 1
Грамотный парсинг на Python - выгружаем товары с Wildberries с помощью API
1 year ago 00:04:52 1
Парсинг Сайтов с Помощью Chat GPT на Пайтон - ИИ заменит программистов?
1 year ago 00:14:35 1
Выполняем заказ на фрилансе | Телеграм бот для парсинга курсов с Binance P2P и Garantex на Python
1 year ago 00:03:11 1
ЛДПР предложила выделять субсидии на аренду жилья молодым семьям
1 year ago 00:07:37 1
Обучение парсингу на Python, парсинг любых сайтов, в том числе SPA
1 year ago 00:05:45 1
Что случилось с близкими Фредди Меркьюри после его ухода 🎵