> How about putting commstime.go as a chapter on the Wikipedia page?
I'd rather not encourage people to think that commstime is in any way a
meaningful benchmark. ;-)
I remember writing an even simpler benchmark years ago when I was working on Libcsp stuff (now subsumed into Libcsp2) which was a simple bucket brigade passing one integer along a very long chain (using the 'Identity' process in PHW's plug-n-play).Â I had implementations in Occam on several platforms, Ada on Sparcstation (IIRC), Java and Libcsp on the same machine.Â The Ada was orders of magnitude slower and quite limited in the number of tasks.Â The Java was even more limited.Â Occam, meanwhile, not only was the fastest by several orders of magnitude but also would happily run 1e6 processes on what would today be considered to be a machine too poorly specced even for a cheap NAS.Â Alas I've no idea now where the measurements were recorded so I don't have the figures now.
It's a benchmark that particularly favours Occam, but still is one that provides useful information when comparing different run-times and their approaches.Â It allows measurement of the context switching time and the practical upper limit of number of processes to be explored.
Meanwhile, it seems from Carl's commstime that Go is a factor of 6 behind Occam in context switching.