diff --git a/CHANGELOG.md b/CHANGELOG.md index ed5c0a4..35dc5a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +- V 0.14.0: Introduced strictness, which brought a significant increase in performance. See the discussion here: https://old.reddit.com/r/haskell/comments/picjy6/how_could_i_improve_the_performance_of_my/ - V 0.13.0: Major rewrite with the vector library - includes multiple bugfixes, but is surprisingly slow - V 0.12.0: Renamed some core functions - V 0.11.0: Made calibration curve interpolation optional and turned it off by default diff --git a/README.md b/README.md index 1650052..9abfd7f 100644 --- a/README.md +++ b/README.md @@ -101,4 +101,5 @@ before rerunning the procedure above. ``` stack build --profile stack exec --profile -- currycarbon "1000,200;2000,200;3000,200;4000,200;5000,200;6000,200;7000,200;8000,200" -q --densityFile /dev/null +RTS -p +stack exec -- currycarbon "1000,200;2000,200;3000,200;4000,200;5000,200;6000,200;7000,200;8000,200" -q --densityFile /dev/null +RTS -s ``` diff --git a/currycarbon.cabal b/currycarbon.cabal index 3902ae5..e7f1f0d 100644 --- a/currycarbon.cabal +++ b/currycarbon.cabal @@ -1,5 +1,5 @@ name: currycarbon -version: 0.13.0 +version: 0.14.0 synopsis: A package for simple, fast radiocarbon calibration description: Radiocarbon calibration with the intercept method optimised for fast calibration of many dates. license: MIT diff --git a/playground/test.R b/playground/test.R index 022a3dd..0c4ddd7 100644 --- a/playground/test.R +++ b/playground/test.R @@ -31,3 +31,10 @@ bchron |> dplyr::left_join( geom_point(aes(x = calBCAD, y = value, colour = method), size = 1, alpha = 0.5) +### large test (for memory leaks) + +calpal <- c14bazAAR::get_calpal() +calpal |> dplyr::select(c14age, c14std) |> readr::write_csv("/tmp/currycarbon_large_input_test.csv", col_names = F) + +#currycarbon --inputFile /tmp/currycarbon_large_input_test.csv -q --densityFile /dev/null + diff --git a/src/Currycarbon/Calibration.hs b/src/Currycarbon/Calibration.hs index eeecea4..9d20f9f 100644 --- a/src/Currycarbon/Calibration.hs +++ b/src/Currycarbon/Calibration.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE Strict #-} + module Currycarbon.Calibration ( -- * Calibration functions -- diff --git a/src/Currycarbon/Types.hs b/src/Currycarbon/Types.hs index 5414f20..d54ce2a 100644 --- a/src/Currycarbon/Types.hs +++ b/src/Currycarbon/Types.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE StrictData #-} + module Currycarbon.Types where import qualified Data.Vector.Unboxed as VU