# inline caching
자바 스크립트 코드의 최적화를 위해: 히든 클래스(hidden class)와 인라인 캐싱(inline-caching )
자바 스크립트 코드의 최적화를 위해: 히든 클래스(hidden class)와 인라인 캐싱(inline-caching ) > 자바스크립트 코드 최적화를 위해 알아두면 좋을 점인 히든 클래스와 인라인 캐싱에 대해 알아보자. > > Today, we discuss about the hidden class and line caching for the writing optimized code. Writing Optimzied Javascript Code > 코드를 최적화 하기 위해서는 아래의 > Eval(), arguments , for in , with , delete 이 5가지를 조심해야한다. 히든 클래스(hidden classes) 위의 예제를 보며 알아보자. 히든 클래스도 자바스크립트 엔진의 컴파일러가 내부적으로 최적화 시켜 활용하는 도구 중 하나이다. obj1 과 obj2는 앞서 선언했을 때는 동일한 Animal을 공유하는 클래스로 인지 한다. 그런
[JavaScript] Optimization - Inline Caching & Hidden Class
JavaScript Engine(이하 JSE)인 V8의 Ignition이 Interpreting으로 Bytecode를 생성하고 실행하면서 Profiling data와 함께 TurboFan으로 Bytecode를 보내는 것을 알았다. 여기서 TurboFan의 역할은 최적화된 Machine Code를 만들어내는 것이다. 어떻게 만드는 것일까? 그 과정인 Inline Caching과 Hidden Class에 대해서 알아보자. Inline Caching 말 그대로 캐싱이다. 효율성을 위해 자주 사용하는 데이터를 빠른 속도로 접근하기 쉬운 곳에 저장해두고 사용하는 것이다. 아래 코드를 보자. 이 코드가 반복된다면 getName이라는 함수에 의해 This is DevJoong 이라는 문구가 계속 만들어질것이다. 똑같은 내용이 리턴되는데 반복해서 객체에서 name을 찾을 필요가 없으므로 compiler(TurboFan)은 This is ${obj.name}을 `This is D