Wcześniej dzisiaj odpowiedziałem na pytanie z this answer. W przykładzie, który napisałem, użyłem synchronicznej wersji połączenia w module węzła bcrypt. Zdecydowałem się użyć synchronicznej wersji połączenia głównie dlatego, że uważałem, że to sprawiało, że odpowiedź wyglądała trochę czystiej, ale nie sądziłem również, że wpłynie to na wydajność, ponieważ bcrypt to procesor i pamięć intensywna zamiast wejścia I/O. Rozumiem, że węzeł uruchomił prawie cały twój kod na jednym wątku, tak jak robią to przeglądarki, i używał tylko wątków tła dla rzeczy takich jak I/O i dostęp do baz danych. To doprowadziło mnie do przekonania, że zadania intensywnie wykorzystujące procesor nadal zasadniczo "blokowałyby" serwer, ponieważ nie istniały żadne inne wątki, które mogłyby odciążyć pracę.Czy programowanie asynchroniczne w węźle node.js przyspiesza wykonywanie zadań związanych z procesorem?
Komentarz na temat mojej odpowiedzi wskazywał, że moje założenie było błędne, i po pewnych badaniach zdałem sobie sprawę, że tak naprawdę nie mam wielkiego pojęcia, w jaki sposób program node.js radzi sobie z takimi rzeczami. Czy programowanie asynchroniczne w węźle node.js przyspiesza wykonywanie wywołań procesora i pamięci? Jeśli tak, w jaki sposób to robi?
"Czy programowanie asynchroniczne w węźle node.js przyspiesza wykonywanie połączeń procesora i pamięci?" --- udaje, że to robi. Podobnie jak zegary piasku przyspieszają system operacyjny, gdy na nie patrzysz. – zerkms