I've noticed that this C code:

#include "math.h"
int main() {
        double x = 2.5;
        int Nmax = 10000000;
        for (int N=0; N<Nmax; N++) {
                for (int i=0; i<20; i++) {
                        pow(x, i);
                }
        }
}

can run up to 50x faster than this Go code:

package main

import "math"

func main() {
x := 2.5
Nmax := 10000000
for N := 0; N < Nmax; N++ {
for i := 0; i < 20; i++ {
math.Pow(x, float64(i))
}
}
}

The C code was compiled with: gcc -O2 ccode.c -o ccode -lm
then run with time ./ccode

The Go code was compiled with: go build gcode.go
then run with  time ./gcode

I've used the time command on Linux (Ubuntu) to get some estimate.

So the question is: how can we make the Go code faster?

-- 
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.

Reply via email to