Causal profiling

Tags:

실험적으로 일부 코드의 속도를 늦추거나 빠르게하면 해당 부분이 전체 latency 에 주는 영향을 알 수 있다는 방법이 causal profiling 입니다.

https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger

만약에 distributed critical path tracing 이 있다면 좋겠지만 그런건 만들기도 어렵고 정착시키기도 어렵기때문에 정말 똘똘한 아이디어인듯 합니다.

https://queue.acm.org/detail.cfm?id=3526967

비슷한 사례로 legacy code deprecation을 할때 카운터 넣어서 legacy code 로 얼마나 많은 traffic 이 가는지 세거나, 아니면 그냥 legacy 지워버리고 diff 보는 방법들도 생각해 볼 수 있습니다.

번외의 이야기로 예전에 느리고 느렸던 어느 Java 기반 IDE에 유독 속도가 느린 메뉴 하나가 있었습니다. 사용자들의 불만도 많았고. 놀랍게도 이에대한 해결책은 다른 모든 메뉴를 똑같이 느리게 만드는 것이었습니다. 그러면 느리다는 인지를 할 수 없으니까요.