gtest 测试java_LangTest
#說明#
只用于測試不同語言間循環相關的情況,測試不完成.不一定準確.只是用于驗證我心中的問題.
環境
我測試的環境為Deepin
cpu:8u
內存:14G
gcc:6.3.0
go:1.10
php:7.2
php:8-jit
java:1.8.0
python:2.7
pypy:5.6.0
測試結果
run java:
end i:1000000000 count:499999999500000000 time:0.638
run C:
end i:1000000000 count 499999999500000000 time:0.641424
run go:
end i:1000000000 count:499999999500000000 time:1.277728
run php8-jit
end i:1000000000 count:499999999500000000 time:2.9510369300842
run nodejs:
end i:1000000000 count:499999999500000000 time:3.801s
run pypy:
end i:1000000000 count:499999999500000000 time:3.81583285332
run php
end i:1000000000 count:499999999500000000 time:26.515455007553
run python:
end i:1000000000 count:499999999500000000 time:193.98550415
排名分別是:
1. java
2. c
3. golang
4. php8-jit
5. nodejs
6. pypy
7. php7.2
8. python
結論
1.根據java和nodejs得出:使用JIT的語言明顯速度加快.所以動態語言和靜態語言沒有顯明的優勢差別.
2.golang和c在沒有優化時,明顯不足于java和nodejs,但如果啟用優化,明顯可超過jit.但jit的實際使用意義更大.因為在實際總算法會更復雜.所以有動態優化的話,會得到更好的結果.
3,php8已經明確增加jit,所以php8會是一個值得期待的版本.
4,python2.7超出想像的慢,但pypy(with JIT)直接超過沒有優化的golang和C.
調整
* 2020-04-24 網友 @道一聲涼秋 建議C和 go的優化本身也是他的語言特性,所以不應該去掉.所以使用了 @少年你還不懂事 建議,改為輸入值,就不會被優化了.
* 2020-04-24 nodejs 計算值錯誤,經 @依劍_聽雨 提醒改為使用 BigInt, 但速度立即變為148s, 嘗試使用 node 14 .但沒有明變的改好.所以使用nodejs計算大數時要小心了.
# 2020-04-27 網友 @hell0cat 調整了nodejs/test.js的算法.確實比直接使用BigInt要強很多.
# 2020-04-27 增加php8-jit 運算.php8-jit,nodejs,pypy三大腳本語言基本接近
總結
以上是生活随笔為你收集整理的gtest 测试java_LangTest的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结合webpack配置_前端 Webpa
- 下一篇: igs时间和utc_UTC和GMT时间