자바 스크립트에서 사용 가능한 CPU 코어 수를 결정할 수있는 방법이 있습니까? 그렇다면 그것에 따라 웹 작업자 수를 조정할 수 있습니까?자바 스크립트에서 CPU 코어 수를 확인 하시겠습니까?
답변
예, navigator.hardwareConcurrency. Chrome, Firefox, Edge, Opera 및 Webkit에서 기본적으로 지원됩니다. a polyfill으로 모든 브라우저에서 지원됩니다.
아니요, 일부 ActiveX를 사용하지 않는 한 없습니다.
짧고 요점. +1;) – falstro
좋아, 그게 내가 기대했던거야. 아직도 고마워! – tsauerwein
WHATWG 메일 링리스트에는 사양의 버전 2에서 비슷한 속성을 제공하는 것에 대한 토론이 있습니다. http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-November/024058.html http : //lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-November/023993.html – tsauerwein
아니요. 자바 스크립트는 이러한 하드웨어 세부 정보와 너무 멀리 떨어져 있으며 쿼리 할 수있는 합법적 인 메커니즘이 없습니다.
당신이 코어의 수를 추정하기 위해 시도 할 수 있습니다 : https://github.com/oftn/core-estimator
데모 : 여기 http://eligrey.com/blog/post/cpu-core-estimation-with-javascript
내가 함께 해킹 상당히 빠른 동시성 추정이야는 ... 아직 많은 테스트를 시행하지 않은 :
여기에 내가 jsfiddle 링크가 있기 때문에 샘플이 필요하다 (노동자 실행 코드의) :
// create worker concurrency estimation code as blob
var blobUrl = URL.createObjectURL(new Blob(['(',
function() {
self.addEventListener('message', function(e) {
// run worker for 4 ms
var st = Date.now();
var et = st + 4;
while(Date.now() < et);
self.postMessage({st: st, et: et});
});
}.toString(),
')()'], {type: 'application/javascript'}));
추 정부는 노동자의 다수 짧은 시간 동안 실행 (4ms의) 그들이 실행하는 시간을 다시보고 (불행하게도, performance.now은() 이상 웹 근로자에서 사용할 수 없습니다 정확한 타이밍). 그런 다음 주 스레드는 동일한 시간 동안 실행중인 최대 작업자 수를 확인합니다. 이 테스트는 여러 번 반복하여 견본을 만들어 견적을 산출합니다.
따라서 작업량이 충분하면 작업자는 해당 동작을 지원할만큼 충분한 코어가있는 경우에만 동시에 실행하도록 예약해야합니다. 그것은 분명히 예상치 일 뿐이지 만 지금까지 테스트 한 몇 대의 컴퓨터에서 합리적으로 정확했습니다. 사용 사례에 충분합니다. 더 정확한 근사값을 얻으려면 샘플 수를 늘릴 수 있습니다. 나는 그것이 단지 빠르기 때문에 나는 단지 10을 사용한다. 나는 일을 끝내는 것보다 시간을 낭비하고 싶지 않다.
해당 피들에 +1 – random6174
은 # 2 답변, 속도 및 정확성이 우수해야합니다. – ViliusL
- 1. Android에서 CPU 빈도를 확인 하시겠습니까?
- 2. 레코드를 삽입하는 동안 자바 스크립트에서 상자를 확인
- 3. OpenCL에서 CPU 코어 수 선택
- 4. C++ MFC 응용 프로그램에서 CPU 수를 얻으려면
- 5. 자바 스크립트에서 함수를 재설정 하시겠습니까?
- 6. MediaWiki에서 누락 된 링크 수를 확인 하시겠습니까?
- 7. jQuery : 선택기와 일치하는 요소의 수를 확인 하시겠습니까?
- 8. GPS 수정 위성 수를 확인 하시겠습니까?
- 9. C에서 Mac OS X의 CPU 수를 얻으시겠습니까?
- 10. 자바 스크립트에서 텍스트 필드의 값이 정수인지 확인
- 11. 자바 스크립트에서 영숫자 확인 기능이있는 텍스트 상자
- 12. 자바 스크립트에서 이름/번호 유효성 확인
- 13. CPU 코어 스레딩 분류 기능
- 14. HTML5 작업자 스레드 기능이 시스템의 코어 수를 노출합니까?
- 15. 자바 스크립트에서 html 값을 설정 하시겠습니까?
- 16. 자바 스크립트에서 워드 문서에 액세스 하시겠습니까?
- 17. 자바 스크립트에서 프레임 세트를 반복 하시겠습니까?
- 18. 자바 스크립트에서 PHP 배열을 사용 하시겠습니까?
- 19. 자바 스크립트에서 winapi 내보내기 함수를 호출 하시겠습니까?
- 20. HTML 텍스트를 자바 스크립트에서 선택 하시겠습니까?
- 21. 자바 스크립트에서 몽고 ID를 생성 하시겠습니까?
- 22. 자바 스크립트에서 CSS 스타일을 변경 하시겠습니까?
- 23. 자바 스크립트에서 이미지에 마커를 추가 하시겠습니까?
- 24. 자바 스크립트에서 함수의 변수에 액세스 하시겠습니까?
- 25. 자바 스크립트에서 CSS의 CSS를 변경 하시겠습니까?
- 26. 자바 스크립트에서 PHP 스크립트를 실행 하시겠습니까?
- 27. 자바 스크립트에서 브라우저 확인을 종료 하시겠습니까 - 어떻게?
- 28. 자바 스크립트에서 이름 값 쌍을 제출 하시겠습니까?
- 29. 프론트 엔드 자바 스크립트에서 인쇄 하시겠습니까?
- 30. 자바 스크립트에서 배열의 총 변수 수를 얻는 방법은 무엇입니까?
@meo : "이 컴퓨터에는 CPU 코어가 있습니다." 평균 사용자는 JS보다 코어에 대해 훨씬 덜 알고 있습니다.) – Piskvor
하하하 좋은 점 – meo
웹 페이지를 쓰는 모든 사람이 내 컴퓨터의 전체 리소스를 제어 할 수 있다고 가정하는 이유는 무엇입니까? 나는 당신의 웹 페이지에서 필요한 정보를 읽는 동안 다른 일을 성취하고 싶습니다. –