File tree 4 files changed +46
-1
lines changed
4 files changed +46
-1
lines changed Original file line number Diff line number Diff line change
1
+ module Bench.Data.Array where
2
+
3
+ import Prelude
4
+
5
+ import Data.Array as Array
6
+ import Data.Maybe (Maybe (..))
7
+ import Effect (Effect )
8
+ import Effect.Console (log )
9
+ import Performance.Minibench (benchWith )
10
+
11
+ benchArray :: Effect Unit
12
+ benchArray = do
13
+ log " mapMaybe"
14
+ log " ---------------"
15
+ benchMapMaybe
16
+
17
+ where
18
+
19
+ benchMapMaybe = do
20
+ let shortNats = Array .range 0 100
21
+ longNats = Array .range 0 10000
22
+ onlyEven x = if x `mod` 2 == 0 then Just x else Nothing
23
+
24
+ log $ " mapMaybe (" <> show (Array .length shortNats) <> " )"
25
+ benchWith 1000 \_ -> Array .mapMaybe onlyEven shortNats
26
+
27
+ log $ " mapMaybe (" <> show (Array .length longNats) <> " )"
28
+ benchWith 100 \_ -> Array .mapMaybe onlyEven longNats
Original file line number Diff line number Diff line change
1
+ module Bench.Main where
2
+
3
+ import Prelude
4
+
5
+ import Bench.Data.Array (benchArray )
6
+ import Effect (Effect )
7
+ import Effect.Console (log )
8
+
9
+ main :: Effect Unit
10
+ main = do
11
+ log " Array"
12
+ log " ==="
13
+ benchArray
Original file line number Diff line number Diff line change 29
29
"purescript-unsafe-coerce" : " master"
30
30
},
31
31
"devDependencies" : {
32
+ "purescript-minibench" : " master" ,
32
33
"purescript-assert" : " master" ,
33
34
"purescript-console" : " master" ,
34
35
"purescript-const" : " master"
Original file line number Diff line number Diff line change 3
3
"scripts" : {
4
4
"clean" : " rimraf output && rimraf .pulp-cache" ,
5
5
"build" : " eslint src && pulp build -- --censor-lib --strict" ,
6
- "test" : " pulp test"
6
+ "test" : " pulp test" ,
7
+ "bench:build" : " pulp build --include bench -- --censor-lib --strict" ,
8
+ "bench:run" : " node --expose-gc -e \" require('./output/Bench.Main/index.js').main()\" " ,
9
+ "bench" : " npm run bench:build && npm run bench:run"
7
10
},
8
11
"devDependencies" : {
9
12
"eslint" : " ^7.15.0" ,
You can’t perform that action at this time.
0 commit comments