3 ms·
"beating Go by an order of magnitude." This is not what happend, Go was faster until batch size was > 16 then C# took over, but still C# latency was 2-3x highe
by Thaxll 7y ago
"beating Go by an order of magnitude."
This is not what happend, Go was faster until batch size was > 16 then C# took over, but still C# latency was 2-3x higher than Go in every benchmarks.
Also C# / Java had to use C code where the Go driver was pure Go.
https://github.com/ixy-languages/ixy-languages/raw/master/img/batches-3.3.png https://github.com/ixy-languages/ixy-languages/raw/master/im...
https://github.com/ixy-languages/ixy-languages/raw/master/img/latency-hdr-hist-10.png https://github.com/ixy-languages/ixy-languages/raw/master/im...
At 20Mpp/sec the C# latency was no longer on the graph:
https://github.com/ixy-languages/ixy-languages/raw/master/img/latency-hdr-hist-20.png https://github.com/ixy-languages/ixy-languages/raw/master/im...
- tedunangst 7y agoI think it's fascinating that someone could look at those graphs and come away with the conclusion that c# is an order of magnitude faster than go.
- zeeboo 7y agoOn the repo page, there’s a latency graph, and on it there are two green lines. One is for Javascript and has poor latencies. The other is Go and has some of the best latencies. Because the Go one is clustered with other overlapping lines, I think people often misinterpret the Javascript line as the Go line. https://github.com/ixy-languages/ixy-languages https://github.com/ixy-languages/ixy-languages
- leshow 7y agoWell, in my defense, I wasn't looking at the graph when I wrote that, I was trying to remember a graph that I saw a week ago.
- joelfolksy 7y agoIt's also fascinating that someone could look at those graphs and say that "Go was faster until batch size was > 16 then C# took over," when Go was barely faster but C# was significantly faster.
- c0ff33 7y agoAs if you have a choice to not use pure Go code, it doesn't play nice with C.
- tfha 7y agoCgo is a very well supported paradigm and many projects use cgo copiously.
- pjmlp 7y agoC# had to use C code due to lack of .NET knowledge of the authors as discussed on the other thread.
- thelazydogsback 7y agoYes, interop and Span<> should be fine...
- Thaxll 7y agoWould be interesting to get a PR then and see the difference.
- joelfolksy 7y agoThere would be 20 fewer lines of C?
- pjmlp 7y agoIf you go to the other thread someone posted a GitHub gist showing how to use mlock() from C#, which apparently was impossible to do.