Commit Graph

417 Commits

Author SHA1 Message Date
adithyaov
06b230f27a Add benchmarks for S.concatFoldableWith and S.concatForFoldableWith 2020-11-25 22:56:47 +05:30
adithyaov
c7b7c2a423 Add benchmarks for a few functions in FileSystem.Handle
Benchmarks added:
- write . read
  - write
  - read
- writeWithBufferOf . readWithBufferOf
  - readWithBufferOf
  - writeWithBufferOf
- fromBytes . readWithBufferOf
  - readWithBufferOf
- write . readChunks (Commented)
  - readChunks
- write . writeChunks (Commented)
  - writeChunks
2020-11-25 22:56:47 +05:30
adithyaov
7bb8512da5 Add benchmarks for FH.encodeLatin1
Rename copyStreamLatin1 to copyStreamLatin1'

copyStreamLatin1' benchmarks FH.encodeLatin1'
copyStreamLatin1 benchmarks FH.encodeLatin1
2020-11-25 22:56:47 +05:30
adithyaov
c5b4838d10 Add benchmarks for minRate, maxRate & constRate (bench:Prelude.Rate) 2020-11-25 22:56:47 +05:30
adithyaov
af872ae7ad Make structural changes to bench:Prelude.Rate 2020-11-25 22:56:47 +05:30
adithyaov
1a728e2d16 Clean bench:Prelude.Rate
Abstract over avgRate and change label values in bench groups
2020-11-25 22:56:47 +05:30
adithyaov
8477487b33 Add multiple micro-benchmarks
* bench:FileSystem.Handle
- splitWithSuffix

* bench:Prelude.Serial
- findM
- scanl1M'
- concatMapM
2020-11-25 22:56:47 +05:30
adithyaov
053a38c6a1 Fix naming in benchmarks
* bench:Prelude.Serial
- foldrMToStream -> foldrToStream
- scan -> scanl'

* bench:Prelude.ZipSerial
- zip -> zipWith
- zipM -> zipWithM

* bench:Prelude.ZipAsync
- zipAsync -> zipAsyncWith
- zipAsyncM -> zipAsyncWithM
2020-11-25 22:56:47 +05:30
adithyaov
73df67ee93 Fix bug in ArrayOps.hs
Remove DATA_PRIM_ARRAY
Add DATA_ARRAY_PRIM & DATA_ARRAY_PRIM_PINNED

Reduce the use of #else in CPP
2020-11-12 09:57:32 +05:30
adithyaov
aced27067f Change the first argument of concatMapM in unfolds from () to Void
Change,
concatMapM :: (b -> m (Unfold m () c)) -> Unfold m a b -> Unfold m a c
to,
concatMapM :: (b -> m (Unfold m Void c)) -> Unfold m a b -> Unfold m a c
2020-11-12 09:57:32 +05:30
Harendra Kumar
30e85477f6 Add a long pattern benchmark (100k chars) 2020-11-08 16:02:05 +05:30
Harendra Kumar
3682981c0f Add bench prefix example, additional config section 2020-11-04 03:09:49 +05:30
adithyaov
ebbaef79f6 Move benchmark tmp files into benchmark-tmp directory 2020-10-31 12:14:25 +05:30
adithyaov
f57243cc32 Avoid using dd, pipe data directly & truncate it using head
dd is confusing to work with and has it's own idiosyncracies.
2020-10-31 12:14:25 +05:30
adithyaov
3a64e63723 Fix enumerateFrom benchmark in bench:Prelude.Serial 2020-10-30 21:53:33 +05:30
Harendra Kumar
6c3f1edfc1 Specify benchmark input file via env var
Specifying the input file via an environment variable was broken.
2020-10-28 06:48:40 +05:30
Harendra Kumar
a94ec3688e Use NoSpecConstr annotation on the list type
This is to avoid too many recursive specializations (because we use
-fspec-constr-recursive=16) on the list argument in parselMx', leading
to huge code bloat in the core and requiring a lot of memory to compile.
2020-10-26 23:28:37 +05:30
Harendra Kumar
2bc92ba0dc Use -Rghc-timing to print ghc timing info 2020-10-26 23:28:37 +05:30
pranaysashank
2a1097fcdf Fix copyright and author information.
Closes #688
2020-10-26 16:47:35 +05:30
Harendra Kumar
c436e3c624 Fix "Invalid byte" on file read
We were reading input from a binary file trying to decode it as Char
leading to an invalid byte sequence error.
2020-10-24 15:54:39 +05:30
adithyaov
b1a9af0d7d Use from-to style instead of take-from in many unfold benchmarks 2020-10-24 15:50:28 +05:30
adithyaov
8e4f68d5ff Uncomment fromStreamD and run it on n/100 in unfold benchmarks 2020-10-24 15:50:28 +05:30
adithyaov
d3f290b7b3 Move stream filtering into a seperate group in unfold benchmarks 2020-10-24 15:50:28 +05:30
adithyaov
b5da56a18c Rename o_1_space_combination to o_1_space_zip in unfold benchmarks 2020-10-24 15:50:28 +05:30
adithyaov
1d71e090ba Merge generational benchmark groups in unfold benchmarks 2020-10-24 15:50:28 +05:30
adithyaov
bda8caccc7 Rename the bench group of input covariant benchmarks accordingly 2020-10-24 15:50:28 +05:30
adithyaov
9018907157 Reorder benchmarks wrt the export structure in Internal.Unfold 2020-10-24 15:50:28 +05:30
adithyaov
2d4ab16dd8 Add informative comments wrt the unfold benchmarks 2020-10-24 15:50:28 +05:30
adithyaov
5d4918cdcb Make minor indentation changes in Benchmark.Unfold 2020-10-24 15:50:28 +05:30
adithyaov
4a21cbc45d Complete the set of benchmarks of unfold 2020-10-24 15:50:28 +05:30
adithyaov
ecbf566b1d Rearrange benchmarks and remove the "serial" from function names
Keep nested benchmarks in a seperate group
2020-10-24 15:50:28 +05:30
adithyaov
dcdc716efb Use a cleaner way to benchmark unfolds 2020-10-24 15:50:28 +05:30
pranaysashank
8061c97a76 Use monadic seed in monadic scanning combinators.
- The following functions are updated: scanlM, scanlM',
  postscanlM, postscanlM', prescanlM'.
