Có cách nào để xác định số lõi CPU có sẵn trong JavaScript, để bạn có thể điều chỉnh số lượng nhân viên web tùy thuộc vào điều đó không?Lấy số lõi CPU trong JavaScript?
Trả lời
Có, navigator.hardwareConcurrency. Được hỗ trợ nguyên bản trong Chrome, Firefox, Edge, Opera và Webkit; được hỗ trợ trong tất cả các trình duyệt với a polyfill.
Nó không xác định khi tôi chạy này trong Chrome 35. – jmort253
Nó có sẵn trong xây dựng Chrome Canary hiện tại theo http://src.chromium.org/ viewvc/blink? view = revision & revision = 175629 Đã xác nhận đã làm việc trong Chrome Canary 37. –
Đây có phải là một phần tiêu chuẩn của một số loại (như được hỗ trợ hoặc có nghĩa là được hỗ trợ trong các trình duyệt khác) không? – jayarjo
Không, không có, trừ khi bạn sử dụng một số ActiveX.
Ngắn gọn và cho điểm. 1;) – falstro
Ok, đó là những gì tôi mong đợi. Vẫn cảm ơn! – tsauerwein
Mặc dù có các cuộc thảo luận trong danh sách gửi thư WHATWG về việc cung cấp thuộc tính tương tự trong phiên bản 2 của thông số: 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
Không. JavaScript rất xa các chi tiết phần cứng như vậy và không có cơ chế hợp pháp để truy vấn chúng.
Bạn có thể thử để ước tính số lượng lõi với: https://github.com/oftn/core-estimator
demo: http://eligrey.com/blog/post/cpu-core-estimation-with-javascript
Dưới đây là một ước lượng đồng thời khá nhanh tôi bị hack với nhau ... nó đã không trải qua nhiều thử nghiệm được nêu ra:
Dưới đây là mã người lao động chạy (kể từ khi tôi có một liên kết jsfiddle một mẫu là cần thiết):
// 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'}));
ước tính có một số lượng lớn các công nhân chạy trong một khoảng thời gian ngắn (4ms) và báo cáo lại những thời điểm họ chạy (không may, performance.now() là không có sẵn trong Web Workers để biết thêm thời gian chính xác). Các chủ đề chính sau đó kiểm tra để xem số lượng tối đa của công nhân đang chạy trong cùng một thời gian. Thử nghiệm này được lặp đi lặp lại nhiều lần để có được một mẫu phong nha để tạo ra một ước tính. Vì vậy, ý tưởng chính là, với một đoạn công việc đủ nhỏ, công nhân chỉ nên được lên kế hoạch để chạy cùng một lúc nếu có đủ lõi để hỗ trợ hành vi đó. Nó rõ ràng chỉ là một ước tính, nhưng cho đến nay nó đã được hợp lý chính xác cho một vài máy tôi đã thử nghiệm - đó là đủ tốt cho trường hợp sử dụng của tôi. Số lượng mẫu có thể được tăng lên để có được một xấp xỉ chính xác hơn; Tôi chỉ sử dụng 10 vì nó nhanh chóng và tôi không muốn lãng phí thời gian ước tính so với chỉ nhận được công việc làm.
+1 cho rằng fiddle – random6174
nên đượC# 2 câu trả lời, tốc độ tốt và độ chính xác – ViliusL
- 1. Số CPU/Lõi trong Perl
- 2. lõi CPU vs chủ đề
- 3. CPU lắp ráp và đa lõi
- 4. GPU và CPU? Số lõi/luồng trong GPU để tăng tốc tính toán chương trình?
- 5. Có bao nhiêu lõi CPU có dyno heroku?
- 6. Nhận số CPU trong Linux bằng C
- 7. Có cách nào để phát hiện đáng tin cậy tổng số lõi CPU không?
- 8. x86 KHÓA câu hỏi trên CPU đa lõi
- 9. Node.js child_process.fork() để chạy trên các lõi CPU khác nhau
- 10. Hiệu quả hơn? Càng nhiều lõi hoặc nhiều CPU hơn
- 11. Cách lấy ngày trong tuần từ số ngày trong Javascript?
- 12. Lấy nhiệt độ CPU bằng Python?
- 13. Javascript: Cách lấy 4 số đầu tiên trong chuỗi?
- 14. cpu vs gpu - khi CPU tốt hơn
- 15. Làm thế nào để ngắt trong máy đa lõi/đa CPU hoạt động?
- 16. làm thế nào để sử dụng CPU lõi tứ trong ứng dụng
- 17. Làm cách nào để tải CPU trên mỗi lõi trong C#?
- 18. Chạy lệnh bên ngoài và lấy số lượng CPU mà nó tiêu thụ
- 19. CUDA lõi vs số đếm
- 20. lấy mảng javascript trong django
- 21. Điều chỉnh CPU trong C++
- 22. Java: Làm thế nào để mở rộng các luồng theo lõi CPU?
- 23. Có phải 'Khóa' lấy thời gian của CPU không?
- 24. Lấy số chữ số trong một số
- 25. Đăng ký XMM Tổng số hoặc mỗi lõi
- 26. Có thể chương trình đơn luồng được thực hiện đồng thời trên nhiều lõi CPU không?
- 27. Tại sao mã Java này không sử dụng tất cả các lõi CPU?
- 28. Làm thế nào để tìm số lõi khi chạy trong Haskell
- 29. Lấy ID tối đa từ dữ liệu lõi & sqlite
- 30. Lấy một lõi "không" tốt với z3 (logic QF_BV)
@meo: "Máy tính này có huh? Lõi CPU". Người dùng trung bình biết thậm chí ít hơn về lõi hơn JS;) – Piskvor
hahaha điểm tốt – meo
Tại sao mọi người viết một trang web giả định họ có thể kiểm soát toàn bộ tài nguyên của máy tính của tôi? Tôi muốn hoàn thành những thứ khác trong khi tôi đọc một mẩu thông tin tôi cần từ trang web của bạn. –