
Hi folks, Apropos of nothing, I will be talking about OverloadedRecordFields in London on Monday 28th April at 6:30pm: https://skillsmatter.com/meetups/6345-overloaded-record-fields-for-haskell I've updated my OverloadedRecordFields branches to HEAD as of today. Validate on linux x86_64 is currently failing with a few perf failures, but several appear to be intermittently present on master (see below for details). How worried should I be about these? I'd like to get this reviewed/merged as soon as possible because the changes are quite wide-ranging so they tend to bitrot quickly. The code is in the following three repositories: https://github.com/adamgundry/ghc https://github.com/adamgundry/packages-base https://github.com/adamgundry/haddock The overloaded-record-fields branches have the history (rather messy, I'm afraid) and the orf-squashed branches have everything squashed into one commit per branch. More general information is on the wiki: https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields Cheers, Adam The perf failures on my branch are: perf/compiler T1969 [stat not good enough] (normal) perf/compiler T3064 [stat not good enough] (normal) perf/compiler T5030 [stat not good enough] (normal) perf/compiler T5837 [stat not good enough] (normal) perf/compiler T6048 [stat not good enough] (optasm) perf/haddock haddock.Cabal [stat not good enough] (normal) perf/haddock haddock.base [stat not good enough] (normal) perf/haddock haddock.compiler [stat not good enough] (normal) Those on master are: perf/compiler T1969 [stat not good enough] (normal) perf/compiler T3064 [stat not good enough] (normal) perf/compiler T5837 [stat not good enough] (normal) perf/compiler T6048 [stat not good enough] (optasm) perf/haddock haddock.Cabal [stat not good enough] (normal) Details of failures on my branch: =====> haddock.base(normal) 201 of 3977 [0, 0, 0] bytes allocated value is too high: Expected bytes allocated: 7128342344 +/-5% Lower bound bytes allocated: 6771925226 Upper bound bytes allocated: 7484759462 Actual bytes allocated: 7638726640 *** unexpected failure for haddock.base(normal) =====> haddock.Cabal(normal) 202 of 3977 [0, 1, 0] max_bytes_used value is too high: Expected max_bytes_used: 95356616 +/-15% Lower bound max_bytes_used: 81053123 Upper bound max_bytes_used: 109660109 Actual max_bytes_used: 131046008 peak_megabytes_allocated value is too high: Expected peak_megabytes_allocated: 278 +/-10% Lower bound peak_megabytes_allocated: 250 Upper bound peak_megabytes_allocated: 306 Actual peak_megabytes_allocated: 326 bytes allocated value is too high: Expected bytes allocated: 3979151552 +/-5% Lower bound bytes allocated: 3780193974 Upper bound bytes allocated: 4178109130 Actual bytes allocated: 4752508984 *** unexpected failure for haddock.Cabal(normal) =====> haddock.compiler(normal) 203 of 3977 [0, 2, 0] bytes allocated value is too high: Expected bytes allocated: 28708374824 +/-10% Lower bound bytes allocated: 25837537341 Upper bound bytes allocated: 31579212307 Actual bytes allocated: 32010912664 *** unexpected failure for haddock.compiler(normal) =====> T1969(normal) 204 of 3977 [0, 3, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T1969.hs +RTS -V0 -tT1969.comp.stats --machine-readable -RTS -dcore-lint -static >T1969.comp.stderr 2>&1 max_bytes_used value is too high: Expected max_bytes_used: 11000000 +/-20% Lower bound max_bytes_used: 8800000 Upper bound max_bytes_used: 13200000 Actual max_bytes_used: 13787248 *** unexpected failure for T1969(normal) =====> T3064(normal) 207 of 3977 [0, 4, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T3064.hs +RTS -V0 -tT3064.comp.stats --machine-readable -RTS >T3064.comp.stderr 2>&1 bytes allocated value is too high: Expected bytes allocated: 308422280 +/-5% Lower bound bytes allocated: 293001166 Upper bound bytes allocated: 323843394 Actual bytes allocated: 351270952 *** unexpected failure for T3064(normal) =====> T5030(normal) 209 of 3977 [0, 5, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T5030.hs -fcontext-stack=300 +RTS -V0 -tT5030.comp.stats --machine-readable -RTS >T5030.comp.stderr 2>&1 =====> T5631(normal) 210 of 3977 [0, 5, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T5631.hs +RTS -V0 -tT5631.comp.stats --machine-readable -RTS >T5631.comp.stderr 2>&1 bytes allocated value is too high: Expected bytes allocated: 397672152 +/-10% Lower bound bytes allocated: 357904936 Upper bound bytes allocated: 437439368 Actual bytes allocated: 474229448 *** unexpected failure for T5030(normal) =====> T5837(normal) 216 of 3977 [0, 6, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T5837.hs -ftype-function-depth=50 +RTS -V0 -tT5837.comp.stats --machine-readable -RTS >T5837.comp.stderr 2>&1 bytes allocated value is too high: Expected bytes allocated: 86795752 +/-10% Lower bound bytes allocated: 78116176 Upper bound bytes allocated: 95475328 Actual bytes allocated: 96210584 *** unexpected failure for T5837(normal) =====> T6048(optasm) 217 of 3977 [0, 7, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T6048.hs -O -fasm +RTS -V0 -tT6048.comp.stats --machine-readable -RTS >T6048.comp.stderr 2>&1 bytes allocated value is too high: Expected bytes allocated: 110646312 +/-10% Lower bound bytes allocated: 99581680 Upper bound bytes allocated: 121710944 Actual bytes allocated: 125707864 *** unexpected failure for T6048(optasm) Details of failures on master: =====> haddock.Cabal(normal) 202 of 3954 [0, 0, 0] bytes allocated value is too high: Expected bytes allocated: 3979151552 +/-5% Lower bound bytes allocated: 3780193974 Upper bound bytes allocated: 4178109130 Actual bytes allocated: 4212057304 *** unexpected failure for haddock.Cabal(normal) =====> T1969(normal) 204 of 3954 [0, 1, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate-master/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T1969.hs +RTS -V0 -tT1969.comp.stats --machine-readable -RTS -dcore-lint -static >T1969.comp.stderr 2>&1 max_bytes_used value is too high: Expected max_bytes_used: 11000000 +/-20% Lower bound max_bytes_used: 8800000 Upper bound max_bytes_used: 13200000 Actual max_bytes_used: 13662736 *** unexpected failure for T1969(normal) =====> T3064(normal) 207 of 3954 [0, 2, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate-master/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T3064.hs +RTS -V0 -tT3064.comp.stats --machine-readable -RTS >T3064.comp.stderr 2>&1 =====> T4007(normal) 208 of 3954 [0, 2, 0] cd ./perf/compiler && $MAKE -s --no-print-directory T4007
T4007.run.stdout 2>T4007.run.stderr bytes allocated value is too high: Expected bytes allocated: 308422280 +/-5% Lower bound bytes allocated: 293001166 Upper bound bytes allocated: 323843394 Actual bytes allocated: 331042056 *** unexpected failure for T3064(normal)
=====> T5837(normal) 216 of 3954 [0, 3, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate-master/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T5837.hs -ftype-function-depth=50 +RTS -V0 -tT5837.comp.stats --machine-readable -RTS >T5837.comp.stderr 2>&1 bytes allocated value is too high: Expected bytes allocated: 86795752 +/-10% Lower bound bytes allocated: 78116176 Upper bound bytes allocated: 95475328 Actual bytes allocated: 95994280 *** unexpected failure for T5837(normal) =====> T6048(optasm) 217 of 3954 [0, 4, 0] cd ./perf/compiler && '/home/adam/Documents/Strathclyde/Code/GHC/ghc-validate-master/bindisttest/install dir/bin/ghc' -fforce-recomp -dno-debug-output -no-user-package-db -rtsopts -fno-ghci-history -c T6048.hs -O -fasm +RTS -V0 -tT6048.comp.stats --machine-readable -RTS >T6048.comp.stderr 2>&1 bytes allocated value is too high: Expected bytes allocated: 110646312 +/-10% Lower bound bytes allocated: 99581680 Upper bound bytes allocated: 121710944 Actual bytes allocated: 124431616 *** unexpected failure for T6048(optasm) On 25/02/14 16:18, Simon Peyton Jones wrote:
Adam
I'm very happy to hear that... good stuff.
I'm under water with ICFP submissions (deadline Sat). Moreover I think it is clearly too later to put this into 7.8; RC1 is out and I expect RC2 any day.
So I suggest we plan to merge after 7.8 is out.
Are the wiki pages up to date? Records/OverloadedRecordFields Records/OverloadedRecordFields/Implementation Records/OverloadedRecordFields/Plan
The first does not point to the latter two; "Plan" may mean "Design"... I feel some rationalisation may make sense
Simon
| -----Original Message----- | From: Adam Gundry [mailto:adam@well-typed.com] | Sent: 24 February 2014 08:37 | To: Simon Peyton Jones | Subject: Re: OverloadedRecordFields | | Hi Simon, | | My OverloadedRecordFields branches[1,2,3] are up to date with HEAD as of | last Saturday. Validate on linux x86_64 reports only one failure, the | haddock.Cabal perf test, which might well be due to my Haddock changes, | and I will investigate. I'm not sure how to run the Haddock test suite? | | I am keen to get the code reviewed and into HEAD as soon as is | convenient, but I'm aware these are substantial changes, and don't want | to rush things. In particular, I would understand if you'd rather hold | them back until after the 7.8 final release. | | How would you like to proceed? | | Adam | | [1] https://github.com/adamgundry/ghc | [2] https://github.com/adamgundry/packages-base | [3] https://github.com/adamgundry/haddock
-- Adam Gundry, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/