Czy istnieje sposób określania liczby dostępnych rdzeni procesorów w języku JavaScript, aby można było dostosować liczbę pracowników sieci w zależności od tego?Uzyskaj liczbę rdzeni procesora w języku JavaScript?
Odpowiedz
Tak, navigator.hardwareConcurrency. Obsługiwane natywnie w Chrome, Firefox, Edge, Opera i Webkit; obsługiwane we wszystkich przeglądarkach z a polyfill.
Nie jest zdefiniowane, gdy uruchomię to w Chrome 35. – jmort253
Jest dostępne w aktualnej wersji Chrome Canary według http://src.chromium.org/ viewvc/blink? view = revision & reversion = 175629 Confirmed działał w Chrome Canary 37. –
Czy jest to część standardowego rodzaju (np. obsługiwana lub przeznaczona do obsługi również w innych przeglądarkach)? – jayarjo
Nie, nie ma, chyba że używasz ActiveX.
Krótkie i na temat. +1;) – falstro
OK, tego się spodziewałem. Wciąż dziękuję! – tsauerwein
Chociaż na liście dyskusyjnej WHATWG znajdują się dyskusje dotyczące zapewnienia podobnego atrybutu w wersji 2 specyfikacji: 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
Nie. JavaScript jest bardzo odległy od takich szczegółów sprzętowych i nie ma żadnego legalnego mechanizmu do ich odpytywania.
Można spróbować oszacować liczbę rdzeni: https://github.com/oftn/core-estimator
demo: http://eligrey.com/blog/post/cpu-core-estimation-with-javascript
Oto dość szybkie współbieżności Estymator I hacked razem ... nie przeszedł jeszcze wiele testów:
Oto kod robotnicy run (ponieważ mam jsfiddle odnośnik próbka jest konieczne):
// 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'}));
Estymator jest duża liczba pracowników, prowadzony przez krótki okres czasu (4ms) i zgłoś się czasy, że biegli (niestety performance.now() jest niedostępny w sieci Web Workers dłużej dokładny czas). Główny wątek następnie sprawdza maksymalną liczbę pracowników, którzy pracowali w tym samym czasie. Ten test powtarza się kilka razy, aby uzyskać przyzwoitą próbkę, z której można uzyskać oszacowanie.
Główną ideą jest to, że biorąc pod uwagę wystarczająco małą część pracy, pracownicy powinni być planowani do pracy w tym samym czasie, jeśli istnieje wystarczająca liczba rdzeni do podtrzymania tego zachowania. To oczywiście tylko oszacowanie, ale jak dotąd było to dość trafne dla kilku przetestowanych przeze mnie maszyn - co jest wystarczająco dobre dla mojego przypadku użycia. Liczbę próbek można zwiększyć, aby uzyskać dokładniejsze przybliżenie; Używam tylko 10, ponieważ jest to szybkie i nie chcę marnować czasu na szacowanie, a jedynie na wykonanie pracy.
+1 za to skrzypce – random6174
powinno być # 2 odpowiedzią, dobrą szybkością i dokładnością – ViliusL
- 1. Ile rdzeni procesora ma heroku?
- 2. Wykryj liczbę rdzeni w oknach
- 3. Uzyskaj liczbę otwartych gniazd w języku C#?
- 4. Wyszukiwanie liczby rdzeni w języku Java
- 5. Uzyskaj katalog nazwy pliku w języku JavaScript
- 6. Uzyskaj liczbę wierszy zwróconych przez ResultSet w języku Java
- 7. AWS EC2: Liczba rdzeni procesora dostępnych w instancji
- 8. Jak uzyskać liczbę cykli procesora w Win32?
- 9. Uzyskaj liczbę pól wyboru, które są zaznaczone w JavaScript
- 10. Uzyskaj liczbę aplikacji w TaskBar
- 11. Dlaczego reduktory/mapa pmap nie używa wszystkich rdzeni procesora?
- 12. Czy Gradle Performance Skala Cóż z liczbą rdzeni procesora
- 13. Uzyskaj liczbę nieprzeczytanych wiadomości
- 14. Jak włączyć pełną liczbę rdzeni w systemie OS X?
- 15. Jak mogę uzyskać liczbę rdzeni w urządzeniu cuda?
- 16. Uzyskaj liczbę argumentów (lub nawet nazw) obiektu funkcji javascript
- 17. Ustalanie liczby rdzeni procesowych za pomocą C++
- 18. Wykorzystanie procesora Java VisualVM i powinowactwo procesora
- 19. Jak uzyskać liczbę rdzeni na maszynie z OCaml?
- 20. Liczba procesorów/rdzeni w Perlu
- 21. Node.js - Uzyskaj liczbę dostępnych procesorów
- 22. argparse: Uzyskaj niezdefiniowaną liczbę argumentów
- 23. Uzyskaj liczbę otwartych okien aplikacji w Linuksie
- 24. Uzyskaj liczbę wątków RTS w programie Haskell?
- 25. Swift: Uzyskaj liczbę kluczy w słowniku
- 26. Uzyskaj łączną liczbę elementów w tablicy
- 27. Uzyskaj całkowitą liczbę wierszy w strukturze jednostki
- 28. Jak zaokrąglić liczbę w JavaScript?
- 29. Jak zaokrąglić liczbę w JavaScript?
- 30. Uzyskaj liczbę słów z ciągu znaków w Unicode (w dowolnym języku)
@meo: "Ten komputer ma huh? Rdzenie procesora." Przeciętny użytkownik wie nawet mniej o rdzeniach niż JS;) – Piskvor
hahaha dobry punkt – meo
Dlaczego każdy, kto pisze stronę, zakłada, że może przejąć kontrolę nad pełnymi zasobami mojego komputera? Chciałbym osiągnąć inne rzeczy, a ja przeczytałem jedną ciekawostkę potrzebną informacji z twojej strony internetowej. –