나는 영어의 일반적인 의미에서 "최적화"로 간주 될 수있는 것에 대해 교리 적으로 반대하는 많은 사람들을 만났다. 내가 말하는 내용을 "조기 최적화"로 해석한다는 의미로 그들의 입장에 대한 정당성. 그러나 이러한 견해는 때로는 너무나 엄청나게 설득 되어 가장 순수한 "순진한"구현으로부터의 거의 모든 종류의 알고리즘 또는 데이터 구조 편차 또는 적어도 이전에 수행 한 방식과의 편차를 무시 합니다."성능"또는 "최적화"에 대해 듣지 못한 후 다시 "귀를 열게"하는 방법으로 이와 같은 사람들에게 어떻게 접근 할 수 있습니까? 사람들이 즉각적으로 다음과 같이 생각하지 않고 성능에 영향을 미치는 디자인 / 구현 주제에 대해 어떻게 논의합니까?
이제, "모든 최적화가 미숙하고 따라서 악"에 대한 입장은 이미 웹의 다른 구석 뿐만 아니라 여기에서도 다루어졌으며 , 최적화가 미숙하고 따라서 악한시기를 인식하는 방법에 대해서는 이미 논의 되었지만 불행히도 현실 세계에는 여전히 반 최적화에 대한 그들의 믿음의 도전에 개방적이지 않은 사람들이 있습니다.
이전 시도
몇 번, 나는 "조기 최적화가 나쁘다"↛ "모든 최적화가 나쁘다"고 설명하기 위해 Donald Knuth로부터 완전한 견적을 제공하려고 시도했습니다 .
우리는 시간의 97 % 정도라는 작은 효율성을 잊어야합니다. 조기 최적화는 모든 악의 근원입니다. 그러나 우리는이 중요한 3 %의 기회를 포기해서는 안됩니다.
그러나 전체 견적을 제공 할 때,이 사람들은 때때로 내가하고있는 일이 Premature Optimization ™이라는 것을 더 확신하고 파고 들기를 거부합니다. "최적화"라는 단어가 거의 두렵지 않은 경우가 있습니다. 몇 번의 경우, "최적화 (e | ation)"라는 단어의 사용을 피함으로써 거부하지 않고 실제 성능 개선 코드 변경을 제안 할 수있었습니다. "성능"도 마찬가지입니다. 대신 "대체 아키텍처"또는 "개선 된 구현"과 같은 표현을 사용하십시오. 이런 이유로, 이것은 정말로 이것이 독단적 인 것처럼 보이며 실제로 내가 비판적으로 말한 것을 평가 한 다음 불필요하거나 너무 비싸다고 생각하지 않습니다.