Size: a a a

BY Microsoft .NET User Group

2018 August 02

A

Anatoly in BY Microsoft .NET User Group
EgorBo
в релизе хоть?)
-DCMAKE_BUILD_TYPE=Release воткну, щас проверю.
источник

A

Anatoly in BY Microsoft .NET User Group
о, это правильное замечание. Спасибо.
источник

A

Anatoly in BY Microsoft .NET User Group
https://gist.github.com/aensidhe/6a0b5e8d1501a4265205922025cbeb1c#file-2-txt - вот это уже больше похоже на правду
источник

E

EgorBo in BY Microsoft .NET User Group
теперь надо разбираться почему так медленно в шарпе))
источник

E

EgorBo in BY Microsoft .NET User Group
но скорее всего от несовсем бесплатных спанов + баундс чек на кажду итерацию внутри WriteFixInt32
источник

E

EgorBo in BY Microsoft .NET User Group
у тебя там вообще идет два слайса подряд
источник

E

EgorBo in BY Microsoft .NET User Group
в общем если бы ты писал в шарпе на поинтерах - было бы так же быстро
но небезапасно))
источник

A

Anatoly in BY Microsoft .NET User Group
хм. интересная гипотеза.
источник

E

EgorBo in BY Microsoft .NET User Group
у слайса внутри еще проверка + создание нового спана
источник

E

EgorBo in BY Microsoft .NET User Group
хотя мб при инлайне проверка вторая выпилится
источник

A

Anatoly in BY Microsoft .NET User Group
EgorBo
в общем если бы ты писал в шарпе на поинтерах - было бы так же быстро
но небезапасно))
а как получить доступ к типу Unsafe?
источник

E

EgorBo in BY Microsoft .NET User Group
Anatoly
а как получить доступ к типу Unsafe?
нугет пакет вроде
источник

A

Anatoly in BY Microsoft .NET User Group
EgorBo
в общем если бы ты писал в шарпе на поинтерах - было бы так же быстро
но небезапасно))
источник
2018 August 03

E

EgorBo in BY Microsoft .NET User Group
@aensidhe а зачем тебе там .AsSpan().GetPinnableReference() ?
источник

E

EgorBo in BY Microsoft .NET User Group
напиши просто &_buffer[0]
источник

E

EgorBo in BY Microsoft .NET User Group
передача через ref разименованного указателя - ну хз. по идее не должно в асме отличаться от просто передачи поинтера
источник

A

Anatoly in BY Microsoft .NET User Group
EgorBo
напиши просто &_buffer[0]
Thanks. ну и я наклепал версию на спанах без либы, просто посмотреть, насколько она медленнее пойнтеровой будет
источник

E

EgorBo in BY Microsoft .NET User Group
источник

E

EgorBo in BY Microsoft .NET User Group
Unsafe.WriteUnaligned ref короче генерит нормальный кот
источник

A

Anatoly in BY Microsoft .NET User Group
https://gist.github.com/aensidhe/6a0b5e8d1501a4265205922025cbeb1c#file-spancost-txt - в общем, спаны сколько-то стоят. но больше стоит моя логика.
источник