Node.js 创建性能基准

Node.js 创建性能基准,node.js,benchmarking,Node.js,Benchmarking,我继承了一个相当小的应用程序,它是用Scala编写的。此应用程序对数据库执行搜索操作。虽然我更喜欢使用Node.js,但我需要一些弹药来完成从Scala到Node.js的迁移。出于这个原因,我想建立一些性能基准。如果Node.js的性能优于Scala,那么它会有所帮助。如果性能没有提高,那将是一场更大的上山战役 有人能告诉我如何在Scala和Node.js之间创建一些性能基准吗?我不知道在一个可靠的基准测试中应该测量什么 谢谢大家! 我不熟悉scala,但所有基准测试都必须在干净的安装机器上进行

我继承了一个相当小的应用程序,它是用Scala编写的。此应用程序对数据库执行搜索操作。虽然我更喜欢使用Node.js,但我需要一些弹药来完成从Scala到Node.js的迁移。出于这个原因,我想建立一些性能基准。如果Node.js的性能优于Scala,那么它会有所帮助。如果性能没有提高,那将是一场更大的上山战役

有人能告诉我如何在Scala和Node.js之间创建一些性能基准吗?我不知道在一个可靠的基准测试中应该测量什么


谢谢大家!

我不熟悉scala,但所有基准测试都必须在干净的安装机器上进行,而不是在运行任何其他东西的机器上(也不是在虚拟机中)。它应该显示cpu负载、内存负载和完成时间(以及潜在错误)

您希望在基准测试中显示的是,node.js更适合以较低的内存/cpu占用率执行并行任务。因此node.js可以异步一次执行所有查询,而scala需要等待,因为它是同步的,应该完成得更快。 当然,如果您使用的是数据库抽象层(如node.js中的mongoose for mongodb),它也会改变结果

您还可以从可维护性方面或“看看我编写代码的速度有多快?”


但至少你知道你在作弊;瓶颈是数据库,而不是执行查询的语言:)

scala不仅限于同步操作,还可以执行异步操作。我很有信心scala会比nodejs快得多。如果编码正确,它会占用更多内存,因为它依赖于jvm。但我同意,正确的基准测试是一项艰巨的任务,尤其是在两个不同的平台之间。