Commit Graph

956 Commits

Author SHA1 Message Date
Adithya Kumar
86e8accfb0 Implement UTF-16 encoding/decoding routines
- Add identity tests
- Add benchmarks
- Add Word16 to Word8 helpers
2024-02-22 15:19:48 +05:30
Harendra Kumar
b2e7d1dabc Fix old prelude rate benchmarks 2024-02-18 03:11:09 +05:30
Harendra Kumar
0990626371 Add comparison benchmarks for rate/without rate 2024-02-18 03:10:58 +05:30
Harendra Kumar
14932904bd Add rate benchmarks for new concurrent streams 2024-02-18 03:10:46 +05:30
Harendra Kumar
dd12c4f7cb Add maxThreads 1 benchmarks for parConcat 2024-02-14 11:51:39 +05:30
Harendra Kumar
db1cee542a Add a scan for folds using "Scan" type 2024-02-13 04:21:08 +05:30
Harendra Kumar
fe2dba682c Add a Scan module as simplified pipe 2024-02-13 04:21:08 +05:30
Harendra Kumar
e73aa914bb Merge the Scan module into the Pipe module 2024-02-13 04:21:08 +05:30
Harendra Kumar
11845277c7 Cleanup and make consistent the export lists of Array modules 2024-01-04 09:25:36 +05:30
Harendra Kumar
191abebe92 Fix serialize test taking too long, too much mem 2024-01-04 07:41:04 +05:30
Harendra Kumar
a067d53632 Fix hlint issues in benchmarks 2023-12-21 17:17:52 +05:30
Julian Ospald
6d2798cdd9 Relax filepath upper bound 2023-12-15 23:53:51 +05:30
Harendra Kumar
c0d3178fa4 Make SerializeConfig opaque 2023-11-28 03:36:49 +05:30
Harendra Kumar
fd93674cec Remove the intermediate Concurrent/Time/Exception modules 2023-11-27 15:50:24 +05:30
Harendra Kumar
f432cc36da Collect all internal Unfold modules in one 2023-11-27 02:11:00 +05:30
Harendra Kumar
13581bfec1 Rename serialize/deserialize/size of Serialize class 2023-11-26 01:57:10 +05:30
Harendra Kumar
1efeed403b Rename peekByteIndex/pokeByteIndex to peekAt/pokeAt 2023-11-26 01:57:10 +05:30
Harendra Kumar
7cb856b7e6 Move the Array serialization APIs to the Array module 2023-11-26 01:57:10 +05:30
Harendra Kumar
56fd008519 Rename newByteArray to new
To keep it consistent with naming in other Array modules.
2023-11-26 01:57:10 +05:30
Harendra Kumar
6705ec00b9 Rename Data.Serialize to Data.MutByteArray 2023-11-26 01:57:10 +05:30
Harendra Kumar
627c72ae65 Rename newBytes and pinnedNewBytes 2023-11-24 13:38:10 +05:30
Harendra Kumar
47b10b3914 Rename MutableByteArray to MutByteArray 2023-11-24 13:38:10 +05:30
Harendra Kumar
dfa2079542 Move Stream.Chunked to Array.Stream 2023-11-24 12:37:42 +05:30
Harendra Kumar
41baea74b8 Move Stream.MutChunked to MutArray.Stream 2023-11-24 12:37:42 +05:30
Harendra Kumar
33bffd614b Change deriveUnbox to use instance splice 2023-11-22 21:39:39 +05:30
Harendra Kumar
1640a686e7 Rename Config/defaultConfig to S/serializeConfig 2023-11-22 21:39:39 +05:30
Harendra Kumar
7d50e5e03e Implement deriveSerialize using deriveSerializeWith 2023-11-22 21:39:39 +05:30
Harendra Kumar
e7f6e7e9eb Add Config setter functions for Serialize derivation 2023-11-22 21:39:39 +05:30
Harendra Kumar
97e0d20ffb Re-export internal serialize modules and hide them 2023-11-21 02:37:28 +05:30
Harendra Kumar
32390c592e Add a finalizer action in Fold type
This was needed especially for concurrent fold combinators. A fold
combinator that uses concurrent folds needs to wait for the concurrent
folds to finish before it can finish. The finalizing action in folds can
deallocate any resources allocated by the "initial" action and also wait
for folds that it has initialized.

This complicates fold combinators in general. We can potentially
introduce a type for non-failing parsers and support finalization only
in those. The current use cases can be covered by that. Parsers do not
support scanning, which is not required in the use cases where we need
finalization (there is no known use case).
2023-11-18 23:51:09 +05:30
Harendra Kumar
633bb185a8 Remove use-gauge build flag 2023-11-03 01:44:25 +05:30
Harendra Kumar
a11fe00965 Fix warnings for GHC 9.6 and 9.8 2023-11-03 01:44:25 +05:30
Harendra Kumar
35bc11a0fc Use more memory for running Parser bench with --long 2023-11-02 15:38:07 +05:30
Harendra Kumar
79df417138 Fix the ParserK benchmark module names 2023-11-02 15:38:07 +05:30
Harendra Kumar
74e3cdfcb4 Move some benchmarks from o-1 to o-n category 2023-11-02 15:38:07 +05:30
Harendra Kumar
efecb265d2 Change benchmark mem requirements for GHC 9.6 2023-11-02 15:38:07 +05:30
Harendra Kumar
4b03673010 Disable some inspection tests for GHC-9.6 onwards 2023-10-31 13:37:28 +05:30
Harendra Kumar
104bfc3a3f Update dependency versions 2023-10-31 13:32:39 +05:30
Adithya Kumar
c6fa580a28 Add benchmarks for the recordSyntaxWithHeader option in Serialize.TH 2023-09-27 08:18:14 +05:30
Adithya Kumar
5fef84310e Remove Serailize.Size and change the signature of Serialize.size 2023-08-30 14:07:33 +05:30
Harendra Kumar
9e8c35d49e Add fusion checking code in Data.Fold benchmark 2023-08-24 19:43:51 +05:30
Harendra Kumar
3e93e22228 Disable some redundant serialize benchmarks 2023-08-23 16:20:10 +05:30
Harendra Kumar
71346fd9a3 Add encode benchmark
encode = poke + getSize + array allocation
2023-08-23 16:20:10 +05:30
Harendra Kumar
282d79cd9d Use deepseq instead of equality check 2023-08-23 16:20:10 +05:30
Harendra Kumar
7bc450d725 Pass the array size to deserialize for bound check 2023-08-21 16:28:02 +05:30
Harendra Kumar
43e25a173f Enable the comparison after deserialization 2023-08-21 16:28:02 +05:30
Ranjeet Ranjan
209e990b06
Re-export entire submodules from Parser (#2525) 2023-08-21 14:09:09 +05:30
Adithya Kumar
bfe0169024 Simplify Serialize benchmarking code 2023-08-21 01:45:06 +05:30
Harendra Kumar
4dbdf477a8 Remove the alloc cost from poke op
For better comparison with peek cost.
Also now there are two versions of poke benchmarks, one including the
getSize cost and the other without to figure out how much overhead
getSize adds, because the cost may be nothing if it is dominated by
cache miss costs.
2023-08-21 01:45:06 +05:30
Harendra Kumar
4fdc8360ff Include the size/alloc op costs in poke/roundtrip 2023-08-21 01:45:06 +05:30