k0001/tisch

`Tutorial.hs` times out on CI

Opened this issue · 0 comments

Tutorial.hs also takes a pretty long time for me locally (though not 10m; ~30s). I compiled with --ghc-options="-v2" and find that most of the time is spent by the simplifier:

[1 of 2] Compiling Tutorial         ( tests/Tutorial.hs, /Users/eeasley/code/tisch/dist-newstyle/build/x86_64-osx/ghc-8.2.1/tisch-0.1/c/tests/build/tests/tests-tmp/Tutorial.o )
*** Parser [Tutorial]:
!!! Parser [Tutorial]: finished in 7.52 milliseconds, allocated 14.747 megabytes
*** Renamer/typechecker [Tutorial]:
!!! Renamer/typechecker [Tutorial]: finished in 1296.85 milliseconds, allocated 772.685 megabytes
*** Desugar [Tutorial]:
Result size of Desugar (after optimization)
  = {terms: 4,639, types: 122,936, coercions: 783,558, joins: 0/104}
!!! Desugar [Tutorial]: finished in 772.89 milliseconds, allocated 806.432 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 9,734,
     types: 234,812,
     coercions: 1,522,157,
     joins: 0/295}
Result size of Simplifier iteration=2
  = {terms: 6,067, types: 83,236, coercions: 644,374, joins: 0/77}
Result size of Simplifier iteration=3
  = {terms: 5,942, types: 81,222, coercions: 623,726, joins: 0/81}
Result size of Simplifier iteration=4
  = {terms: 5,932, types: 81,150, coercions: 623,726, joins: 0/76}
Result size of Simplifier
  = {terms: 5,932, types: 81,150, coercions: 623,726, joins: 0/76}
!!! Simplifier [Tutorial]: finished in 2690.53 milliseconds, allocated 2485.835 megabytes
*** Specialise [Tutorial]:
Result size of Specialise
  = {terms: 7,095, types: 88,099, coercions: 695,247, joins: 0/73}
!!! Specialise [Tutorial]: finished in 95.52 milliseconds, allocated 40.302 megabytes
*** Float out(FOS {Lam = Just 0,
                   Consts = True,
                   OverSatApps = False}) [Tutorial]:
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = False})
  = {terms: 8,916, types: 115,897, coercions: 695,247, joins: 0/18}
!!! Float out(FOS {Lam = Just 0,
                   Consts = True,
                   OverSatApps = False}) [Tutorial]: finished in 349.35 milliseconds, allocated 51.536 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 8,133, types: 92,204, coercions: 702,085, joins: 9/44}
Result size of Simplifier iteration=2
  = {terms: 7,614, types: 90,194, coercions: 678,471, joins: 8/17}
Result size of Simplifier iteration=3
  = {terms: 7,583, types: 90,145, coercions: 678,439, joins: 7/13}
Result size of Simplifier
  = {terms: 7,583, types: 90,145, coercions: 678,439, joins: 7/13}
!!! Simplifier [Tutorial]: finished in 3206.89 milliseconds, allocated 3472.791 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 7,144, types: 89,542, coercions: 678,428, joins: 7/13}
Result size of Simplifier
  = {terms: 6,806, types: 89,042, coercions: 678,428, joins: 7/13}
!!! Simplifier [Tutorial]: finished in 1060.88 milliseconds, allocated 955.829 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 24,584,
     types: 324,021,
     coercions: 4,296,656,
     joins: 8/1,944}
Result size of Simplifier iteration=2
  = {terms: 26,232,
     types: 282,953,
     coercions: 3,986,583,
     joins: 7/1,446}
Result size of Simplifier iteration=3
  = {terms: 21,169,
     types: 229,973,
     coercions: 3,903,227,
     joins: 14/678}
Result size of Simplifier iteration=4
  = {terms: 20,921,
     types: 229,112,
     coercions: 3,882,558,
     joins: 9/638}
Result size of Simplifier
  = {terms: 20,921,
     types: 229,112,
     coercions: 3,882,558,
     joins: 9/638}
!!! Simplifier [Tutorial]: finished in 12859.28 milliseconds, allocated 14800.715 megabytes
*** Float inwards [Tutorial]:
Result size of Float inwards
  = {terms: 20,921,
     types: 229,112,
     coercions: 3,882,558,
     joins: 9/638}
!!! Float inwards [Tutorial]: finished in 131.01 milliseconds, allocated 54.599 megabytes
*** Called arity analysis [Tutorial]:
Result size of Called arity analysis
  = {terms: 20,921,
     types: 229,112,
     coercions: 3,882,558,
     joins: 9/638}
!!! Called arity analysis [Tutorial]: finished in 97.26 milliseconds, allocated 35.778 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 20,900,
     types: 226,034,
     coercions: 3,882,935,
     joins: 9/635}
