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

软泥

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

将同步代码编译成异步等效对象不是很简单吗?至少在JavaScript中,许多人使用诸如async之类的来帮助编写同步外观的代码。

编辑:由于注释中的一个问题:像这样的同步代码

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

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

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

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

蒙兹

异步/非阻塞设计不一定会更快,但在某些情况下,它们的伸缩性可能优于同步/阻塞设计。因此,当处理大量并行事务时,它们可以“更快”。

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

我最近完成了一篇文章,解释了为什么异步可以更好地扩展。希望对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:为什么本机代码比Java代码快得多

来自分类Dev

为什么Python中的这段代码比C ++快得多?

来自分类Dev

为什么<比!=快得多?

来自分类Dev

为什么性能测试向我显示列表比使用我的代码的数组快得多?

来自分类Dev

为什么StringBuilder比String快得多

来自分类常见问题

为什么字典比列表快得多?

来自分类Dev

为什么PreparedStatement比Statement快得多?

来自分类Dev

为什么熊猫.isin比“ in”快得多?

来自分类Dev

为什么EnumerateFiles比计算大小要快得多

来自分类Dev

为什么memcmp比for循环检查要快得多?

来自分类Dev

Python清单:为什么.sort()比sorted()快得多?

来自分类Dev

为什么批处理模式比parfor快得多?

来自分类Dev

为什么ifstream :: read比使用迭代器快得多?

来自分类Dev

为什么strcmp比我的函数快得多?

来自分类Dev

为什么在预热阶段浮点运算要快得多?

来自分类Dev

为什么数组的直接索引比迭代快得多?

来自分类Dev

为什么SSH感觉比HTTP快得多?

来自分类Dev

为什么strcmp比我的函数快得多?

来自分类Dev

为什么memcmp比for循环检查要快得多?

来自分类Dev

为什么在预热阶段浮点运算要快得多?

来自分类Dev

为什么子图比图快得多?

来自分类Dev

为什么wget比通过Chrome下载要快得多?

来自分类Dev

为什么fio seq_writes比dd快得多?

来自分类Dev

为什么数组的直接索引比迭代快得多?

来自分类Dev

为什么在Image上旋转比使用BitmapEncoder快得多?

来自分类Dev

为什么memcpy到堆栈上的内存比堆上的内存快得多?

来自分类Dev

为什么2 ** 100比math.pow(2,100)快得多?

来自分类Dev

为什么plt.imshow比plt.pcolor快得多?

来自分类Dev

为什么用余弦函数计算比用Secant Trig函数计算快得多?

Related 相关文章

  1. 1

    Android:为什么本机代码比Java代码快得多

  2. 2

    为什么Python中的这段代码比C ++快得多?

  3. 3

    为什么<比!=快得多?

  4. 4

    为什么性能测试向我显示列表比使用我的代码的数组快得多?

  5. 5

    为什么StringBuilder比String快得多

  6. 6

    为什么字典比列表快得多?

  7. 7

    为什么PreparedStatement比Statement快得多?

  8. 8

    为什么熊猫.isin比“ in”快得多?

  9. 9

    为什么EnumerateFiles比计算大小要快得多

  10. 10

    为什么memcmp比for循环检查要快得多?

  11. 11

    Python清单:为什么.sort()比sorted()快得多?

  12. 12

    为什么批处理模式比parfor快得多?

  13. 13

    为什么ifstream :: read比使用迭代器快得多?

  14. 14

    为什么strcmp比我的函数快得多?

  15. 15

    为什么在预热阶段浮点运算要快得多?

  16. 16

    为什么数组的直接索引比迭代快得多?

  17. 17

    为什么SSH感觉比HTTP快得多?

  18. 18

    为什么strcmp比我的函数快得多?

  19. 19

    为什么memcmp比for循环检查要快得多?

  20. 20

    为什么在预热阶段浮点运算要快得多?

  21. 21

    为什么子图比图快得多?

  22. 22

    为什么wget比通过Chrome下载要快得多?

  23. 23

    为什么fio seq_writes比dd快得多?

  24. 24

    为什么数组的直接索引比迭代快得多?

  25. 25

    为什么在Image上旋转比使用BitmapEncoder快得多?

  26. 26

    为什么memcpy到堆栈上的内存比堆上的内存快得多?

  27. 27

    为什么2 ** 100比math.pow(2,100)快得多?

  28. 28

    为什么plt.imshow比plt.pcolor快得多?

  29. 29

    为什么用余弦函数计算比用Secant Trig函数计算快得多?

热门标签

归档