程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【plang 1.4.3】Python/Lua/Plang游戲腳本性能測試

編輯:Python

        筆者采用計算Fibonacci數列第40項的平均用時,在遞歸調用方面來度量語言性能。

        筆者所使用的測試平台是安裝Microsoft Windows 10 專業版(版本10.0.18363)操作系統,帶有Inter(R) Core(TM)i7-5600處理器與8GB內存的聯想Thinkpad x250個人筆記本電腦。

Python測試用例(版本3.8.3)

from time import *
def fib(n):
if n <= 2:
return 1
return fib(n-1) + fib(n-2)
begin = time()
result = fib(40)
end = time()
print('fib(40)=', result)
print('time=',(end-begin)*1000, 'ms')

Lua測試用例(版本5.1.5)

#!/usr/local/bin/lua
require("os")
function fib(n)
if n <= 2 then
return 1
else
return fib(n -1) + fib(n - 2)
end
end
local start = os.clock()
local result = fib(40)
local end_time = os.clock()
print("fib(40)=", result)
print(string.format("time=%.2fms", (end_time - start)*1000))

Plang測試用例(版本1.3.17)

import std::IO;
import std::Type;
import std::TIME;
class Test
{
static fib(n->int)->int
{
return n<=2 ? 1 : Test.fib(n-1) + Test.fib(n-2);
}
public static main()
{
start->long = TIME.clock();
result->int = Test.fib(40);
end->long = TIME.clock();
IO.printf("fib(40)=%d\n", Type.get(result));
IO.printf("time=%Dms", Type.get(end-start));
}
}

運行截圖

Python

 

Lua

 

Plang

 

測試結果

Lua

12170.00ms

12197.00ms

12416.00ms

平均用時:12261.00ms

 

Plang

15503.00ms

15391.00ms

15414.00ms

平均用時:15436.00ms

 

Python

23489.57ms

21709.60ms

23390.60ms

平均用時:22863.26ms

方法遞歸調用性能:Python<Plang<Lua

 

源代碼遠程倉庫:https://github.com/ChivenZhang/plang-demo

自研產品介紹:Plang高級編程語言

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved