2016-09-17 12 views
2

나는 emscripten 1.34.1에 의해 C++에서 javascript로 컴파일 된 수학 웹 애플리케이션 (http://www-fourier.ujf-grenoble.fr/%7eparisse/xcasen.html)을 개발 중이다. 성능은 파이어 폭스 45와 잘 맞습니다. 예를 들어 2^128 + 1 ~ 59649589127497217 × 5704689200685129054721은 ifactor (2^128 + 1)가 파이어 폭스 45가있는 맥에서 0.1 초 == (ifactor (2^128 + 1) 하지만 파이어 폭스 48 (그리고 야간에도 파이어 폭스)에서는 훨씬 느리다. 첫 실행에는 10 * ~ 20 * 느리고 다음 실행은 2 * ~ 10 * 느리다) : [테스트 용 링크] (http://www-fourier.ujf-grenoble.fr/%7eparisse/xcasen.html#+ifactor(2^128 + 1) & + 시간 (ifactor (2^128 + 1) &)asm.js 10 * 파이어 폭스보다 파이어 폭스가 48보다 느리다 45

emscripten 버전과 관련이 있습니까? Firefox 설치를 다운 그레이드하고 업그레이드를 중단한다고 내 사용자에게 알리는 것 이외의 다른 해결 방법이 있습니까?

답변

4

응용 프로그램이 asm.js 메모리 증가를 사용하는 것처럼 보입니다 (ALLOW_MEMORY_GROWTH emcc 옵션). 브라우저에는 decided to stop supporting that이 있습니다. 즉, asm.js + 메모리 증가가 더 이상 asm.js 최적화를 가져 오지 않습니다.

메모리 증가를 피할 수 있다면, 앱은 이전과 같이 전체 asm.js 속도로 실행되어야합니다.

+0

사실, -s ALLOW_MEMORY_GROWTH = 1을 -s TOTAL_MEMORY = 64000000으로 바꾸면 문제가 해결 된 것 같습니다. 감사합니다. –