Open dvyukov opened 8 years ago
@rsc @aclements @RLH @randall77 @dr2chase
We're not going to get to this for Go 1.6.
The memory instability appears to be fixed at tip. There's still a performance regression and the binaries are still bigger.
1.4
4.53 3036356
4.55 3036348
4.66 3036348
4.50 3036348
4.49 3036348
tip (bea9ae2 linux/amd64)
7.76 2947704
8.76 2947704
7.93 2947700
8.43 2947748
7.32 2947688
@dvyukov can you still repro this issue with 1.10?
I don't have time right now. But anybody is free to try, there is a repro.
Results with 1.13beta1 (linux/amd64)-
for i in {1..10}; do TIME="%e %M" time go1.13beta1 test -run=TestT; done
3.94 3930436
3.72 1967292
3.12 3930452
3.05 3930480
3.73 2948844
3.17 3009676
3.05 3930480
3.06 3930528
3.70 1967368
3.72 2949060
Performance seems to be fixed but memory usage seems to be jumping around.
@dvyukov @aclements - How do we want to proceed with this ?
Below is the program, I am running it with 1.4 and current tip. There are significant regressions with binary size, execution time and memory consumption. Binary size on 1.4 3581368, binary size on tip is 4096280. Below are results of running it with
TIME="%e %M" time
:1.4 reliably consumes 3GB, while 1.5 can consume 3GB or 4GB or 5GB. There also seems to be a performance regression of about 30%.
Memory consumption instability and variance seems to be the most troublesome. tip should not consume significantly more than 1.4.
go version devel +a1aafdb Tue Sep 15 16:12:59 2015 +0000 linux/amd64