Result size of Simplifier iteration=2
  = {terms: 20,842,
     types: 224,932,
     coercions: 3,882,195,
     joins: 7/628}
Result size of Simplifier
  = {terms: 20,842,
     types: 224,932,
     coercions: 3,882,195,
     joins: 7/628}
!!! Simplifier [Tutorial]: finished in 4743.34 milliseconds, allocated 4272.203 megabytes
*** Demand analysis [Tutorial]:
Result size of Demand analysis
  = {terms: 20,842,
     types: 224,932,
     coercions: 3,882,195,
     joins: 7/628}
!!! Demand analysis [Tutorial]: finished in 366.63 milliseconds, allocated 119.349 megabytes
*** Worker Wrapper binds [Tutorial]:
Result size of Worker Wrapper binds
  = {terms: 21,617,
     types: 226,597,
     coercions: 3,882,225,
     joins: 7/728}
!!! Worker Wrapper binds [Tutorial]: finished in 92.08 milliseconds, allocated 14.379 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 21,570,
     types: 226,461,
     coercions: 3,882,766,
     joins: 15/721}
Result size of Simplifier iteration=2
  = {terms: 21,084,
     types: 225,467,
     coercions: 3,882,185,
     joins: 7/628}
Result size of Simplifier
  = {terms: 21,084,
     types: 225,467,
     coercions: 3,882,185,
     joins: 7/628}
!!! Simplifier [Tutorial]: finished in 4362.12 milliseconds, allocated 4272.406 megabytes
*** Float out(FOS {Lam = Just 0,
                   Consts = True,
                   OverSatApps = True}) [Tutorial]:
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = True})
  = {terms: 22,034,
     types: 229,733,
     coercions: 3,882,185,
     joins: 7/614}
!!! Float out(FOS {Lam = Just 0,
                   Consts = True,
                   OverSatApps = True}) [Tutorial]: finished in 251.40 milliseconds, allocated 166.737 megabytes
*** Common sub-expression [Tutorial]:
Result size of Common sub-expression
  = {terms: 15,573,
     types: 160,572,
     coercions: 1,069,329,
     joins: 7/614}
!!! Common sub-expression [Tutorial]: finished in 180.11 milliseconds, allocated 64.582 megabytes
*** Float inwards [Tutorial]:
Result size of Float inwards
  = {terms: 15,573,
     types: 160,572,
     coercions: 1,069,329,
     joins: 7/614}
!!! Float inwards [Tutorial]: finished in 83.45 milliseconds, allocated 33.625 megabytes
*** Simplifier [Tutorial]:
Result size of Simplifier iteration=1
  = {terms: 14,705,
     types: 155,869,
     coercions: 1,093,171,
     joins: 7/613}
Result size of Simplifier iteration=2
  = {terms: 14,610,
     types: 155,574,
     coercions: 1,084,813,
     joins: 7/603}
Result size of Simplifier
  = {terms: 14,610,
     types: 155,574,
     coercions: 1,084,813,
     joins: 7/603}
!!! Simplifier [Tutorial]: finished in 1978.67 milliseconds, allocated 1877.248 megabytes
*** Demand analysis [Tutorial]:
Result size of Demand analysis
  = {terms: 14,610,
     types: 155,574,
     coercions: 1,084,813,
     joins: 7/603}
!!! Demand analysis [Tutorial]: finished in 163.62 milliseconds, allocated 77.471 megabytes
*** CoreTidy [Tutorial]:
Result size of Tidy Core
  = {terms: 13,638,
     types: 150,245,
     coercions: 1,070,992,
     joins: 7/592}
!!! CoreTidy [Tutorial]: finished in 330.62 milliseconds, allocated 187.693 megabytes
Created temporary directory: /var/folders/51/hc2gn2z15037t3zj4x5vvd3w0000gp/T/ghc55035_0
*** CorePrep [Tutorial]:
Result size of CorePrep
  = {terms: 17,729,
     types: 200,188,
     coercions: 1,070,992,
     joins: 7/2,219}
!!! CorePrep [Tutorial]: finished in 136.86 milliseconds, allocated 45.787 megabytes
*** Stg2Stg:
*** CodeGen [Tutorial]:
!!! CodeGen [Tutorial]: finished in 829.13 milliseconds, allocated 961.995 megabytes
*** Assembler:
*** Deleting temp files:
Warning: deleting non-existent /var/folders/51/hc2gn2z15037t3zj4x5vvd3w0000gp/T/ghc55035_0/ghc_3.c
Warning: deleting non-existent /var/folders/51/hc2gn2z15037t3zj4x5vvd3w0000gp/T/ghc55035_0/ghc_1.s
compile: input file tests/Main.hs
*** Checking old interface for Main (use -ddump-hi-diffs for more details):