Size: a a a

2020 January 06

OM

Oleg Morozov in pro.net
но я просто переписал у себя на
var bitIndex  = index - (dataIndex * BitsPerField);

чтоб точно не подорваться, что там вдруг используют старую версию
источник

U

Username in pro.net
Это можно как-то короче записать ? https://i.imgur.com/nBJstAD.png
источник

OM

Oleg Morozov in pro.net
ну тебе вот  нужен DimRem с 1 делением и можно без каста через FieldOffset(0+offset) прочесть байт
источник

OM

Oleg Morozov in pro.net
но если это не горячий участок, то в принципе всё нормально
источник

U

Username in pro.net
не горячий, просто интересно можно ли сделать это как-то красивее
источник

OM

Oleg Morozov in pro.net
красивее это читабельнее в первую очередь
сейчас любой, кто зайдет поймет, что происходит :)
источник

U

Username in pro.net
¯\_(ツ)_/¯
источник

OM

Oleg Morozov in pro.net
@EgorBo нашел там же у джексона
https://jacksondunstan.com/articles/4654

можно сделать fixed без стекчека
источник

OM

Oleg Morozov in pro.net
прикрутил DivRem
на 3 миллионах итераций выигрыш 0.5мс
при суммарных 4.2мс

то есть на моих масштабах это обычно 0 :)
но лишним не будет
спасибо еще раз
источник

E

EgorBo in pro.net
на ил2цпп скорее всего будет даже регресс
источник

E

EgorBo in pro.net
потому что ил2цпп должен уметь оптимиизировать и так
источник

E

EgorBo in pro.net
а хак внутри DivRem его запутает
источник

E

EgorBo in pro.net
но это при условии что il2cpp юзает clang
источник

E

EgorBo in pro.net
если gcc - то всё норм
источник

E

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

E

EgorBo in pro.net
т.е. мамкина оптимизация запутала кланг.
но хорошая новость что я через чувака это зарепортил, и это поправили уже в мастере
источник

E

EgorBo in pro.net
и кстати, на новых интелах 10ххх idiv раза в 4 стал быстрее
источник

E

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

OM

Oleg Morozov in pro.net
EgorBo
а хак внутри DivRem его запутает
я только что протестил на ПК и мобилке
источник

OM

Oleg Morozov in pro.net
буст есть
источник