Harendra Kumar
b85002bddb
Simplify the implementation
...
* Do not use a seperate traversal of dirs, instead just call addToWatch
recursively.
* Keep rel path of subdir in the map instead of keeping absolute path
* Keep the same default for recursive watch on Windows/Linux
* Use watchTreesWith to implement watchPathsWith using recursive flag
Refactor, add some todos for test code
2020-12-02 07:39:05 +00:00
Ranjeet Ranjan
f00008b321
Add recursive directory tree events in Linux
2020-12-02 07:39:05 +00:00
Harendra Kumar
8625ea5c3c
Enable inspection tests for interposeSuffix bench
2020-12-02 11:53:04 +05:30
Harendra Kumar
d6e7c28c12
Support branch specific builds using git-cabal
2020-11-30 20:53:25 +05:30
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
adithyaov
cfa7fe08ed
Fix and run grouping benchmarks in Prelude.Serial
2020-11-29 09:14:56 +05:30
Harendra Kumar
cd3ce3e503
Fix formatting and docs
...
* Use let clauses to break bigger expressions
* Use `even` as predicate
2020-11-26 17:11:47 +05:30
Ranjeet Ranjan
60d13da0d6
add mapMaybe combinator in Fold
...
Add benchmarking and test case for mapMaybe combinator of Data.Fold
Fix review comments
2020-11-26 17:11:47 +05:30
Harendra Kumar
9444e3e0b9
Use watchTreesWith to implement watchPathsWith
2020-11-26 09:29:50 +05:30
Harendra Kumar
585b825d78
Remove references to path encoding
...
There is no specific encoding of path required, it is a contract between
the user and the file system, we are just a broker in the middle.
2020-11-26 09:29:50 +05:30
Harendra Kumar
0bd72c52e3
Update documentation of stripPrefix
2020-11-26 09:29:50 +05:30
Harendra Kumar
0c570febdd
Add scripts to generate hscope db and tags
2020-11-26 09:27:44 +05:30
adithyaov
d09f1ad9b9
Add benchmarks for mkAsync
2020-11-25 22:56:47 +05:30
adithyaov
75b4329cfe
Add benchmarks for (|&) & (|&.)
2020-11-25 22:56:47 +05:30
adithyaov
7fd5ab1bee
Add benchmarks for scan and postscan
2020-11-25 22:56:47 +05:30
adithyaov
3a3f8e7400
Add benchmarks for wAsync and parallel
2020-11-25 22:56:47 +05:30
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
Harendra Kumar
f10c944b55
Use benchmark and fusion-plugin deps by default
2020-11-24 09:51:56 +05:30
pranaysashank
f72dcaf493
Add names to jobs in Circle CI.
2020-11-18 16:34:36 +05:30
pranaysashank
906a07ea5b
Move travis builds to circle ci
2020-11-17 17:51:04 +05:30
pranaysashank
b339cf8f73
Fix build on 32 bit.
2020-11-17 17:50:30 +05:30
pranaysashank
74c5351639
Fix hlint errors.
2020-11-17 17:50:30 +05:30
pranaysashank
8016730649
Rename test modules to match with corresponding source modules.
2020-11-17 17:50:29 +05:30
pranaysashank
1c3ce1607d
Rename all test-suites to be similar to corresponding modules.
2020-11-17 17:50:29 +05:30
Harendra Kumar
862c47ffc9
Improve documentation of exception handling ops
2020-11-13 19:50:03 +05:30
Harendra Kumar
fa492b8029
Refactor splitOnSuffixSeq
...
* Deduplicate some code
* Reformat some parts esp. multi-way if statements
* Change branches in some cases to keep the likely branch first
2020-11-12 18:26:18 +05:30
Harendra Kumar
e399354299
Rename splitSuffixOn to splitOnSuffixSeq
...
To make it consistent with naming in the IsStream module.
2020-11-12 18:26:18 +05:30
Harendra Kumar
cad13b0038
Make splitOnSuffixSeq fuse
...
By splitting the KRInit state into two states to factor out the
recursive "go" function in a separate state.
2020-11-12 18:26:18 +05:30
adithyaov
a4291b0119
Fix test description of test:Prelude.Serial.splitOnSuffixSeq
2020-11-12 18:26:18 +05:30
adithyaov
2720a7e3c7
Reimplement splitSuffixOnSeq (StreamD.splitSuffixOn)
2020-11-12 18:26:18 +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
8a93c0c6ea
Add default.nix for nix shell/build
2020-11-09 16:24:22 +05:30
Harendra Kumar
40e8275682
Add function to fold n items in the ring
2020-11-08 16:02:05 +05:30
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