Size: a a a

2020 December 05

Dv

Dr. Friedrich von Ne... in pro.net
Или смысел в том, что я потом суммирую эти числа, и поэтому настолько велика выгода от отсутствия бранчевания?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Или JIT настолько хорош, что выкинул всю ебаторию, и просто положил данные в ax, а забрал из eax?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Надо асмокод посмотреть
источник

E

EgorBo in pro.net
1) ? true : false эмитит бранчи к сожалению, у меня был пр чтобы это пофиксить но я его не доделал
2) Unsafe уберет нормализацию була в 0/1 (movsz)
источник

Dv

Dr. Friedrich von Ne... in pro.net
источник

E

EgorBo in pro.net
чот у тебя какая-то еботня на ансейф - там один мув должен быть))
источник

Dv

Dr. Friedrich von Ne... in pro.net
Я там для бенча написал сумму же
источник

E

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

Dv

Dr. Friedrich von Ne... in pro.net
В самом методе, конечно, один мув. Всё хорошо :)
источник

Dv

Dr. Friedrich von Ne... in pro.net
ConvertBenchmark.ConvertUnsafe(Boolean)
   L0000: push eax
   L0001: mov [esp], edx
   L0004: movzx eax, byte ptr [esp]
   L0008: pop ecx
   L0009: ret
источник

Dv

Dr. Friedrich von Ne... in pro.net
Мув хз
источник

Dv

Dr. Friedrich von Ne... in pro.net
Хз что за мув, но, наверное, так нужно?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Вообще-то всё ещё странный код получается
источник

Dv

Dr. Friedrich von Ne... in pro.net
Ансейф мог бы заоптимизироваться и получше
источник

Dv

Dr. Friedrich von Ne... in pro.net
А оно и правда копирует на стек мой бульб, а потом достаёт его обратно и кладёт… ээ, обратно в eax?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Кажется, там не то что мув, там вообще noop может быть
источник

Dv

Dr. Friedrich von Ne... in pro.net
Потому что взял из eax и положил в eax
источник

AT

Alexey Tkachenko in pro.net
Dr. Friedrich von Never
Потому что взял из eax и положил в eax
Из edx взял
источник

Dv

Dr. Friedrich von Ne... in pro.net
А хули!
источник

Dv

Dr. Friedrich von Ne... in pro.net
Ну вообще-то я тоже лох, да, забыл статик навесить
источник