speed up for go
This commit is contained in:
parent
6dc292bc10
commit
0467c64d21
|
@ -9,11 +9,16 @@ import(
|
||||||
"math"
|
"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() {
|
func main() {
|
||||||
if len(os.Args) < 2 {
|
if len(os.Args) < 2 {
|
||||||
fmt.Println("Usage: go run primes.go [MAX]")
|
fmt.Println("Usage: go run primes.go [MAX]")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
primes := make([]int, 0)
|
||||||
max,_ := strconv.Atoi(os.Args[1])
|
max,_ := strconv.Atoi(os.Args[1])
|
||||||
for i:= 3; i < max; i+=2 {
|
for i:= 3; i < max; i+=2 {
|
||||||
is_prime := true
|
is_prime := true
|
||||||
|
@ -24,7 +29,8 @@ func main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if is_prime {
|
if is_prime {
|
||||||
fmt.Println(i)
|
primes = append(primes, i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fmt.Println(primes)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue