bcryprasynchronous与同步node.js
问题很简单,即使我们在node.js中使用Bcrypt模块的asynchronous模式,它仍然会用完bcrypt周期的CPU吗? 它不像在其他地方执行的数据库读取,而是一个CPU操作。 那么为什么asynchronous方法具有性能优势
bcrypt中的asynchronous操作似乎使用本地代码工作线程,它不会阻塞主节点.js线程。 在C ++源代码中看到这个例子。
确实,CPU时间是CPU时间,因此无论是同步还是asynchronous完成,都需要相同的CPU时间,但是由于asynchronous版本是在单独的线程上完成的,因此计算机可以使用多个核心同时运行或时间将其与主节点.js线程切片,以便主节点.js线程在执行encryption操作时不被阻塞。
这将使node.js线程访问更多的CPU时间,比如果crypto操作是同步完成的(因为crypto CPU时间从主node.js线程取下),因此node.js线程的性能优势只要有至less两个CPU核心可用。
- 同步function在asynchronousfunction中的影响
- mongooseasynchronous/等待查找然后编辑和保存?
- 使用asynchronous库来组装来自数据库的所有标签
- DeprecationWarning:不build议调用不带callback的asynchronous函数
- 我怎样才能asynchronous删除多个文件?
- 使用Mongoose和FeedParser在node.js中完成多个callback时跟踪
- 使Meteor.methods同步和asynchronous
- Node.js – 为什么我的一些callback不是asynchronous执行的?
- 在使用process.exit() – 节点js时,Winston日志文件并不总是保存