adithyaov
e49a37d8b4
Bug fix in StreamD.splitOnSeq karp-rabin match
2020-11-08 16:02:05 +05:30
adithyaov
e57424d1bc
Add Ring.startOf that returns the ringStart as a Ptr
2020-11-08 16:02:05 +05:30
Harendra Kumar
0463b799a0
Optimize (loopify) short pattern case
2020-11-08 16:02:05 +05:30
Harendra Kumar
2ca6d2a325
Refactor splitOn and make it fuse
2020-11-08 16:02:05 +05:30
Harendra Kumar
924d78e8e6
Use a recursive local loop inside step function
...
Though now, the loop does not fuse and earlier it fused completely. The
fused loop is much more inefficient.
Improves the performance by 3x, possibly due to less amount of state
being threaded around the loop.
2020-11-08 16:02:05 +05:30
Harendra Kumar
a2a589e54e
Use strictness annotation on ring head pointer
...
The ring head Ptr was being allocated in the loop causing 16x
allocations compared to when strictness annotation is used.
2020-11-08 16:02:05 +05:30
Harendra Kumar
29ebe7e00f
Port the changed impl of splitOn to master branch
2020-11-08 16:02:05 +05:30
Harendra Kumar
30e85477f6
Add a long pattern benchmark (100k chars)
2020-11-08 16:02:05 +05:30
adithyaov
2ae488776b
Rename functions and make structural adjustments in Prelude.Serial
2020-11-06 05:53:13 +05:30
adithyaov
92ff130caf
Add S.intercalate along with List.intercalate in seq splitting tests
2020-11-06 05:53:13 +05:30
adithyaov
d644962284
Add splitOnSuffixSeq property tests
2020-11-06 05:53:13 +05:30
adithyaov
aaae284415
Abstract out the splitOnSeq property tests
2020-11-06 05:53:13 +05:30
Harendra Kumar
6c27236476
Add fusion/step function guidelines
...
Add debgugging notes.
2020-11-04 03:13:00 +05:30
Harendra Kumar
7755f29424
Add NOINLINE optimization strategy
2020-11-04 03:13:00 +05:30
Harendra Kumar
016eef11d7
Add guidelines for writing optimized code
2020-11-04 03:13:00 +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
ea40591785
Enable splitOnSeq tests
...
These tests were already written but commented out.
2020-10-30 07:52:29 +05:30
adithyaov
7e3f44d8b5
Get rid of unecessary argument & extend --help with --raw
...
build_report_progs does not need an argument
2020-10-28 23:49:16 +05:30
adithyaov
1820919c73
Fix haddock & add tests for sequence split combinators
...
Fix haddock for spliOnSuffixSeq
Add tests for splitOnSeq & spliOnSuffixSeq
2020-10-28 06:49:39 +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
pranaysashank
3999320dbe
Update Maintainers guide.
2020-10-27 21:24:40 +05:30
pranaysashank
d65f2b4045
Move examples to streamly-examples repo.
...
Closes #684
2020-10-27 21:24:40 +05:30
Harendra Kumar
c54581ee95
Improve performance of parseMany
...
1. Make the parser state strict so that it can fuse.
2. Use special paths for "Continue 0" and "Done 0" cases
Overall improvement from 440 us (6GB allocations) to 175 us (22 MB
allocations).
2020-10-27 06:08:41 +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
Harendra Kumar
24a5d11be6
Use takeEQ instead of take parser
2020-10-26 21:13:07 +05:30
pranaysashank
2a1097fcdf
Fix copyright and author information.
...
Closes #688
2020-10-26 16:47:35 +05:30
pranaysashank
987a19f04d
Use a common-stanza for test dependencies.
...
Closes #683
2020-10-26 16:47:35 +05:30
pranaysashank
6f4fd8d4a6
Add signature change annotations to foldlM', concatMapWith.
2020-10-26 14:12:19 +05:30
pranaysashank
69396964f1
Fix smapM.
...
Closes #729 .
2020-10-26 14:12:19 +05:30
pranaysashank
6da528b9bb
Hide tests failing on CI behind DEVBUILD flag.
...
Closes #738
2020-10-26 14:12:19 +05:30
Harendra Kumar
c213835524
Use a "bash" shell from PATH
...
In case of nix environment we may be using bash from non-standard path.
2020-10-24 15:55:21 +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
adithyaov
603a722ba1
Make variable naming a little more meaningful in unfold tests
2020-10-24 15:50:28 +05:30
adithyaov
a2d35d9a3a
Modify the argument order of testUnfold-ish helpers & add some docs
2020-10-24 15:50:28 +05:30