Pull to refresh
9
Sevastianov Andrii@mustitz

Программист

2
Subscribers
Send message
Спасибо, очень полезно.
const и restrict дают очень много в плане оптимизации, потому что любая модификация памяти через указатель должна сбрасывать все закешированые ранее в регистрах значения. В C++ для этого есть свои достаточно специфичные правила (перечитываются только значения того типа, который изменился по указателю). Кто-то даже шутил, что использование restrict при реализации математических методов позволяет C по скорости догнать FORTRAN.

Если брать const как защиту от случайной модификации, то теоретически да. Но на практике я больше вспоминаю случаи, когда погорячился с const, и указатель надо было вернуть в неконстантное состояние, часто по длинной цепочке, иногда с пересмотром архитектуры. А вот когда бы это действительно помогло… не помню… Может быть, но уверенности нет.
У меня другие правила: (1) использовать valgrind, (2) функциональные тесты под valgrind.

Information

Rating
Does not participate
Location
Växjö, Kronobergs Län, Швеция
Date of birth
Registered
Activity