also, if you find any odd behavior, or API issues, or possible improvements, 
etc...
feel free to reach out on the gonum mailing list:
- gonum-...@googlegroups.com

(feel free to also reach out if Gonum did a good job at fulfilling your use 
case :P)

-s

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Saturday, February 20th, 2021 at 8:13 PM, TiT8 <lorenzope...@gmail.com> 
wrote:

> Awesome !! Thank you.
>
> Il giorno sabato 20 febbraio 2021 alle 19:59:37 UTC+1 DrGo ha scritto:
>
> > Dear Lorenzo,Here’s a link to an old but still relevant tutorial on 
> > benchmarking Go programs
> >
> > https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go
> >
> > Happy benchmarking
> >
> > On Saturday, February 20, 2021 at 11:19:40 AM UTC-6 TiT8 wrote:
> >
> > > Thank you Volker.
> > >
> > > I want to say that I was not trying to benchmark the two version of Go 
> > > (two weeks ago I had go1.15.8, now 1.16). At the beginning I was trying 
> > > to do some linear algebra with Go as a free “alternative of Matlab”, so I 
> > > noted the difference between the exe coming from the two versions.Now I 
> > > have understand that this is not the way to measure the specific 
> > > performance of my issue. I will learn more and also testing.
> > >
> > > Sorry for your time, but thank you very much for your fast help.Il giorno 
> > > sabato 20 febbraio 2021 alle 17:31:24 UTC+1 Volker Dobler ha scritto:
> > >
> > > > (premature send, sorry)
> > > >
> > > > 4. Your matrix multiplication is just a few CPU instructions, it is 
> > > > hardto measure something tiny reliable. So use larger matrixes.5. You 
> > > > are benchmarking also how fast you can format and outputthe results to 
> > > > stdout. This might or might not be intentional butprobably is just 
> > > > wrong.6. There is no point in comparing Go 1.15 and Go 1.16 with 
> > > > microbenchmarkswhich do not properly measure what you think they do. 
> > > > Your code spendsfar too much time in a lot of things. Come up with a 
> > > > _proper_ benchmarkbased on testing.B and go test. Make sure this 
> > > > benchmark is stable. Makesure this benchmarks really benchmarks what 
> > > > you are trying to measure.Then redo the benchmarks 10 times and compare 
> > > > them doing properstatistics.
> > > >
> > > > V.
> > > >
> > > > On Saturday, 20 February 2021 at 15:48:32 UTC+1 TiT8 wrote:
> > > >
> > > > > Hello everyone,I'm Lorenzo and I'm not a computer scientist, I have 
> > > > > used some "Matlab" and I am new with Go (surprisingly fast, simple 
> > > > > and elegant).
> > > > >
> > > > > I'm trying to do some basic operation on matrix with the "Gonum" 
> > > > > package using vectorization. I was curious about the speed of 
> > > > > development and the performance (repeat... surprisingly for me!). So 
> > > > > I've tried to do some measures:
> > > > >
> > > > > package mainimport (    "fmt"    "time"    
> > > > > "gonum.org/v1/gonum/mat")func main() {    p := mat.NewDense(3, 3, 
> > > > > nil)    a := mat.NewDense(3, 3, []float64{        1, 2, 3, 1, 2, 3, 
> > > > > 1, 2, 3,    })    start := time.Now()p.Mul(a, a) // element-wise    
> > > > > fmt.Printf("%v\n", mat.Formatted(p, mat.Prefix(""), mat.Squeeze()))   
> > > > >  p.Add(a, a)     fmt.Printf("%v\n", mat.Formatted(p, mat.Prefix(""), 
> > > > > mat.Squeeze()))    p.MulElem(a, a)    fmt.Printf("%v\n", 
> > > > > mat.Formatted(p, mat.Prefix(""), mat.Squeeze()))    
> > > > > fmt.Println(time.Since(start))}
> > > > >
> > > > > Well... when I run the "go run mat.go" command the result time is 
> > > > > about 150 microseconds, but when I run "go build" and then execute 
> > > > > the binary the result time is about 4 milliseconds. This happen when 
> > > > > I use go1.16.
> > > > >
> > > > > When I use go1.15.8, on the same code, the exe is faster (about 120 
> > > > > microseconds) then the "go run mat.go" (about 180 microseconds). One 
> > > > > order of magnitude faster than go1.16 exe (and basic Matlab).
> > > > >
> > > > > So:
> > > > >
> > > > > -   am I in error with the code (sorry, it's all new for me)? If yes, 
> > > > > where is my fault?
> > > > > -   if the "benchmark" was correct, why go1.16 build executable is 
> > > > > slower than go1.15.8 exe and "go run" command?
> > > > > -   Is it my machine's fault or Gonum package or what?
> > > > > -   Do you also have these values?  
> > > > >
> > > > > My pc:  HP ELITEBOOK 8560w Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz, 
> > > > > 2201 Mhz, 4 Core(s), 8 Logical Processor(s) x64.I am on the Windows 
> > > > > Subsystem Linux 2.  
> > > > >
> > > > > Sorry for my English, I hope you understand my issue, thank you for 
> > > > > the attention
>
> --
>
> 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.
>
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/b7b558d9-d14c-4ba7-bcb8-977015e01bfdn%40googlegroups.com.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/Qwe6flAMixj8jYB-Ipw_jDYVh13gASeBWF1i6E1LaIe9dD2CWBkhAZfVVO5VT_X3A-XspAJYEBHZfhV3v-YlcQCV5D0z4yDIl_mgr-CYKNk%3D%40sbinet.org.

Reply via email to