성능 SLA가없는 영역에서이 작업을 수행하려고합니다. 컴퓨터 그래픽에서 오프라인 렌더러에 관해서는, 사용자에게 "만족스러운 성능"이 없습니다. 이미 최신 렌더러로도 클라우드와 렌더 팜에 컴퓨팅을 분산시키기 위해 막대한 금액을 지불하고 있기 때문입니다. 영화를위한 프로덕션 품질의 이미지 및 프레임 출력
그러나 효율성을 위해 유지 관리 성을 크게 저하시키는 솔루션이 실제로 끊임없이 변화하는 성능 요구 사항에 맞서 작동하고 있다고 수년간이 영역에서 일하고 있다고 말해야합니다. 주변 코드와 경쟁자가 서로 성능을 계속 능가 할 것으로 기대하는 상황에서 여러 해 동안 솔루션을 효과적으로 유지할 수 없다면 솔루션은 이미 노후화되고 있습니다. 도매 교체가 필요합니다.
코드를 더 빠르게 실행하는 방법으로 VTune과 같은 프로파일 러의 궁극적 인 목적을 보지 못했습니다. 그들의 궁극적 인 가치는 끊임없이 증가하는 성능 요구를 충족시키기 위해 생산성을 떨어 뜨리지 않도록하는 것입니다. 나는 절대적으로 다음 몇 가지 총 보이는 마이크로 최적화 프로파일을 적용해야하는 경우, (내가 상상하는 몇 가지 테스트 케이스가 아닌 실제 사용자의 경우에 대해 그것을 실행과 결합 할 수 중요한을), I 적용 확인합니다 같은 필연적으로 총-보고 이 솔루션이 실행 가능한 상태가되면 앞으로 몇 년 동안 다시 방문하고 유지 보수 및 조정하고 변경해야하므로 필연적으로 표시되는 상위 핫스팟에만 매우 신중하게 최적화해야합니다.
특히 최적화 된 솔루션에 더 많은 커플 링이 필요한 경우에는 사용을 꺼려합니다. 코드베이스의 가장 중요한 성능 영역에서 감당해야 할 가장 귀중한 지표 중 하나는 (일부 필요한 정보의 양을 최소화하는 것과 마찬가지로 직접 변경이 필요하지 않은 한 변경이 필요할 가능성을 최소화하는) 분리입니다. )는 이러한 중요한 영역이 변경 이유를 크게 배가시키기 때문입니다. 즉, 업무 수행에 필요한 정보가 적고 변화에 대한 이유가 적으며 변화에 대한 이유를 최소화하는 것은 실제로 지속적으로 변화해야하기 때문에 특정 초점 영역에서 생산성을 향상시키는 데 큰 부분을 차지합니다. 그렇지 않으면 1 년 안에 쓸모 없게 될 것입니다)
내가 찾은 가장 크고 가장 효과적인 솔루션은 효율성과 유지 관리 성 및 생산성이 서로 정반대가 아닌 솔루션입니다. 저에게 필요한 것은 이러한 개념을 가능한 한 조화롭게 만드는 것입니다.