http://herpolhode.com/rob/utah2000.pdf
On one hand you had Windows NT taking over commercial space, on the other you had the Linux juggernaut gathering speed. There was not much left for the niche players.
Glad to see Minix survives still.
1,646 karma · joined March 12, 2010
http://herpolhode.com/rob/utah2000.pdf
On one hand you had Windows NT taking over commercial space, on the other you had the Linux juggernaut gathering speed. There was not much left for the niche players.
Glad to see Minix survives still.
channels work just fine in a single-cpu context. concurrency is not parallelism.
Every language needs this except lisp and python :)
Note that the one trick gofmt has over say indent is that it truly understands go syntax. It's not just a pretty printer
it hasn't. i meant 'if you build go with CGO_ENABLED=0' but was unclear.
because it doesn't look like it's solving anything, it feels positively ugly, and there's no way we'll every shut those people up no matter how hard we try. there's no generics solution that will do that.
thankfully go's authors don't usually favour the internet's opinion on these matters, or we'd be dealing with something even uglier now.
i ran on a 2-core intel desktop running linux.
1x1 80735 67696 67068 66585
2x1 64380 76531 31346 43268
4x1 77613 73794 72759 43263
8x1 77813 64197 32899 46960
1x2 71641 72521 72715 72695
2x2 103711 102944 104210 39619
4x2 73171 23803 90537 46204
8x2 96624 49698 33714 45729
1x4 69418 74088 34364 38935
2x4 88805 102847 113740 108829
4x4 102406 108110 34672 120161
8x4 109022 124726 121642 46765
1x8 62336 68238 71297 68754
2x8 104833 115276 118170 44617
4x8 122292 126075 126101 121306
8x8 108826 125098 124765 47713
edit: s/pingtest/loadtest/ in the explanation above.(pingtest/mqtt gomaxprocs) vs pingtest, reporting "elapsed time":
1x1 5.8s
2x1 6.0s
4x1 6.0s
8x1 6.1s
16x1 6.1s
1x2 5.5s
2x2 3.5s
4x2 3.4s
8x2 3.5s
16x2 3.5s
1x4 5.4s
2x4 3.6s
4x4 3.3s
8x4 3.4s
16x4 3.7s
same thing but for loadtest, reported value is "messages/sec": 1x1 75521
2x1 76523
4x1 77477
8x1 74613
16x1 73678
1x2 71439
2x2 100571
4x2 93426
8x2 108938
16x2 97593
1x4 71390
2x4 87426
4x4 98746
8x4 99320
16x4 119692
1x8 64413
2x8 87445
4x8 102953
8x8 120720
16x8 106842
(note that the loadtest doesn't look like it takes long enough to be meaningful in its default)as always with benchmarks, caveat emptor, but in my opinion go does just fine.
http://research.swtch.com/qart
and this one has the benefit of allowing you to make a qr code with your face on it :)
even the C guys have moved on though, as Go (co-designed by Ken Thompson) illustrates.
short of disallowing interface-to-interface casts, it is indicative of an error and should be vetted as such. the particular case I described earlier was covered by the Go 1.0 guarantee, so it had to be documented rather than fixed.