- Update Changelog.md.
2020-10-21 10:49:12 +05:30
adithyaov
875e48f8e8 Add grouping combinators to the benchmarks 2020-10-18 00:06:52 +05:30
adithyaov
a06f8c4bd1 Add enumarate combinators to the serial generation benchmark group 2020-10-18 00:06:52 +05:30
adithyaov
c71888080e Add micro benchmarks for multiple exposed functions in Prelude 2020-10-18 00:06:52 +05:30
adithyaov
fc25c42ab1 Add micro benchmarks for convering exposed APIs in Fold
Benchamrks added:
- drainBy
- foldMapM
- lookup
- sequence
- tee
- distribute
- partition
- unzip
2020-10-18 00:06:52 +05:30
adithyaov
8d6b695ddb Replace value with size and n with start in bench:Data.Unfold 2020-10-17 21:32:23 +05:30
adithyaov
5004f12409 Add docs & change the signature of replicateM and repeatM
This commit also include some other minor changes
2020-10-17 21:32:23 +05:30
adithyaov
07d0609dee Add additional Unfold benchmarks 2020-10-17 21:32:23 +05:30
Harendra Kumar
a3c3db465f Add prime sieves to benchmarks
Prime sieves are good benchmarks for scan and monad composition.
2020-10-16 21:50:51 +05:30
pranaysashank
25f76d5524 Add new encoding/decoding routines.
- Add encodeUtf8_, encodeLatin1_, encodeUtf8', encodeLatin1',
  decodeUtf8_, decodeUtf8', decodeUtf8Arrays_, decodeUtf8Arrays'.

- encodeLatin1, encodeUtf8 don't fail when they encounter
  invalid characters. Their stricter variants encodeLatin1',
  encodeUtf8' do.

- encodeUtf8_, encodeLatin1_ drop the invalid characters.

- decodeUtf8 replaces any invalid character encountered with the
  Unicode replacement character where as decodeUtf8' fails.

- decodeUtf8Arrays doesn't fail on invalid characters anymore
  it replaces them with the Unicode replacement character.

- Deprecate decodeUtf8Lax, encodeLatin1Lax, encodeUtf8Lax.

- Update Changelog.md.
2020-09-17 12:16:11 +05:30
pranaysashank
ad05792d0b Deprecate Streamly module and move the exports to Streamly.Prelude.
- Deprecate and replace functions:
    foldWith => concatFoldableWith
    foldMapWith => concatMapFoldableWith
    forEachWith => concatForFoldableWith
2020-09-09 20:56:24 +05:30
adithyaov
e218fb9d8f Deprecate Streamly.Memory.Array
According to the new module structure, it should be Streamly.Data.Array.Storable.Foreign
2020-09-04 16:55:16 +05:30
adithyaov
aa1e4e137f Rename Streamly.Internal.Memory.Array
According to the new module structure, it should be Streamly.Internal.Data.Array.Storable.Foreign
2020-09-04 16:55:16 +05:30
adithyaov
4070c13937 Rename Streamly.Internal.Memory.Array.Types
According to the new module structure, it should be Streamly.Internal.Data.Array.Storable.Foreign.Types
2020-09-04 16:55:16 +05:30
adithyaov
e3e69a11ea Rename Streamly.Internal.Memory.Unicode.Array
According to the new module structure, it should be Streamly.Internal.Unicode.Array.Char
2020-09-04 16:55:16 +05:30
adithyaov
7d008199aa Deprecate Streamly.Data.Unicode.Stream
According to the new module structure, it should be Streamly.Unicode.Stream
2020-09-04 16:55:16 +05:30
adithyaov
d3325c60f6 Rename Streamly.Internal.Data.Unicode.Stream
According to the new module structure, it should be Streamly.Internal.Unicode.Stream
2020-09-04 16:55:16 +05:30
pranaysashank
c8c161c34b Rename module Internal.Prelude to Internal.Data.Stream.IsStream. 2020-08-24 00:29:25 +05:30