Size: a a a

2019 December 12

LW

Lev Walkin in ErlangRus
ну и компиляторописатели используют его и анализируют
источник

W

Wild_Wind in ErlangRus
Lev Walkin
ну и компиляторописатели используют его и анализируют
Они щас на IR, llvm переходят.
Ибо проще написать бек к llvm, чем пилить с нуля.
Но те кто хочет, те пишут.
источник

LW

Lev Walkin in ErlangRus
оно не очень умеет всякие SSE/simd
источник

LW

Lev Walkin in ErlangRus
Вон год назад кто-то выложил json парсер, делающий два гигабита на ядро. Тоже SSE intrinsics. На llvm бы не сделал
источник

W

Wild_Wind in ErlangRus
Lev Walkin
оно не очень умеет всякие SSE/simd
Ну это да, там же RISC-based за основу брался.
А где риски и где sse/avx?
источник

W

Wild_Wind in ErlangRus
Lev Walkin
Вон год назад кто-то выложил json парсер, делающий два гигабита на ядро. Тоже SSE intrinsics. На llvm бы не сделал
Одно дело писать компилятор под какую-то новую архитектуру, и совсем другое оптимизированный под железо софт.
источник

W

Wild_Wind in ErlangRus
Разные цели - разные инструменты.
источник

LW

Lev Walkin in ErlangRus
Wild_Wind
Разные цели - разные инструменты.
к чему этот тезис?
источник

W

Wild_Wind in ErlangRus
Lev Walkin
к чему этот тезис?
К тому, что если я буду писать под новую, к примеру arm-based архитектуру, то мне проще прикрутить бек к llvm, нежели писать с нуля.

>"Вон год назад кто-то выложил json парсер, делающий два гигабита на ядро. Тоже SSE intrinsics. На llvm бы не сделал"
А это не компилятор, это оптимизированный под доп.инструкции процессора софт.

Вещи разные.
источник

YP

Yuri Petrov in ErlangRus
Lev Walkin
Вон год назад кто-то выложил json парсер, делающий два гигабита на ядро. Тоже SSE intrinsics. На llvm бы не сделал
Оп, а можно подробнее про парсеры на ASM? У меня 2 года назад проблема была, но не с JSON,  а xml, там файл что-то в районе 5 или 7 ГБ был
источник

LW

Lev Walkin in ErlangRus
Wild_Wind
К тому, что если я буду писать под новую, к примеру arm-based архитектуру, то мне проще прикрутить бек к llvm, нежели писать с нуля.

>"Вон год назад кто-то выложил json парсер, делающий два гигабита на ядро. Тоже SSE intrinsics. На llvm бы не сделал"
А это не компилятор, это оптимизированный под доп.инструкции процессора софт.

Вещи разные.
Я не очень понимаю, это мысли вслух или возражение на какой-то мой стейтмент.
источник

W

Wild_Wind in ErlangRus
Уже не важно.
источник

LW

Lev Walkin in ErlangRus
Yuri Petrov
Оп, а можно подробнее про парсеры на ASM? У меня 2 года назад проблема была, но не с JSON,  а xml, там файл что-то в районе 5 или 7 ГБ был
В виндах очень быстрый парсер xml в дллках .net вроде был. Не помню скорость, впрочем. Но так сходу побить его не получалось.
источник

LW

Lev Walkin in ErlangRus
Yuri Petrov
Оп, а можно подробнее про парсеры на ASM? У меня 2 года назад проблема была, но не с JSON,  а xml, там файл что-то в районе 5 или 7 ГБ был
Парсеры как нужно писать: смотреть, чтобы делать минимум инструкций за байт парсинга. Как делать? Надо загружать сразу 128 бит и смотреть, есть ли в них нужный байт/маска/паттерн одной simd-инструкцией
источник

YP

Yuri Petrov in ErlangRus
Lev Walkin
В виндах очень быстрый парсер xml в дллках .net вроде был. Не помню скорость, впрочем. Но так сходу побить его не получалось.
Спасибо за наводку, поищу :)
источник

PG

Pïg Grëënëst in ErlangRus
Alexxz a15e
У 3 из 4 новых аккаунтов аниме персонажи на аватарах. Что ж ботоводы на таких глупостях палятся-то...
Эти ещё ничего, вот когда у всех ботов одна и та же пикча с фотостока
источник

SY

Sergey Yelin in ErlangRus
Yuri Petrov
Оп, а можно подробнее про парсеры на ASM? У меня 2 года назад проблема была, но не с JSON,  а xml, там файл что-то в районе 5 или 7 ГБ был
На ассемблере не видел, но вот есть такой, например, https://github.com/lemire/simdjson
источник

LW

Lev Walkin in ErlangRus
я про него, да. технически, это сиплбсплюс с интринсиками, но для того, чтобы такое писать, думают в предметке ассемблера: load/store, register transfer, pipeline management, etc. https://github.com/lemire/simdjson/blob/master/src/haswell/simd.h
источник

LW

Lev Walkin in ErlangRus
Lev Walkin
я про него, да. технически, это сиплбсплюс с интринсиками, но для того, чтобы такое писать, думают в предметке ассемблера: load/store, register transfer, pipeline management, etc. https://github.com/lemire/simdjson/blob/master/src/haswell/simd.h
зная c++, но не асм, ты такое не только не напишешь, но даже не прочтёшь.
источник

YP

Yuri Petrov in ErlangRus
Спасибо
источник