Size: a a a

Programming Offtop

2020 November 27

IP

Iaroslav Postovalov in Programming Offtop
Dmitry
Кстати котлин нейтив наверное оптимизирует булены так. Потому что ллвм такие оптимизации наверняка умеет.
наверняка - это умеет, или вы так думаете?
источник

IP

Iaroslav Postovalov in Programming Offtop
у llvm хорошая дока по всем пассам, можно сказать достоверно
источник

D

Dmitry in Programming Offtop
Я так думаю. Мне лень сейчас выяснять точно, надо работу работать -)
источник

IP

Iaroslav Postovalov in Programming Offtop
Dmitry
Я так думаю. Мне лень сейчас выяснять точно, надо работу работать -)
ну вот это хотя бы возможно. в той же жвм один @shipilev знает, как оно оптимизируется
источник

IP

Iaroslav Postovalov in Programming Offtop
Dmitry
Я так думаю. Мне лень сейчас выяснять точно, надо работу работать -)
ну и JITWatch, хехехе
источник

VP

Vladimir Petrakovich in Programming Offtop
Да нигде это скорее всего так из коробки не оптимизируется, потому что это компромисс память-процессор и минус атомарные операции.
А если очень надо, есть BitSet
источник

D

Dmitry in Programming Offtop
Vladimir Petrakovich
Да нигде это скорее всего так из коробки не оптимизируется, потому что это компромисс память-процессор и минус атомарные операции.
А если очень надо, есть BitSet
То есть процессору сложнее посмотреть второй бит в байте, чем первый?
источник

VP

Vladimir Petrakovich in Programming Offtop
Dmitry
То есть процессору сложнее посмотреть второй бит в байте, чем первый?
Посмотреть на второй бит в отрыве от остальных - сложнее, да
источник

VP

Vladimir Petrakovich in Programming Offtop
И поменять его тоже
источник

D

Dmitry in Programming Offtop
Так то кеш линия больше байта, так что синхронизировать изменения надо будет в любом случае.
источник

D

Dmitry in Programming Offtop
Там в память, если я правильно помню, идут куски по 64 бита. То есть положить в соседние байты - быстрее не будет.
источник

AN

Alexander Nozik in Programming Offtop
саша сок #KotlinGang
мне кто-то говорил что котлин несколько буленов в один байт пихает, это так?
Адрес все равно дороже этого байта.
источник

AM

Andrew Mikhaylov in Programming Offtop
Dmitry
То есть процессору сложнее посмотреть второй бит в байте, чем первый?
А давно в случае с обычным bool процессоры начали смотреть на конкретно первый бит байта? Мне всегда казалось, что там более простые операции над равенством байта нулю целиком.
источник

VP

Vladimir Petrakovich in Programming Offtop
Dmitry
Так то кеш линия больше байта, так что синхронизировать изменения надо будет в любом случае.
Так ему даже внутри себя это сделать сложнее.
Сомневаюсь что, в x86 есть операции вида "выставить n-й бит в байте по такому-то адресу".
источник

AN

Alexander Nozik in Programming Offtop
Dmitry
Кстати котлин нейтив наверное оптимизирует булены так. Потому что ллвм такие оптимизации наверняка умеет.
Это бесполезная вещь. Реально много булей в одном месте практически не бывает. А где бывает берут бит-сеты и делают руками. Но это оооочень редко
источник

D

Dmitry in Programming Offtop
Alexander Nozik
Это бесполезная вещь. Реально много булей в одном месте практически не бывает. А где бывает берут бит-сеты и делают руками. Но это оооочень редко
Да я больше про оптимизацию в общем виде. Когда есть массив интов, и мы не кладем каждый инт в свой 32 или 64 бит кусочек.
Когда энумы в инт сворачиваются и т.п.
источник

AN

Alexander Nozik in Programming Offtop
Dmitry
Да я больше про оптимизацию в общем виде. Когда есть массив интов, и мы не кладем каждый инт в свой 32 или 64 бит кусочек.
Когда энумы в инт сворачиваются и т.п.
Для массивов есть отдельная сущность int[]/IntArray, которая как правило аллоцируется куском. Оптимизаций, чтобы, скажем лист интов аллоцировался куском толком нет, но их пытаются сделать.
источник

VP

Vladimir Petrakovich in Programming Offtop
Dmitry
Да я больше про оптимизацию в общем виде. Когда есть массив интов, и мы не кладем каждый инт в свой 32 или 64 бит кусочек.
Когда энумы в инт сворачиваются и т.п.
Про свой кусучек 32-битного инта не совсем понял. Он же и есть 32 бита. Можете прояснить?
источник

AN

Alexander Nozik in Programming Offtop
Слушайте, а в релизной идее куда-то убирается индикатор ошибок. Можно его вернуть?
источник

с#

саша сок #KotlinGang... in Programming Offtop
Vladimir Petrakovich
Про свой кусучек 32-битного инта не совсем понял. Он же и есть 32 бита. Можете прояснить?
ну типа 1 в битах можно записать как 00000000000000000000000000000001 и мб имелось ввиду, что это и оптимизируется
источник