Commit 270c8d8a authored by batterseapower's avatar batterseapower

Ad-hoc nofib-analyse changes and SUPERCOMP_HC_OPTS

parent ddc87ccb
TOP = ..
include $(TOP)/mk/boilerplate.mk
SUBDIRS = bernouilli exp3_8 gen_regexps integrate paraffins primes queens \
SUBDIRS = bernouilli digits-of-e1 digits-of-e2 exp3_8 gen_regexps integrate paraffins primes queens \
rfib tak wheel-sieve1 wheel-sieve2 x2n1
OTHER_SUBDIRS = digits-of-e1 digits-of-e2
include $(TOP)/mk/target.mk
......@@ -124,6 +124,7 @@ size_spec, modsize_spec, alloc_spec, runtime_spec, elapsedtime_spec, muttime_spe
:: PerProgTableSpec
size_spec = SpecP "Binary Sizes" "Size" "binary-sizes" binary_size compile_status always_ok
modsize_spec = SpecP "Module Sizes" "ModSize" "module-sizes" total_module_size compile_status always_ok
modctime_spec = SpecP "Module Compile Times" "ModCTime" "module-ctimes" total_module_ctime compile_status always_ok
alloc_spec = SpecP "Allocations" "Allocs" "allocations" (meanInt allocs) run_status always_ok
runtime_spec = SpecP "Run Time" "Runtime" "run-times" (mean run_time) run_status mean_time_ok
elapsedtime_spec = SpecP "Elapsed Time" "Elapsed" "elapsed-times" (mean elapsed_time) run_status mean_time_ok
......@@ -149,6 +150,7 @@ all_specs :: [PerProgTableSpec]
all_specs = [
size_spec,
modsize_spec,
modctime_spec,
alloc_spec,
runtime_spec,
elapsedtime_spec,
......@@ -216,7 +218,7 @@ checkTimes prog results = do
-- These are the per-prog tables we want to generate
per_prog_result_tab :: [PerProgTableSpec]
per_prog_result_tab =
[ size_spec, modsize_spec, alloc_spec, runtime_spec, elapsedtime_spec, muttime_spec, mutetime_spec, gctime_spec,
[ size_spec, modsize_spec, modctime_spec, alloc_spec, runtime_spec, elapsedtime_spec, muttime_spec, mutetime_spec, gctime_spec,
gcelap_spec, gc0count_spec, gc0time_spec, gc0elap_spec, gc1count_spec, gc1time_spec, gc1elap_spec,
gcwork_spec, balance_spec, instrs_spec, mreads_spec, mwrite_spec, cmiss_spec, totmem_spec]
......@@ -224,7 +226,8 @@ per_prog_result_tab =
-- aspects, each in its own column. Only works when comparing two runs.
normal_summary_specs :: [PerProgTableSpec]
normal_summary_specs =
[ size_spec, modsize_spec, alloc_spec, runtime_spec, elapsedtime_spec, totmem_spec ]
--[ size_spec, modsize_spec, alloc_spec, runtime_spec, elapsedtime_spec, totmem_spec ]
[ modctime_spec, runtime_spec, alloc_spec, modsize_spec ]
cachegrind_summary_specs :: [PerProgTableSpec]
cachegrind_summary_specs =
......@@ -829,7 +832,7 @@ calc_minmax xs
| otherwise = (Percentage (minimum percentages),
Percentage (maximum percentages))
where
percentages = [ if f < 5 then 5 else f | Percentage f <- xs ]
percentages = [ f | Percentage f <- xs ]
-----------------------------------------------------------------------------
......@@ -942,9 +945,18 @@ latexTableLayout boxes =
foldr (.) id . intersperse (str " & ") . map abox $ boxes
where
abox (RunFailed NotDone) = id
abox s = str (foldr transchar "" (show s))
transchar '%' s = s -- leave out the percentage signs
abox s = str (meh (show s))
-- HACK
meh "AccumulatingParam" = "Accumulator"
meh "AccumulatingParam-Peano" = "%"
meh "Generalisation" = "%"
meh "SumSquare-Explicit" = "%"
meh "queens-explicit" = "%"
meh "0.00" = "N/A"
meh s = foldr transchar "" s
transchar '%' s = "\\%" ++ s -- escape the percentage signs
transchar c s = c : s
-- -----------------------------------------------------------------------------
......
......@@ -4,7 +4,7 @@
--
-----------------------------------------------------------------------------
module Slurp (Status(..), Results(..), ResultTable, parse_log, total_module_size) where
module Slurp (Status(..), Results(..), ResultTable, parse_log, total_module_size, total_module_ctime) where
import Control.Monad
import qualified Data.Foldable as Foldable
......@@ -62,6 +62,11 @@ total_module_size r
| Map.null (module_size r) = Nothing
| otherwise = Just (Foldable.sum (module_size r))
total_module_ctime :: Results -> Maybe Float
total_module_ctime r
| Map.null (compile_time r) = Nothing
| otherwise = Just (Foldable.sum (compile_time r))
emptyResults :: Results
emptyResults = Results {
compile_time = Map.empty,
......
......@@ -6,3 +6,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 1
NORM_OPTS = 1
SLOW_OPTS = 300
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ NORM_OPTS = 1000
SLOW_OPTS = 1700
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -7,3 +7,4 @@ FAST_OPTS = 1
NORM_OPTS = 1
SLOW_OPTS = 1
SRC_SUPERCOMP_HC_OPTS =
......@@ -10,6 +10,7 @@
-}
module QSort(sortLe, sort) where
sortLe :: (a -> a -> Bool) -> [a] -> [a]
sortLe le l = qsort le l []
......
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 20
NORM_OPTS = 20
SLOW_OPTS = 300
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 1993 2000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 8 1000
SRC_RUNTEST_OPTS += +RTS -H30m -RTS
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 7
NORM_OPTS = 7
SLOW_OPTS = 100
SRC_SUPERCOMP_HC_OPTS =
......@@ -8,3 +8,5 @@ SLOW_OPTS = 10
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -5,3 +5,5 @@ SRC_HC_OPTS += -fglasgow-exts
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -2,3 +2,5 @@ TOP = ../..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
TOP = ../..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -5,3 +5,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 512
NORM_OPTS = 512
SLOW_OPTS = 1500
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ NORM_OPTS = 5000
SLOW_OPTS = 60000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -2,3 +2,5 @@ TOP = ../..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -5,3 +5,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 200
NORM_OPTS = 200
SLOW_OPTS = 500
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 13
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 1500000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 8
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -8,3 +8,5 @@ NORM_OPTS = 7
SLOW_OPTS = 11
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 6
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SRC_HC_OPTS += -cpp -fglasgow-exts
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SRC_HC_OPTS += -cpp -fglasgow-exts
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SRC_RUNTEST_OPTS += -o1 nucleic2.stdout1 -o1 nucleic2.stdout2
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -8,3 +8,5 @@ SRC_HC_OPTS += -cpp -fglasgow-exts -H80M
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 14
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 15
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 1000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 1200
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 500
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 6000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ NORM_OPTS = -2100000000 4000001 2100000000
SLOW_OPTS = -2100000000 4000001 2100000000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -9,3 +9,5 @@ SLOW_OPTS = 32 6
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -5,3 +5,5 @@ include $(TOP)/mk/boilerplate.mk
PROG_ARGS = 1600
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ NORM_OPTS = 1 2 1000 500 501 1500
SLOW_OPTS = 1 2 2000 1000 1001 3000
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -10,3 +10,5 @@ SRCS = Main.lhs Mandel.lhs PortablePixmap.lhs
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -11,3 +11,5 @@ PROG_ARGS = holzhausen.prob
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 16
NORM_OPTS = 16
SLOW_OPTS = 64
SRC_SUPERCOMP_HC_OPTS =
......@@ -5,3 +5,5 @@ PROG_ARGS = input-data
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -7,3 +7,5 @@ FAST_OPTS = 50
NORM_OPTS = 50
SLOW_OPTS = 52
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -4,3 +4,5 @@ include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
# fast/norm/slow stuff done with separate stdin files
SRC_SUPERCOMP_HC_OPTS =
......@@ -2,3 +2,5 @@ TOP = ../..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -6,3 +6,5 @@ include $(TOP)/mk/target.mk
FAST_OPTS = 2000
NORM_OPTS = 2000
SLOW_OPTS = 60000
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
-include opts.mk
SRC_HC_OPTS += -fglasgow-exts
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -10,3 +10,5 @@ Main_HC_OPTS = -H110m
SRC_RUNTEST_OPTS += +RTS -K3m -H20m -RTS
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -5,3 +5,5 @@ STDIN_FILE = Sort.hs
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -13,3 +13,5 @@ endif
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -7,3 +7,5 @@ PROG_ARGS = 27000.1 27000.2
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
......@@ -3,3 +3,5 @@ include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
SRC_SUPERCOMP_HC_OPTS =
TOP = ../..
include $(TOP)/mk/boilerplate.mk
SUBDIRS = SumSquare SumSquare-Explicit
SUBDIRS = SumSquare
# Covered by flag instead:
# SumSquare-Explicit
# Worthless benchmark, runs too fast:
# SumSquare-LazySum
# SumSquare-LazySum
include $(TOP)/mk/target.mk
......@@ -5,7 +5,7 @@ import System.Environment
main :: IO ()
main = do
[n] <- fmap (map read) getArgs
print (length (root (flip (:)) [] 1 n))
print (my_length (root (flip (:)) [] 1 n))
-- Prevent benchmark results being skewed because rewrite rules have access to more information than the SC does:
my_length :: [a] -> Int
......
TOP = ../..
include $(TOP)/mk/boilerplate.mk
SUBDIRS = AccumulatingParam-Peano AccumulatingParam Ackermann AckermannPeano-1 AckermannPeano-2 EvenDouble EvenDoubleGenerator Generalisation KMP LetRec MapMapFusion ReverseReverse queens-explicit
SUBDIRS = AccumulatingParam-Peano AccumulatingParam Ackermann AckermannPeano-1 AckermannPeano-2 EvenDouble EvenDoubleGenerator Generalisation KMP LetRec MapMapFusion ReverseReverse
# Covered by flag instead:
# queens-explicit
# Covered by Peter somewhat already:
# AppendAssociativity
# Covered by other benchmarks:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment