[原创]
目的 通过计算密集型运算对比golang与python的速度
方法 计算100万内的素数
python代码实现
# -*- coding: utf-8 -*-
# 判断一个数是否是素数
def isPrime(num):
for i in range(2, num):
if num % i == 0:
return False
return True
# 给定一个正整数,打印包含的素数
def printPrime(num):
for i in range(1, num):
if isPrime(i):
print(i)
def main():
printPrime(1000000)
if __name__ == '__main__':
main()
golang代码实现
package main
import (
"fmt"
)
func main() {
fmt.Println("hello")
printPrime(1000000)
}
# 给定一个正整数,打印包含的素数
func printPrime(num int) {
for i:=1;i<=num;i++ {
if isPrieme(i){
fmt.Println(i)
}
}
}
# 判断一个数是否是素数
func isPrieme(num int) bool {
for i:=2;i<num;i++{
if num%i == 0 {
return false
}
}
return true
}
测试结果
测试机 | python测试 | golang |
|
macbook i7 2.7Ghz | 2301秒 | 322秒 |
|
|
|
|
|
可以看出: golang运行速度比python快了7倍。
测试结果截图
- python
- golang