Commit Graph

788 Commits

Author SHA1 Message Date
Erick Tryzelaar
f274dcbd44 Rewrite to work around rust/issues/11751. 162ns vs 156ns 2014-05-25 21:36:56 -07:00
Erick Tryzelaar
7030b5d790 Inline expect_rest_of_collection 2014-05-25 19:41:29 -07:00
Erick Tryzelaar
0a77e0de55 Sep is unused 2014-05-25 13:35:32 -07:00
Erick Tryzelaar
2ee0c619bd Add Vec<u8> benchmarks 2014-05-24 23:33:18 -07:00
Erick Tryzelaar
b90aae619c minor cleanup 2014-05-24 15:04:45 -07:00
Erick Tryzelaar
79d3676d1c Extend bench_vec tests 2014-05-24 15:02:24 -07:00
Erick Tryzelaar
ec32fc9a78 Optimize away one state in enums 2014-05-24 14:11:25 -07:00
Erick Tryzelaar
cb1b006b0f Migrate enum bench to lookahead 2014-05-24 14:08:35 -07:00
Erick Tryzelaar
7180d94196 switch back to lookahead, 175ns vs 184ns 2014-05-23 22:30:53 -07:00
Erick Tryzelaar
2d1c7b43d7 checkpoint vec without Sep, 184ns vs 182ns 2014-05-23 20:58:09 -07:00
Erick Tryzelaar
79f35c4d48 Move the benchmarks out of de.rs 2014-05-23 20:41:29 -07:00
Erick Tryzelaar
a09694ea5f play around with state function handlers 2014-05-23 08:40:46 -07:00
Erick Tryzelaar
d90f758f66 experiment with removing state machine from OuterDeserializer
588ns vs 552ns
2014-05-22 07:56:37 -07:00
Erick Tryzelaar
7808dfc2d4 Rename bench_dummy_deserializer to bench_token_sdeerializer 2014-05-21 22:08:59 -07:00
Erick Tryzelaar
57091bf441 Add struct bench
ints: 169ns vs 191ns
enum: 376ns vs 347ns
struct: 2432ns vs 3465ns
2014-05-21 22:08:08 -07:00
Erick Tryzelaar
ad2d7a5deb Add a StructDecoder 2014-05-21 21:48:49 -07:00
Erick Tryzelaar
6e917c0800 Make sure to inline things in the Decoders
169ns vs 190ns, 346ns vs 329ns
2014-05-21 21:48:34 -07:00
Erick Tryzelaar
173d367d30 Swap AnimalDeserializer with a state machine to be fairer
165ns vs 193ns, 374ns vs 342ns
2014-05-21 21:09:50 -07:00
Erick Tryzelaar
d8f0aba128 add benchmarks for 157ns vs 197ns, 362ns vs 333ns 2014-05-21 20:54:10 -07:00
Erick Tryzelaar
511cc7e198 Add support for enums 2014-05-21 08:44:48 -07:00
Erick Tryzelaar
58423b321f Add support for structs, 155ns vs 206ns 2014-05-21 08:25:28 -07:00
Erick Tryzelaar
c7b6f45d7a explicit expect_{seq,map} should error on another collection type
150ns vs 195ns
2014-05-21 06:47:58 -07:00
Erick Tryzelaar
23630be5dd Collections should work with multiple types 2014-05-20 19:38:48 -07:00
Erick Tryzelaar
2f266aa67b Split out multiple collection types: 153ns vs 194ns
This allows a consumer of a deserializer stream to know what
type it might be dealing with.
2014-05-20 19:22:23 -07:00
Erick Tryzelaar
54d41da743 cleanup, and revert back to the separator, 162ns vs 205ns 2014-05-19 19:41:38 -07:00
Erick Tryzelaar
db257057e2 support both LL(0) and LL(1) grammars 2014-05-19 18:44:20 -07:00
Erick Tryzelaar
a41c64f735 macrotize tuple impls 2014-05-19 17:53:24 -07:00
Erick Tryzelaar
2158f91589 simplify deserializing numbers 2014-05-19 09:48:58 -07:00
Erick Tryzelaar
3ec4829d7c partially implement deserializing options 2014-05-19 09:47:16 -07:00
Erick Tryzelaar
0765c4e7d2 remove CollectionSep, 162ns vs 191ns 2014-05-19 08:29:16 -07:00
Erick Tryzelaar
989b6c5282 fix partial performance hit: 163ns vs 200ns 2014-05-19 08:22:18 -07:00
Erick Tryzelaar
6d13ee2ec8 add size hints: 167ns vs 290ns 2014-05-19 08:11:23 -07:00
Erick Tryzelaar
db242fed53 Experiment with lookahead, it's a tad slower than before 2014-05-19 07:55:05 -07:00
Erick Tryzelaar
e34dcdcd18 generate impls for many primitive types 2014-05-19 07:18:35 -07:00
Erick Tryzelaar
80d4518a67 Clean up the APIs, assuming some things land in rust HEAD 2014-05-17 22:42:48 -07:00
Erick Tryzelaar
54950635d9 Update to head 2014-05-17 20:18:32 -07:00
Erick Tryzelaar
13fd782ac2 initial work with json 2014-05-16 21:21:05 -07:00
Erick Tryzelaar
9bd5764574 initial commit 2014-05-16 07:15:02 -07:00