gpt4 book ai didi

javascript - 为什么异步代码被认为比同步代码快得多?

转载 作者:行者123 更新时间:2023-12-03 08:44:05 25 4
gpt4 key购买 nike

为什么同步代码被认为比异步代码慢得多且资源密集?例如,nginx 被认为比 Apache 更快,NodeJS 应用程序被认为比 PHP 应用程序更快。

将同步代码编译成异步代码不是很简单吗?至少在 JavaScript 中,很多人使用像 async 这样的库。这有助于编写同步的代码。

编辑:因为评论中的一个问题:同步代码如

byte[] buf = read(socket);
do_something(buf);

被认为是慢的,因为线程必须阻塞才能从socket读取,而

read(socket, function(buf) {
do_something(buf);
});

被认为是很快的。一方面,转换应该是微不足道的,另一方面,两个代码都必须等待一次线程必须被放弃,而在另一种情况下,需要返回到主事件循环

最佳答案

异步/非阻塞设计不一定更快,但在某些情况下它们可以比同步/阻塞设计更好地扩展。因此,它们在处理大量并行事务时可以“更快”。

两种方法之间的性能差异有两个主要原因。一个原因是线程上下文切换的开销,另一个原因是某些平台上线程的内存消耗(例如Java)

I recently completed an article that explains why asynchronous can scale better.希望对您有所帮助。

关于javascript - 为什么异步代码被认为比同步代码快得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com