>  기사  >  웹 프론트엔드  >  Node 애플리케이션에 가장 적합한 JS 엔진을 선택하세요.

Node 애플리케이션에 가장 적합한 JS 엔진을 선택하세요.

青灯夜游
青灯夜游앞으로
2020-09-08 12:25:561902검색

Node 애플리케이션에 가장 적합한 JS 엔진을 선택하세요.

Node.js는 빠르게 발전하고 있습니다. 현재 Node.js 8이 출시되었습니다. 동시에 ChakraCore를 기반으로 하는 Node.js 버전도 활발히 개발 중입니다.

【동영상 튜토리얼 추천: node js tutorial

원본 텍스트: 최신 Node.js v8 버전(JavaScript 엔진인 V8과 혼동하지 마세요) 방금 게시되었습니다.

원본 저자는 Node.js v8 버전을 사용했습니다. 이 단어에 대해 저자는 여기서 V8이 자바스크립트 엔진 V8이 아니라 Node.js 버전임을 괄호 안에 구체적으로 설명합니다. 하지만 공식 Node.js 블로그 게시물 Node v8.0.0 (Current)에 다음과 같은 메모가 있습니다.

Node.js 릴리스 버전을 언급할 때 Node.js 8에서는 "v"를 삭제했습니다. 이전 버전은 일반적으로 v0.10, v0.12, v4, v6 등으로 불렸습니다. 기본 JavaScript 엔진인 V8과의 혼동을 피하기 위해 "v"를 삭제하고 Node.js 8이라고 부릅니다. .

Node.js 릴리스를 언급할 때 Node.js 8에서 "v"를 제거했습니다. 이전 버전은 종종 v0.10, v0.12, v4, v6 등으로 불립니다. V8 JavaScript 엔진과의 혼동을 피하기 위해 "v"를 삭제하고 Node.js 8이라고 명명했습니다.
그래서 Node.js v8 버전은 Node.js 8이라고 직접 불러야 합니다.

Node.js에서 사용하는 JavaScript 엔진은 언제 새로운 기능이 도입될지 모르기 때문에 개발자는 다양한 엔진의 성능 장점과 단점을 명확하게 알고 있습니다.

다음 Node.js 버전에 대한 성능 평가를 수행했습니다.

  • Node.js 6.10.1 (V8 5.1.281.95)* Node.js 7.10 (V8 5.5.372.43)
  • Node.js 7.10 사용 - - 터보 --ignition 매개변수(V8 5.5.372.43)
  • Node.js 8.0(V8 5.8.283.41)
  • Node.js 8.0 --turbo --ignition 매개변수 사용(V8 5.8.283.41)
  • Node.js 8.0( ChaKraCore 2.0.0.0) (2개의 서로 다른 빌드 사용)

이 간단한 시각화 도구를 사용하면 다양한 기능에 대한 다양한 버전의 성능을 확인할 수 있습니다.

이 결과에서 Node.js 8을 사용하는 경우 --turbo --ignition 매개변수를 켠 상태에서도 자바스크립트 성능을 확인할 수 있습니다.

Context

V8이 Node.js에서 사용되는 기본 JavaScript 엔진이지만 Node.js는 개발자가 다양한 JavaScript 엔진을 선택할 수 있는 공통 플랫폼을 제공합니다.

Node.js 8의 출시는 매우 흥미롭고 커뮤니티 내에서 큰 이벤트입니다. 플랫폼에는 이미 완전히 새로운 기능 세트가 포함되어 있습니다. 또한 개발자는 성능에 가장 관심이 많습니다.

애플리케이션 실행에 가장 적합한 JavaScript 엔진을 아는 것은 매우 유용한 기술이 될 것입니다. 이 기사에서는 V8 및 ChakraCore의 다양한 버전의 성능 장단점을 살펴보겠습니다.

How

Node.js 버전 간의 벤치마크를 비교하기 위해 대표적인 JavaScript 코드 패턴 35개를 선택했습니다. 대부분은 Colin Ihrig의 'will itoptimization' 저장소에서 가져온 것입니다. 이러한 패턴은 이전 기사에서 논의되었습니다(단순히 Node.js를 업그레이드하여 Node 앱을 최적화하세요).

각 패턴마다 서로 다른 Node.js 버전을 10번, 100번, 1000번, 10000번, 10000번 실행했습니다. 이 코드를 활성화하면 각 엔진이 런타임 일반 최적화와 핫 기능 최적화를 수행하는 방법을 이해할 수 있습니다.

벤치마크에서는 GC(가비지 수집) 이벤트 수를 고려하지 않습니다. 이는 각 프로세스에 할당된 메모리를 수정하면 실험 결과가 달라질 수 있음을 의미한다.

결과

Node 애플리케이션에 가장 적합한 JS 엔진을 선택하세요.

전체 테스트 결과는 이 페이지에서 볼 수 있습니다. 이 결과를 분석해보면 ChakraCore의 Node.js 버전이 V8 기반 버전보다 느린 것을 알 수 있습니다.

또한 대부분의 경우 V8은 시간이 지남에 따라 점점 더 효율적이 됩니다. 점화 및 터보팬 최적화 아키텍처는 성능을 크게 향상시킵니다. Node.js 8은 V8 5.8과 함께 출시되었지만 기본적으로 활성화되어 있지 않습니다. Node.js의 향후 버전은 Ignition 및 Turbofan이 활성화된 V8 5.9(및 가능하면 5.6)에서 사용할 수 있습니다.

결론

이번 벤치마크는 정말 재미있었고 앞으로 더 많은 Node.js 버전과 더 많은 코드 패턴을 추가할 계획입니다. Sqreen의 Node.js 엔지니어로서 저는 성능에 깊은 관심을 갖고 있습니다.

(주석: 나중에 4엔드 콘텐츠도 있는데 대부분은 원작자의 광고이므로 번역되지 않습니다)

마지막으로 저자가 개발한 이 강력한 성능 시각화 비교 도구를 추천합니다: Picking Node 앱 성능을 위한 최고의 JS 엔진 그리고 제 강의: 프론트엔드 프로그래머는 V8 지식을 알아야 합니다.

영어 원본 주소: https://blog.sqreen.com/javascript-engine-performance/

더 많은 프로그래밍 관련 지식을 보려면 다음을 방문하세요: Programming Teaching! !

위 내용은 Node 애플리케이션에 가장 적합한 JS 엔진을 선택하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제