summaryrefslogtreecommitdiff
path: root/testsuite/tests/perf/should_run
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/perf/should_run')
-rw-r--r--testsuite/tests/perf/should_run/T149_A.hs2
-rw-r--r--testsuite/tests/perf/should_run/T149_B.hs2
-rw-r--r--testsuite/tests/perf/should_run/T2902_A.hs2
-rw-r--r--testsuite/tests/perf/should_run/T2902_B.hs2
-rw-r--r--testsuite/tests/perf/should_run/T5113.hs2
-rw-r--r--testsuite/tests/perf/should_run/T9203.hs9
-rw-r--r--testsuite/tests/perf/should_run/T9203.stdout1
-rw-r--r--testsuite/tests/perf/should_run/T9339.hs4
-rw-r--r--testsuite/tests/perf/should_run/T9339.stdout1
-rw-r--r--testsuite/tests/perf/should_run/all.T65
10 files changed, 71 insertions, 19 deletions
diff --git a/testsuite/tests/perf/should_run/T149_A.hs b/testsuite/tests/perf/should_run/T149_A.hs
index dc24f4c13c..22ec276ebc 100644
--- a/testsuite/tests/perf/should_run/T149_A.hs
+++ b/testsuite/tests/perf/should_run/T149_A.hs
@@ -2,7 +2,7 @@ module Main (main) where
-- See Trac #149
--- Curently (with GHC 7.0) the CSE works, just,
+-- Currently (with GHC 7.0) the CSE works, just,
-- but it's delicate.
diff --git a/testsuite/tests/perf/should_run/T149_B.hs b/testsuite/tests/perf/should_run/T149_B.hs
index ef5b9c56bb..514fd16a9c 100644
--- a/testsuite/tests/perf/should_run/T149_B.hs
+++ b/testsuite/tests/perf/should_run/T149_B.hs
@@ -2,7 +2,7 @@ module Main (main) where
-- See Trac #149
--- Curently (with GHC 7.0) the CSE works, just,
+-- Currently (with GHC 7.0) the CSE works, just,
-- but it's delicate.
diff --git a/testsuite/tests/perf/should_run/T2902_A.hs b/testsuite/tests/perf/should_run/T2902_A.hs
index c0939104f3..cb2cec990c 100644
--- a/testsuite/tests/perf/should_run/T2902_A.hs
+++ b/testsuite/tests/perf/should_run/T2902_A.hs
@@ -1,5 +1,5 @@
-{-# LANGUAGE UnicodeSyntax #-}
+{-# LANGUAGE UnicodeSyntax, FlexibleContexts #-}
module Main (main) where
diff --git a/testsuite/tests/perf/should_run/T2902_B.hs b/testsuite/tests/perf/should_run/T2902_B.hs
index c6558c625b..65cb1a6a90 100644
--- a/testsuite/tests/perf/should_run/T2902_B.hs
+++ b/testsuite/tests/perf/should_run/T2902_B.hs
@@ -1,5 +1,5 @@
-{-# LANGUAGE UnicodeSyntax #-}
+{-# LANGUAGE UnicodeSyntax, FlexibleContexts #-}
module Main (main) where
diff --git a/testsuite/tests/perf/should_run/T5113.hs b/testsuite/tests/perf/should_run/T5113.hs
index e87bcb6cad..6ad6750aab 100644
--- a/testsuite/tests/perf/should_run/T5113.hs
+++ b/testsuite/tests/perf/should_run/T5113.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, FlexibleContexts #-}
module Main where
import Data.Array.Base (unsafeRead, unsafeWrite)
diff --git a/testsuite/tests/perf/should_run/T9203.hs b/testsuite/tests/perf/should_run/T9203.hs
new file mode 100644
index 0000000000..500fd8c98e
--- /dev/null
+++ b/testsuite/tests/perf/should_run/T9203.hs
@@ -0,0 +1,9 @@
+module Main where
+
+import Data.Typeable
+
+f :: Typeable a => Int -> a -> TypeRep
+f 0 a = typeOf a
+f n a = f (n-1) [a]
+
+main = print (f 50000 () == f 50001 ())
diff --git a/testsuite/tests/perf/should_run/T9203.stdout b/testsuite/tests/perf/should_run/T9203.stdout
new file mode 100644
index 0000000000..bc59c12aa1
--- /dev/null
+++ b/testsuite/tests/perf/should_run/T9203.stdout
@@ -0,0 +1 @@
+False
diff --git a/testsuite/tests/perf/should_run/T9339.hs b/testsuite/tests/perf/should_run/T9339.hs
new file mode 100644
index 0000000000..96f5f7201a
--- /dev/null
+++ b/testsuite/tests/perf/should_run/T9339.hs
@@ -0,0 +1,4 @@
+-- Tests that `last` successfully fuses.
+
+main :: IO ()
+main = print $ last $ filter odd $ [1::Int ..10000000]
diff --git a/testsuite/tests/perf/should_run/T9339.stdout b/testsuite/tests/perf/should_run/T9339.stdout
new file mode 100644
index 0000000000..e161ae3694
--- /dev/null
+++ b/testsuite/tests/perf/should_run/T9339.stdout
@@ -0,0 +1 @@
+9999999
diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T
index 1e1b6ccba8..8b8547eae9 100644
--- a/testsuite/tests/perf/should_run/all.T
+++ b/testsuite/tests/perf/should_run/all.T
@@ -6,8 +6,9 @@
test('T3586',
[stats_num_field('peak_megabytes_allocated', (17, 1)),
# expected value: 17 (amd64/Linux)
- stats_num_field('bytes allocated', (16835544, 5)),
- # expected value: 16835544 (amd64/Linux)
+ stats_num_field('bytes allocated', (16102024, 5)),
+ # prev: 16835544 (amd64/Linux)
+ # 2014-07-17: 16102024 (amd64/Linux), general round of updates
only_ways(['normal'])
],
compile_and_run,
@@ -60,7 +61,10 @@ test('T876',
[(wordsize(64), 63216 , 5),
# 2013-02-14: 1263712 (x86_64/Linux)
# 2014-02-10: 63216 (x86_64/Linux), call arity analysis
- (wordsize(32), 663712, 5)]),
+ (wordsize(32), 53024, 5) ]),
+ # some date: 663712 (Windows, 64-bit machine)
+ # 2014-04-04: 56820 (Windows, 64-bit machine)
+ # 2014-06-29: 53024 (x86_64/Linux)
only_ways(['normal']),
extra_run_opts('10000')
],
@@ -87,9 +91,10 @@ test('T3738',
# expected value: 1 (amd64/Linux)
stats_num_field('bytes allocated',
[(wordsize(32), 45648, 5),
- # expected value: 45648 (x86/Linux)
+ # expected value: 50520 (x86/Linux)
(wordsize(64), 49400, 5)]),
- # expected value: 49400 (amd64/Linux)
+ # prev: 49400 (amd64/Linux)
+ # 2014-07-17: 50520 (amd64/Linux) general round of updates
only_ways(['normal'])
],
compile_and_run,
@@ -151,8 +156,9 @@ test('T5205',
[stats_num_field('bytes allocated',
[(wordsize(32), 47088, 5),
# expected value: 47088 (x86/Darwin)
- (wordsize(64), 51320, 5)]),
+ (wordsize(64), 52600, 5)]),
# expected value: 51320 (amd64/Linux)
+ # 2014-07-17: 52600 (amd64/Linux) general round of updates
only_ways(['normal', 'optasm'])
],
compile_and_run,
@@ -250,8 +256,9 @@ test('Conversions',
# 2013-02-10: 77472 (x86/OSX)
# 2013-02-10: 79276 (x86/Windows)
# 2014-01-13: 76768 (x86/Linux) due to #8647
- (wordsize(64), 110632, 5)]),
+ (wordsize(64), 107544, 5)]),
# 2012-12-18: 109608 (amd64/OS X)
+ # 2014-07-17: 107544 (amd64/Linux)
only_ways(['normal'])
],
@@ -289,7 +296,9 @@ test('T7797',
test('T7954',
[stats_num_field('bytes allocated',
- [(wordsize(32), 1380051408, 10),
+ [(wordsize(32), 920045264, 10),
+ # some date: 1380051408 (64-bit Windows machine)
+ # 2014-04-04: 920045264 (64-bit Windows machine)
(wordsize(64), 1680051336, 10)]),
# 2014-02-10: 1680051336 (x86_64/Linux), call arity analysis
only_ways(['normal'])
@@ -307,7 +316,8 @@ test('T7850',
test('T5949',
[stats_num_field('bytes allocated',
- [ (wordsize(64), 201008, 10)]),
+ [ (wordsize(32), 116020, 10),
+ (wordsize(64), 201008, 10)]),
# previously, it was >400000 bytes
only_ways(['normal'])],
compile_and_run,
@@ -315,7 +325,9 @@ test('T5949',
test('T4267',
[stats_num_field('bytes allocated',
- [ (wordsize(64), 40992, 10)]),
+ [ (wordsize(32), 36012, 10)
+ # 32-bit value close to 64 bit; c.f. T7619
+ , (wordsize(64), 40992, 10) ]),
# previously, it was >170000 bytes
# 2014-01-17: 130000
# 2014-02-10: 40992 (x86_64/Linux), call arity analysis
@@ -325,7 +337,10 @@ test('T4267',
test('T7619',
[stats_num_field('bytes allocated',
- [ (wordsize(64), 40992, 10)]),
+ [ (wordsize(32), 36012, 10)
+ # 32-bit close to 64-bit value; most of this very
+ # small number is standard start-up boilerplate I think
+ , (wordsize(64), 40992, 10) ]),
# previously, it was >400000 bytes
only_ways(['normal'])],
compile_and_run,
@@ -333,21 +348,43 @@ test('T7619',
test('InlineArrayAlloc',
[stats_num_field('bytes allocated',
- [ (wordsize(64), 1600040960, 5)]),
+ [ (wordsize(32), 800040960, 5)
+ , (wordsize(64), 1600040960, 5) ]),
only_ways(['normal'])],
compile_and_run,
['-O2'])
test('InlineByteArrayAlloc',
[stats_num_field('bytes allocated',
- [ (wordsize(64), 1440040960, 5)]),
+ [ (wordsize(32), 1360036012, 5)
+ , (wordsize(64), 1440040960, 5) ]),
+ # 32 and 64 bit not so different, because
+ # we are allocating *byte* arrays
only_ways(['normal'])],
compile_and_run,
['-O2'])
test('InlineCloneArrayAlloc',
[stats_num_field('bytes allocated',
- [ (wordsize(64), 1600041120, 5)]),
+ [ (wordsize(32), 800041120, 5)
+ , (wordsize(64), 1600041120, 5) ]),
+ only_ways(['normal'])],
+ compile_and_run,
+ ['-O2'])
+
+test('T9203',
+ [stats_num_field('bytes allocated',
+ [ (wordsize(32), 50000000, 5)
+ , (wordsize(64), 95747304, 5) ]),
+ only_ways(['normal'])],
+ compile_and_run,
+ ['-O2'])
+
+test('T9339',
+ [stats_num_field('bytes allocated',
+ [ (wordsize(64), 80050760, 5) ]),
+ # w/o fusing last: 320005080
+ # 2014-07-22: 80050760
only_ways(['normal'])],
compile_and_run,
['-O2'])