gtest 测试java_LangTest
#說明#
只用于測試不同語言間循環(huán)相關(guān)的情況,測試不完成.不一定準(zhǔn)確.只是用于驗證我心中的問題.
環(huán)境
我測試的環(huán)境為Deepin
cpu:8u
內(nèi)存: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
測試結(jié)果
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
結(jié)論
1.根據(jù)java和nodejs得出:使用JIT的語言明顯速度加快.所以動態(tài)語言和靜態(tài)語言沒有顯明的優(yōu)勢差別.
2.golang和c在沒有優(yōu)化時,明顯不足于java和nodejs,但如果啟用優(yōu)化,明顯可超過jit.但jit的實際使用意義更大.因為在實際總算法會更復(fù)雜.所以有動態(tài)優(yōu)化的話,會得到更好的結(jié)果.
3,php8已經(jīng)明確增加jit,所以php8會是一個值得期待的版本.
4,python2.7超出想像的慢,但pypy(with JIT)直接超過沒有優(yōu)化的golang和C.
調(diào)整
* 2020-04-24 網(wǎng)友 @道一聲涼秋 建議C和 go的優(yōu)化本身也是他的語言特性,所以不應(yīng)該去掉.所以使用了 @少年你還不懂事 建議,改為輸入值,就不會被優(yōu)化了.
* 2020-04-24 nodejs 計算值錯誤,經(jīng) @依劍_聽雨 提醒改為使用 BigInt, 但速度立即變?yōu)?48s, 嘗試使用 node 14 .但沒有明變的改好.所以使用nodejs計算大數(shù)時要小心了.
# 2020-04-27 網(wǎng)友 @hell0cat 調(diào)整了nodejs/test.js的算法.確實比直接使用BigInt要強很多.
# 2020-04-27 增加php8-jit 運算.php8-jit,nodejs,pypy三大腳本語言基本接近
總結(jié)
以上是生活随笔為你收集整理的gtest 测试java_LangTest的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结合webpack配置_前端 Webpa
- 下一篇: igs时间和utc_UTC和GMT时间