Language agnostic 比较不同语言中不同任务的速度
如果我想测试完成某些任务所需的速度,我用哪种语言进行测试有关系吗?我们可以认为这是程序员可能想要执行的任何工作。简单的工作,如排序,或涉及文件签名和验证的更复杂的工作 考虑到我们都知道某些语言会比其他语言运行得更快,这意味着任务将依赖于这些语言及其编译器/运行时的优化方式。但这些显然都是不同的Language agnostic 比较不同语言中不同任务的速度,language-agnostic,Language Agnostic,如果我想测试完成某些任务所需的速度,我用哪种语言进行测试有关系吗?我们可以认为这是程序员可能想要执行的任何工作。简单的工作,如排序,或涉及文件签名和验证的更复杂的工作 考虑到我们都知道某些语言会比其他语言运行得更快,这意味着任务将依赖于这些语言及其编译器/运行时的优化方式。但这些显然都是不同的 那么,最好依赖于一种不太依赖抽象的语言,比如C语言,还是可以用更高级的语言测试作业和任务,并且依赖于这样一个事实:它们的实现足够好,不必担心任何可能的低效?我希望我的问题很清楚。你在考试中使用哪种真实语言
那么,最好依赖于一种不太依赖抽象的语言,比如C语言,还是可以用更高级的语言测试作业和任务,并且依赖于这样一个事实:它们的实现足够好,不必担心任何可能的低效?我希望我的问题很清楚。你在考试中使用哪种真实语言并不重要。。。如果测试设计正确。语言总是有开销的,但操作系统、线程调度程序、IO、ram或电的速度总是有开销的,这取决于当前的温度等
但是,要比较您不想测量执行一个赋值语句所需的纳秒数的任何内容。相反,您需要测量执行数十亿条赋值语句所需的时间。那么所有提到的开销都可以忽略不计我认为可以肯定地说,语言级别越高,开销就越大,因此执行速度就越慢。所以,与VB相比,汇编几乎可以立即运行(例如)。请原谅,这不是我所说的问题。我的意思是,这是对任何语言中不同的工作方式(即排序方法1和排序方法2)的比较,可能会在所有语言中产生类似的结果,还是可能存在语言差异(我不包括其他类型的语言,如函数式语言)这取决于你想比较什么。如果要比较不同任务(算法)的速度,请对所有任务使用相同的语言。如果要比较不同语言(实现)的速度,请使用相同的任务。如果你试图用不同的语言来比较不同的任务,你有太多的变量,不能真正得出任何结论。好的。我会考虑诸如散列或签名之类的东西作为算法,因为它们是由类似于算法的步骤组成的吗?那么,我将依靠这样一个事实:无论是谁实现了上述算法,都是以尽可能最好的方式实现的?@user3465120:如果你想获得不同语言如何处理同一事物的基准,那么你可以运行一个可以跨一系列不同语言进行的测试。比如说,编写一个例程来计算前2000个素数。决定最有效的方法,并在Javascript、PHP、C#等中运行它。看看哪一个运行得最快。只是一个建议。