speed up for go
This commit is contained in:
parent
6dc292bc10
commit
0467c64d21
|
@ -9,11 +9,16 @@ import(
|
|||
"math"
|
||||
)
|
||||
|
||||
// In stead of in place printing of each prime, it seems
|
||||
// fmt.Println is costly, and causes the program to take
|
||||
// 7x more time, so we gain speed at the expense of RAM
|
||||
// by storing them all in a slice and printing once
|
||||
func main() {
|
||||
if len(os.Args) < 2 {
|
||||
fmt.Println("Usage: go run primes.go [MAX]")
|
||||
return
|
||||
}
|
||||
primes := make([]int, 0)
|
||||
max,_ := strconv.Atoi(os.Args[1])
|
||||
for i:= 3; i < max; i+=2 {
|
||||
is_prime := true
|
||||
|
@ -24,7 +29,8 @@ func main() {
|
|||
}
|
||||
}
|
||||
if is_prime {
|
||||
fmt.Println(i)
|
||||
primes = append(primes, i)
|
||||
}
|
||||
}
|
||||
fmt.Println(primes)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue