프로그램의 flexibility랑 performance는 어느정도 trade off가 있잖아?


고성능 소프트웨어에서는 그 성능을 위해 기본적인 OOP design이라던지 그런 것을 포기해서 성능을 올리나?

아니면 차라리 core 더 써서 병렬로 넘기거나 algorithm을 최적화하고 유지보수 위주의 설계를 하나? 궁금함.


예를 들면 get/setter and virtual function! 


무의미한 질문인가? 손익을 따져보고 이익이 되는 방향을 선택하는 것인가?......!!!