Hi, I'm comparing two loops in Go and C. The Go code on my machine is about 3 times slower than C. I know C can be faster but didn't think it'll be that faster. Any ideas what's making the Go code slower?
You can see the code at https://github.com/tebeka/go-c-loop Go Code: package main import ( "fmt" "os" "strconv" "time" ) func main() { n, _ := strconv.Atoi(os.Args[1]) m, _ := strconv.Atoi(os.Args[2]) sum := int(0) start := time.Now() for i := 0; i < 10000000; i++ { if i%n != m { sum += n } } fmt.Println(time.Now().Sub(start).Seconds(), sum) } C Code #include <stdio.h> #include <unistd.h> #include <x86intrin.h> int main(int argc,char** argv) { unsigned long long ull0,ull1; unsigned int sum=0,n,m; sscanf(argv[1],"%d",&n); sscanf(argv[2],"%d",&m); ull0 = __rdtsc(); for(int i=0; i<10000000; i++) { if(i%n != m) { sum += n; } } ull1 = __rdtsc(); printf("%f %d\n",(ull1-ull0)/2.1e9,sum); } -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.