Commit Graph

50 Commits

Author SHA1 Message Date
Harendra Kumar
d64a772845 Cleanup and sort benchmark paths in hie.yaml 2024-06-25 00:24:02 +05:30
Ranjeet Ranjan
1c584e545a
Move StreamK and StreamD folder up (#2543) 2023-08-19 15:38:58 +05:30
Ranjeet Ranjan
3fb676b98b
Correct Internal Array module names (#2478) 2023-07-29 00:00:34 +05:30
Ranjeet Ranjan
afcc8ea59f
Implement double Parser (#2278)
Co-authored-by: Harendra Kumar <harendra@composewell.com>
Co-authored-by: Adithya Kumar <adithya@composewell.com>
2023-07-24 18:34:01 +05:30
Ranjeet Ranjan
f5f25b43b6
Rename Data.Parser.ParserK benchmark to Data.ParserK (#2457) 2023-07-24 17:51:27 +05:30
Ranjeet Ranjan
1ab2878eca
Expose groupsOf from Data.Stream (#2372) 2023-07-04 23:07:43 +05:30
Ranjeet Ranjan
f50f7eb832
Fix Targets.hs and hie.yaml (#2318) 2023-03-08 00:48:29 +05:30
Ranjeet Kumar Ranjan
5c9430a0ae Add test cases for Streamly.Internal.Serialize module 2023-03-02 17:11:14 +05:30
Harendra Kumar
e249c4da2d Use StreamD by default, expose StreamK as separate module
Basically remove depdency on GHC rewrite rules. The reason for
separating StreamD and StreamK instead of using rewrite rules:

* Separate types provide better reasoning for the programmer about
  performance. Each type has its own pros and cons and the programmer
  can choose the best one based on the use case.
* rewrite rules are fragile, led to broken performance in the past dues
  to change in GHC.
* Rewrite rules lead to optimization problems, blocking fusion in some
  cases, specifically when combining multiple operations e.g. (filter . drop).
* Rewrite rules lead to problems when calling a function recursively. For
  example, the StreamD version of foldBreak cannot be used recursively when
  wrapped in rewrite rules because each recursive call adds a roundtrip
  conversion from D to K and back to D. We can use the StreamK versions of
  these though because the rewrite rule gets eliminated in that case.
* If we have a unified module, we need two different versions of several
  operations e.g. appendK and appendD, both are useful in different cases.
2023-02-06 22:09:26 +05:30
Harendra Kumar
3c3ec6de48 Make minor refactor/cleanup changes to array code
* Use defaultChunkSize in tests from Streamly.Internal.System.IO module
2023-01-10 23:45:41 +05:30
Ranjeet Ranjan
deb16f8670
Add test cases for Unbox Generic derived instances (#2207)
Co-authored-by: Harendra Kumar <harendra@composewell.com>
2023-01-07 19:05:30 +05:30
Harendra Kumar
3f82f0035a Measure cps ops embedded in direct streams 2022-12-01 18:53:55 +05:30
Harendra Kumar
449d48d379 Remove deepseq and mtl dependencies from streamly-core 2022-11-17 16:57:57 +05:30
Harendra Kumar
fe28607c9e Add a chunked parser implementation 2022-11-17 16:49:25 +05:30
Ranjeet Kumar Ranjan
4eda9d0c1f Rename Data.Array.Unboxed 2022-11-04 16:00:48 +05:30
Harendra Kumar
e03cceb344
Change Handle, Stdio, File unfold APIs (#1998) 2022-10-20 17:27:02 +05:30
Ranjeet Ranjan
f20360b86e
Rename Async benchmark modules (#1968) 2022-10-18 22:53:30 +05:30
Ranjeet Ranjan
5a42524161
Rename Async benchmarks to Concurrent benchmarks (#1929) 2022-10-12 15:38:14 +05:30
Ranjeet Ranjan
7ac9ab7d5b
Rename Data.Stream.Async to Data.Stream.Concurrent (#1926) 2022-10-11 16:41:45 +05:30
Harendra Kumar
0945bc327b Add benchmarks for eagerEval option 2022-10-10 18:20:44 +05:30
Ranjeet Ranjan
4ab5ba2ce9
Rename *.Foreign to *.Unboxed modules in streamly-core (#1877) 2022-10-03 18:24:31 +05:30
Harendra Kumar
5e089b4a36 Add a benchmark for Data.Stream.Async 2022-09-20 18:40:00 +05:30
Harendra Kumar
8a0d9ad39f Add test for new Async streams 2022-09-20 18:40:00 +05:30
Ranjeet Ranjan
ec760805c9
Modularize test cases (#1707)
* Modularize test cases

* Make it build with test-core flag

And several other changes.

Co-authored-by: Harendra Kumar <harendra@composewell.com>
2022-08-20 00:45:57 +05:30
Ranjeet Kumar Ranjan
18a226b9f0 Array.Foreign -> Array.Unboxed in tests and benchmarks & intenals
Co-authored-by: Ranjeet <ranjeet@composewell.com>
2022-08-17 15:09:42 +05:30
Harendra Kumar
bfb1624a57 Add more Prelude.Serial benchmarks to Data.Stream
And refactor for simplification and code-reuse.
2022-08-06 19:59:01 +05:30
Ranjeet Kumar Ranjan
8fbc085ef4 Move Prelude.Serial benchmarks to Data.Stream 2022-08-06 16:43:53 +05:30
Harendra Kumar
d0ed396d11 Add some missing benchmark modules to hie.yaml 2022-07-18 01:48:16 +05:30
Ranjeet Kumar Ranjan
f95fcbd82f Add a module for sliding window folds
Moved some basic incremental folds from 'streamly-statistics" package.
2022-03-25 12:33:58 +05:30
Harendra Kumar
2c64912518 Update hie.yaml for streamly-core package 2022-03-10 20:22:18 +05:30
Harendra Kumar
4512fa476f Overhaul file system event testing
Remove watchRecursive from common fs event module as this is unreliable
on Linux platform.

Change default config to use non-recursive watch to make it same as the
behavior of the common module.
2021-11-14 12:31:48 +05:30
Harendra Kumar
0548e36d51 Rename Transformation1 benchmark module
to Transformation
2021-10-12 20:46:49 +05:30
Harendra Kumar
4179a3bdf2 Rename Transformation2 benchmark module to NestedFold 2021-10-12 20:46:49 +05:30
Harendra Kumar
55758dd5b7 Rename Nested benchmark module to NestedStream 2021-10-12 20:46:49 +05:30
Harendra Kumar
8dc51e8b05 Move Transformation3 benchmark module to Lift 2021-10-12 20:46:49 +05:30
Harendra Kumar
8139397430 Fix memory corruption issue in reallocAligned 2021-10-09 22:50:37 +05:30
Harendra Kumar
68317a4a41 Fix/enhance benchmarks for concatPairsWith
* Add a benchmark for mergeByMFused
* Move interleaving benchmarks to WSerial module
* Rename some wserial benchmarks
* Add a Merge module for mergeBy/sorting benchmarks
2021-09-28 16:59:29 +05:30
Harendra Kumar
1bcdfdbcf4 Add StreamD benchmark module to hie.yaml 2021-09-27 16:38:56 +05:30
Harendra Kumar
70e7f94691 Move IsStream definition out of low level modules
The IsStream type class contains MonadAsync type in the consM method.
This refactor allows lifting MonadAsync, therefore, dependency on
monad-control out of the low level modules.
2021-09-14 23:11:17 +05:30
Harendra Kumar
3339c2082d Add fold and parse for array streams
The test and benchmark code is taken from Adithya's original double
ended lists based implementation.
2021-07-26 18:14:46 +05:30
Adithya Kumar
cd916f54bb Move array stream bench/tests to separate modules 2021-04-19 19:38:14 +05:30
Pranay Sashank
5c018c7e45 Rename Data.Array.Storable.Foreign to Data.Array.Foreign.
Closes #854.
2021-02-01 21:31:06 +05:30
Harendra Kumar
430f5ac1bf Add some benchmark files to hie.yaml 2021-01-27 19:08:13 +05:30
Harendra Kumar
1abb9c7f4b Sort module listing, add missing modules
Add some missing files/components
2021-01-04 02:30:39 +05:30
Harendra Kumar
c3b506b68b Refactor, cleanup, hlint - fold and handle tests 2021-01-04 01:26:39 +05:30
Harendra Kumar
6e389393ae Add/update fold/parser benchmark/test modules 2020-12-10 13:32:11 +00:00
Harendra Kumar
49b7fe7b9d Add Data.Fold benchmark to the hie cradle 2020-12-07 03:35:54 +00:00
Harendra Kumar
9ed417b65c Add FileSystem.Event testsuite to hie cradle 2020-12-02 07:39:05 +00:00
Harendra Kumar
c216af0b09 Break Benchmark.Prelude.Serial into smaller modules
This module took a lot of time and 4GB RAM to compile. Its now broken
into smaller module that can be compiled in less than 512 MB RAM.

The memory limits are set based on a 3-pass fusion-plugin.
2020-11-30 06:51:00 +00:00
pranaysashank
6c9941ddb8 Add hie.yaml. 2020-10-22 19:44:55 +05:30