Dart의 성능에 감명을 받았다. HTML5 캔버스를 사용하여 Dart에서 Mandelbrot을 렌더링하는 아주 간단한 웹 앱을 만들었다. 이는 현실적인 성능 테스트가 아니라는 의미입니다. 이 페이지는 Mandelbrot을 800x600 캔버스에 최대 깊이 10.000으로 렌더링합니다. 응용 프로그램은 여기에서 볼 수 있습니다 : http://goo.gl/DLuQpJS로 컴파일 된 다트 코드가 Dart보다 빠르다 (Dartium에서)
나에게 어떤 고통이 있습니까? Dartium에서 실행하면 이미지가 약 8.5 초 (인상적입니다) 렌더링됩니다. Firefox의 동일한 페이지에서 15 초를 초과합니다. 놀랍지도 않습니다.
그러나 Dart를 실행하지 않지만 JS 버전도 6.7 초 만에 완료되는 Chrome (버전 27.0.1453.93)에서 동일한 페이지를 실행하면 Dart보다 빠릅니다.
왜 그렇습니까?
업데이트 : 워밍업 동작을 확인하기 위해 캔버스를 다시 렌더링하기 위해 "실행"단추를 추가했습니다. 또한 Dartium에서 JS를 확인하기 위해 JS 전용 버전 (물론 동일한 코드)을 추가했습니다. 간단히 말해서, 수치와 나의 질문은 그대로입니다. 예열은 효과가없는 것 같습니다. JS 버전은 다트 버전보다 다트 버전에서 빠릅니다.
마감일 이후의 업데이트 :이 특별한 경우에는 코드를 병렬 작업자/격리 자로 옮기면 성능이 크게 향상 될뿐만 아니라 요인에 의해 JS 버전이 분명히 먼지에 남아있게됩니다. 10.
그냥 추측이므로 여기에 답변 대신 대답이 나와 있습니다. Chrome은 JS 엔진을 많이 최적화했습니다. Dartium은 개발 도구입니다.이 경우에는 Dart VM이 디버깅 용으로 구성되어 있고 속도가 아닌 경우 놀라지 않을 것입니다. 또한 벤치 마크 결과 DartVM이 V8보다 빠르다고 보여 지지만 이는 일반적인 벤치 마크입니다. 일부 부품 (그래픽?)은 여전히 V8에서 더 잘 최적화 될 수 있습니다. –
"확인 모드"가 켜져있는 상태에서 Dartium을 실행 중입니까? 이렇게하면 런타임에 모든 유형을 표시 할 때 오버 헤드가 추가됩니다 (실행> 설정 확인). –
Dartium에서도 js 버전을 테스트 해 보셨습니까? –