Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 July 17

A

Andrew in IT KPI C/C++ ХВ (не UB)
Arjaz
Иногда тебе нужно, чтобы компилятор не лез с оптимизациями, а дал тебе скомпилить то, что ты написал
Ок, дебаг и релиз версия
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Потому что шланг, например, умеет сумму промежутка O(n) до O(1) сворачивать, а линейный подсчёт установленных единиц до popcnt
источник

A

Andrew in IT KPI C/C++ ХВ (не UB)
Зачем промежуточные?
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Andrew
Ок, дебаг и релиз версия
Да
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Хз, я никогда не пользую их
источник

A

András in IT KPI C/C++ ХВ (не UB)
Arjaz
Это я о том, что не нужно судить по количеству строк кода
судити варто, але в питаннях часу не варто спиратися на це
источник

A

András in IT KPI C/C++ ХВ (не UB)
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Vsevolod
простым циклом внезапно эффективнее в 40 раз
а вот тут уже шланг виноват
gcc в той же ситуации (не стринга, а "...") делает всё за 0 ms
но с обычной стрингой (т.е. по сути в реальной ситуации) шланг внезапно разительно быстрее
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
с O3 да, крейтор автоматом O2 подкидвывает для релиза, что в принципе-то логичнее/надежнее
источник

A

András in IT KPI C/C++ ХВ (не UB)
Vsevolod
с O3 да, крейтор автоматом O2 подкидвывает для релиза, что в принципе-то логичнее/надежнее
в мене воно спочатку взагалі (при всіх крім О0) зжимало 10**10 операцій до 0😅
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
В общем, забавно получается. Победителя среди компиляторов нет)
источник

A

András in IT KPI C/C++ ХВ (не UB)
О2 показує ті ж числа, тільки кожне на ~50 більше
источник

A

András in IT KPI C/C++ ХВ (не UB)
при О0 ітератори виграють вдвічі
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Итого:
"..." для шланга — это вызов. 13 мс в форе, секунда в итераторах (я чуть уменьшил количество итераций). gcc делает за 0 ms (в наносекунды уже не буду углубляться)
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
а стринги (реальная ситуация) — тут шланг быстрее ощутимо
источник

AB

ART B in IT KPI C/C++ ХВ (не UB)
Это чат пожарников стриптизеров, какие стринги в шлангах?
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
ART B
Это чат пожарников стриптизеров, какие стринги в шлангах?
тсс, мы шифруемся
источник

A

András in IT KPI C/C++ ХВ (не UB)
Vsevolod
Итого:
"..." для шланга — это вызов. 13 мс в форе, секунда в итераторах (я чуть уменьшил количество итераций). gcc делает за 0 ms (в наносекунды уже не буду углубляться)
хочеш кек
источник

A

András in IT KPI C/C++ ХВ (не UB)
источник

A

András in IT KPI C/C++ ХВ (не UB)
код той самий
источник