"Yiyan" 기사를 통해 다양한 브라우저에서의 Javascript 비교에 대해 배웠습니다. "준" Javascript 개발자로서 저는 당연히 이 문제에 대해 더 관심을 갖고 있습니다. 나는 여전히 SunSpider의 테스트 표면에 대해 신뢰하는 태도를 유지하고 있습니다. 원본 기사에서 말했듯이 "이것은 잘 설계된 테스트 세트이며 실행하기 쉽고 매우 포괄적입니다."
테스트 내용은 다음과 같습니다.
3d - 순수 JavaScript 3D 렌더링 작업이지만 렌더링 부분은 포함되지 않습니다. 여기에는 많은 부동 소수점 및 배열 연산이 포함되어 있습니다.
액세스 - 배열, 개체 속성 및 변수에 대한 액세스입니다.
bitops - 게임, 수학 연산, 다양한 인코딩 및 디코딩에 중요한 응용 프로그램이 있는 비트 연산입니다. 이는 JavaScript의 유일한 정수 연산이기도 합니다.
controlflow - 제어 흐름 구조(반복, 재귀, 조건부). 현재는 주로 재귀 구조이지만 다른 구조도 포함됩니다.
crypto - 실제 암호화 코드, 주로 비트 작업 및 문자열 작업입니다.
날짜 - "날짜" 개체 성능입니다.
수학 - 다양한 유형의 수학 연산.
regexp - 정규식입니다.
string - 거대한 "tagcloud" 코드 생성, 압축된 Javascript 코드 압축 풀기 등을 포함한 문자열 처리
위의 비교 외에도 다음 통계 차트를 이용하면 각 브라우저의 성능을 보다 직관적으로 비교할 수 있습니다.
테스트에서 생성된 문자열은 대부분의 프로덕션 상황에서 거의 발생하지 않지만 IE의 낮은 운영 효율성에 대한 불만은 여전히 남아 있습니다. IE의 가장 취약한 문자열 연산을 제외하면 문자열 제외 테스트에서 Firefox가 IE보다 그다지 빠르지 않다는 사실에 저와 원글 작성자도 똑같이 놀랐습니다. 지난 Firefox 3beta 리뷰에서 예상한 대로 좀 더 빠르게 실행되기를 원했습니다.
Safari도 제가 주목하고 있는 브라우저인데, 이번 테스트에서도 효율성이 매우 만족스럽습니다. 오페라에 관해서는 원문 작성자도 매우 높은 평가를 내린 것을 알 수 있는데, "세계에서 가장 빠른 브라우저"라는 타이틀은 충분히 그럴 만해 보인다.
요약하자면, 국내 브라우저 시장은 여전히 IE가 대부분을 장악하고 있기 때문에, 위의 테스트를 토대로 특히 Javascript의 경우 문자열 연산에서는 성능을 고려해야 합니다. IE에서 Javascript 정규식의 작업 효율성이 매우 만족스럽다는 것을 알았습니다. 아마도 앞으로 문자열 연산 및 비교를 접하게 되면 정규식을 우선적으로 사용하게 될 것입니다.
마지막으로 원본 링크를 계속해서 읽어보시길 권장합니다.