개요

[검증] QuickJS는 모든 브라우저에서 동일한 성능을 보장할 수 있는가?

위 글에서 이어집니다.

모든 브라우저에서 동일한 JS Runtime 환경을 보증할 수 없었습니다.

그 예시 중 하나로 브라우저마다 Max Call Stack이 다르다는 점을 확인할 수 있었는데요.

그렇다면 QuickJS를 사용하면 모든 Max Call Stack을 동일하게 만들 수 있고 더 엄밀해지는지 점검해봅시다.

가정: QuickJS를 사용하면 모든 브라우저에서 동일한 Max Call Stack 사용을 보증할 수 있다.

<aside> 💡 브라우저마다 다른 MaxCallStack이 QuickJS를 사용하면 동일한 CallStack을 사용하도록 보증할 수 있을까?

</aside>

검증

검증 방법

다음의 코드를 이용해 검증합니다.

function main() {
	let i = 0;
	function recurse () {
	  i++;
	  recurse();
	}
	try {
	  recurse();
	} catch (ex) {
	  return `max call stack: ${i}`
	}
}

검증 결과

Firefox

Firefox