Size: a a a

2020 January 18

E

EgorBo in pro.net
взяли мой код, написали комменты и я даже сам понял чё сделал
источник

E

Ed in pro.net
EgorBo
взяли мой код, написали комменты и я даже сам понял чё сделал
Я с комментами не понял)
источник

RB

Roman Bukin in pro.net
Ну всё равно круть, чо)
источник

E

EgorBo in pro.net
@vanbukin единственное, я думаю что можно как-то реализовать так, чтобы потом в конце не пришлось занулять дырки между байтами
источник

E

EgorBo in pro.net
и ScalarUnsafe я не вставил
источник

RB

Roman Bukin in pro.net
EgorBo
@vanbukin единственное, я думаю что можно как-то реализовать так, чтобы потом в конце не пришлось занулять дырки между байтами
А никак
источник

RB

Roman Bukin in pro.net
Нули то тоже конвертятся после того как ты вначале их раздвигаешь
источник

RB

Roman Bukin in pro.net
Так что у тебя два пути
источник

RB

Roman Bukin in pro.net
Либо раздвигать не по 4, а по 2 байта вначале, конвертить в ascii, а потом ещё отдельно шафлить (потому что они у тебя будут подряд идти)

Либо как сейчас - раздвинуть по 4, а ненужное через and потом нулями забить
источник

E

EgorBo in pro.net
источник

RB

Roman Bukin in pro.net
У _mm_and_si128 (Sse2.And) CPI 0.33, у _mm_shuffle_epi8 (Ssse3.Shuffle) - 0.5 на Ivy, на Haswell и выше - 1
источник

RB

Roman Bukin in pro.net
Так что ничего тебе делать не надо - и так топчик)
источник

E

EgorBo in pro.net
не в латенси дело
источник

RB

Roman Bukin in pro.net
EgorBo
не в латенси дело
Оно одинаковое
источник

E

EgorBo in pro.net
а в том что нужно больше регистров
источник

RB

Roman Bukin in pro.net
EgorBo
а в том что нужно больше регистров
Дык они и так тебе будут нужны - с шафлом то
источник

RB

Roman Bukin in pro.net
Что там маска, что тут маска
источник

E

EgorBo in pro.net
кстати, там в треде другой чувак предложил реализацию попроще на Bmi2.X64.ParallelBitDeposit

https://github.com/dotnet/aspnetcore/pull/18406#discussion_r368229268
источник

E

EgorBo in pro.net
угадайте почему она говно?
источник

E

EgorBo in pro.net
работает нормально на нормальных процессорах. на АМД всасывает адски
источник