Open dvyukov opened 9 years ago
I understand that there is a lot going on in 1.5 that merits a moratorium on large runtime changes. However, please consider leaving some room in the development tree for such changes (in 1.6, etc.). There are programs whose bottleneck is not GC, and could benefit from such changes. For example, we would like to implement such matrix-multiply algorithms in the Go BLAS implementation.
Updated numbers using Go 1.15beta1 windows/amd64:
init... 24.9877ms
serial sum... 5m1.493115s (sum=480293945344)
cache oblivious sum... 38.726983s (sum=480293945344)
parallel sum(1)... 4m56.0129857s (sum=480293945344)
parallel sum(2)... 2m27.3990265s (sum=480293945344)
parallel sum(4)... 1m58.1337872s (sum=480293945344)
parallel sum(8)... 1m0.278899s (sum=480293945344)
parallel sum(16)... 37.8720665s (sum=480293945344)
parallel sum(32)... 22.8789963s (sum=480293945344)
cache oblivious parallel sum(1)... 56.2580064s (sum=480293945344)
cache oblivious parallel sum(2)... 27.855001s (sum=480293945344)
cache oblivious parallel sum(4)... 16.6889919s (sum=480293945344)
cache oblivious parallel sum(8)... 9.2350009s (sum=480293945344)
cache oblivious parallel sum(16)... 7.322997s (sum=480293945344)
cache oblivious parallel sum(32)... 6.1710005s (sum=480293945344)
The situation seems to have improved significantly.