From 742f8ffcb910c5e88195e15581140a1be6ac3950 Mon Sep 17 00:00:00 2001 From: Serhii Khoma Date: Mon, 31 Aug 2020 12:36:49 +0300 Subject: [PATCH 1/3] feat: minibench -> add --- bench/Data/Array.purs | 28 ++++++++++++++++++++++++++++ bench/Main.purs | 13 +++++++++++++ bower.json | 1 + package.json | 5 ++++- 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 bench/Data/Array.purs create mode 100644 bench/Main.purs diff --git a/bench/Data/Array.purs b/bench/Data/Array.purs new file mode 100644 index 00000000..dc94c7d8 --- /dev/null +++ b/bench/Data/Array.purs @@ -0,0 +1,28 @@ +module Bench.Data.Array where + +import Prelude + +import Data.Array as Array +import Data.Maybe (Maybe(..)) +import Effect (Effect) +import Effect.Console (log) +import Performance.Minibench (benchWith) + +benchArray :: Effect Unit +benchArray = do + log "mapMaybe" + log "---------------" + benchMapMaybe + + where + + benchMapMaybe = do + let shortNats = Array.range 0 100 + longNats = Array.range 0 10000 + onlyEven x = if x `mod` 2 == 0 then Just x else Nothing + + log $ "mapMaybe (" <> show (Array.length shortNats) <> ")" + benchWith 1000 \_ -> Array.mapMaybe onlyEven shortNats + + log $ "mapMaybe (" <> show (Array.length longNats) <> ")" + benchWith 100 \_ -> Array.mapMaybe onlyEven longNats diff --git a/bench/Main.purs b/bench/Main.purs new file mode 100644 index 00000000..f8a27459 --- /dev/null +++ b/bench/Main.purs @@ -0,0 +1,13 @@ +module Bench.Main where + +import Prelude + +import Bench.Data.Array (benchArray) +import Effect (Effect) +import Effect.Console (log) + +main :: Effect Unit +main = do + log "Array" + log "===" + benchArray diff --git a/bower.json b/bower.json index 4e217646..e2fad83e 100644 --- a/bower.json +++ b/bower.json @@ -29,6 +29,7 @@ "purescript-unsafe-coerce": "^4.0.0" }, "devDependencies": { + "purescript-minibench": "^2.0.0", "purescript-assert": "^4.0.0", "purescript-console": "^4.0.0", "purescript-const": "^4.0.0" diff --git a/package.json b/package.json index 42af30f1..3788a152 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,10 @@ "scripts": { "clean": "rimraf output && rimraf .pulp-cache", "build": "eslint src && pulp build -- --censor-lib --strict", - "test": "pulp test" + "test": "pulp test", + "bench:build": "pulp build --include bench -- --censor-lib --strict", + "bench:run": "node --expose-gc -e \"require('./output/Bench.Main/index.js').main()\"", + "bench": "npm run bench:build && npm run bench:run" }, "devDependencies": { "eslint": "^4.19.1", From 1a3d3e2b2f1a5752be925adb831f58d78ea08d20 Mon Sep 17 00:00:00 2001 From: JordanMartinez Date: Thu, 26 Nov 2020 20:38:15 -0800 Subject: [PATCH 2/3] Update dependencies to master --- bower.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/bower.json b/bower.json index e2fad83e..5a978572 100644 --- a/bower.json +++ b/bower.json @@ -15,23 +15,23 @@ "package.json" ], "dependencies": { - "purescript-bifunctors": "^4.0.0", - "purescript-control": "^4.0.0", - "purescript-foldable-traversable": "^4.0.0", - "purescript-maybe": "^4.0.0", - "purescript-nonempty": "^5.0.0", - "purescript-partial": "^2.0.0", - "purescript-prelude": "^4.0.0", - "purescript-st": "^4.0.0", - "purescript-tailrec": "^4.0.0", - "purescript-tuples": "^5.0.0", - "purescript-unfoldable": "^4.0.0", - "purescript-unsafe-coerce": "^4.0.0" + "purescript-bifunctors": "master", + "purescript-control": "master", + "purescript-foldable-traversable": "master", + "purescript-maybe": "master", + "purescript-nonempty": "master", + "purescript-partial": "master", + "purescript-prelude": "master", + "purescript-st": "master", + "purescript-tailrec": "master", + "purescript-tuples": "master", + "purescript-unfoldable": "master", + "purescript-unsafe-coerce": "master" }, "devDependencies": { - "purescript-minibench": "^2.0.0", - "purescript-assert": "^4.0.0", - "purescript-console": "^4.0.0", - "purescript-const": "^4.0.0" + "purescript-minibench": "master", + "purescript-assert": "master", + "purescript-console": "master", + "purescript-const": "master" } } From e28fa123dff6f2343e3bcf795820eda597d6fd3c Mon Sep 17 00:00:00 2001 From: JordanMartinez Date: Thu, 26 Nov 2020 20:38:44 -0800 Subject: [PATCH 3/3] Update psa to v0.8.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3788a152..4f2c191a 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "devDependencies": { "eslint": "^4.19.1", "pulp": "^15.0.0", - "purescript-psa": "^0.6.0", + "purescript-psa": "^0.8.0", "rimraf": "^2.6.2" } }