4338 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