Commit Graph

540 Commits

Author SHA1 Message Date
Erick Tryzelaar
d8fb2abd03 Change the json enum serialization to {"variant":["fields", ...]}
test bench_enum::bench_decoder_dog                   ... bench:       112 ns/iter (+/- 15)
test bench_enum::bench_decoder_frog                  ... bench:       336 ns/iter (+/- 6)
test bench_enum::bench_deserializer_dog              ... bench:       120 ns/iter (+/- 4)
test bench_enum::bench_deserializer_frog             ... bench:       317 ns/iter (+/- 15)
test bench_map::bench_decoder_000                    ... bench:       528 ns/iter (+/- 13)
test bench_map::bench_decoder_003                    ... bench:      2459 ns/iter (+/- 74)
test bench_map::bench_decoder_100                    ... bench:     70756 ns/iter (+/- 1979)
test bench_map::bench_deserializer_000               ... bench:       753 ns/iter (+/- 30)
test bench_map::bench_deserializer_003               ... bench:      2574 ns/iter (+/- 111)
test bench_map::bench_deserializer_100               ... bench:     62374 ns/iter (+/- 1714)
test bench_struct::bench_decoder_0_0                 ... bench:       609 ns/iter (+/- 14)
test bench_struct::bench_decoder_1_0                 ... bench:      1620 ns/iter (+/- 44)
test bench_struct::bench_decoder_1_5                 ... bench:      4393 ns/iter (+/- 88)
test bench_struct::bench_deserializer_0_0            ... bench:       699 ns/iter (+/- 10)
test bench_struct::bench_deserializer_1_0            ... bench:      2160 ns/iter (+/- 53)
test bench_struct::bench_deserializer_1_5            ... bench:      4987 ns/iter (+/- 87)
test bench_vec::bench_decoder_int_000                ... bench:        20 ns/iter (+/- 1)
test bench_vec::bench_decoder_int_003                ... bench:       148 ns/iter (+/- 3)
test bench_vec::bench_decoder_int_100                ... bench:      1009 ns/iter (+/- 44)
test bench_vec::bench_decoder_u8_000                 ... bench:        16 ns/iter (+/- 0)
test bench_vec::bench_decoder_u8_003                 ... bench:       152 ns/iter (+/- 12)
test bench_vec::bench_decoder_u8_100                 ... bench:      1457 ns/iter (+/- 95)
test bench_vec::bench_deserializer_int_000           ... bench:        16 ns/iter (+/- 0)
test bench_vec::bench_deserializer_int_003           ... bench:       153 ns/iter (+/- 9)
test bench_vec::bench_deserializer_int_100           ... bench:      1015 ns/iter (+/- 38)
test bench_vec::bench_deserializer_u8_000            ... bench:        16 ns/iter (+/- 1)
test bench_vec::bench_deserializer_u8_003            ... bench:       160 ns/iter (+/- 130)
test bench_vec::bench_deserializer_u8_100            ... bench:      1225 ns/iter (+/- 112)
test json::tests::bench_decoder_large                ... bench:   1979093 ns/iter (+/- 67769)
test json::tests::bench_decoder_small                ... bench:      4644 ns/iter (+/- 208)
test json::tests::bench_decoder_streaming_large      ... bench:    848383 ns/iter (+/- 96301)
test json::tests::bench_decoder_streaming_small      ... bench:      1834 ns/iter (+/- 120)
test json::tests::bench_deserializer_large           ... bench:   1882598 ns/iter (+/- 137262)
test json::tests::bench_deserializer_small           ... bench:      3945 ns/iter (+/- 161)
test json::tests::bench_deserializer_streaming_large ... bench:    990086 ns/iter (+/- 157794)
test json::tests::bench_deserializer_streaming_small ... bench:      2135 ns/iter (+/- 211)
2014-06-09 07:51:53 -07:00
Erick Tryzelaar
ee3dee8893 Initial version of serialization. 2014-06-08 15:17:18 -07:00
Erick Tryzelaar
485a484ab6 Update to rust HEAD 2014-06-08 15:09:16 -07:00
Erick Tryzelaar
02221908a5 Add license and minor cleanup 2014-06-08 14:52:40 -07:00
Erick Tryzelaar
f10160017d Allow some of the old tests to run. 2014-06-03 20:10:58 -07:00
Erick Tryzelaar
821740f448 add a whole bunch of benchmarks for parsing and deserializing json 2014-06-03 07:10:44 -07:00
Erick Tryzelaar
a78bbf2947 Update to Rust HEAD 2014-06-03 06:43:01 -07:00
Erick Tryzelaar
dac51fe4d2 Update to rust HEAD (2f221c) 2014-05-31 12:28:30 -07:00
Erick Tryzelaar
c58958b1c8 start cleaning up error handling 2014-05-30 23:28:46 -07:00
Erick Tryzelaar
ea5936aa78 Use the right show impl for Json 2014-05-30 23:18:01 -07:00
Erick Tryzelaar
2380321c60 Expose more tests 2014-05-30 23:15:22 -07:00
Erick Tryzelaar
bfd83cef55 Even more tests 2014-05-30 23:06:40 -07:00
Erick Tryzelaar
e6a00d0ef9 Expose more tests 2014-05-30 23:04:41 -07:00
Erick Tryzelaar
5bbe89197e Uncomment more code. 2014-05-30 22:56:08 -07:00
Erick Tryzelaar
8526b9c480 Uncomment more code 2014-05-30 22:43:01 -07:00
Erick Tryzelaar
c6e503f8b3 Start cleaning up warnings and dead code 2014-05-30 22:30:02 -07:00
Erick Tryzelaar
a7b224702c Clean up the enum parsing code. 2014-05-30 22:19:22 -07:00
Erick Tryzelaar
5c0f324f6d implement parsing enums 2014-05-30 22:15:17 -07:00
Erick Tryzelaar
2b5fc86042 Add a helper that gathers tokens 2014-05-30 19:15:05 -07:00
Erick Tryzelaar
0db501e693 Rewrite de::ignore into a struct that impls Deserializable 2014-05-30 19:13:50 -07:00
Erick Tryzelaar
cdf8e0820c Initial support for json deserializing enums 2014-05-29 08:02:06 -07:00
Erick Tryzelaar
27a914cdcf Add support for json deserializing enums and options, clean up tests 2014-05-29 07:05:19 -07:00
Erick Tryzelaar
85fd2797a6 Update to rust HEAD 2014-05-29 06:44:38 -07:00
Erick Tryzelaar
86560857a7 add a JsonDeserializer, clean up tests 2014-05-28 10:46:29 -07:00
Erick Tryzelaar
88631b57cb Actually fully test deserializing structs 2014-05-28 08:10:52 -07:00
Erick Tryzelaar
77a10caf34 Implement deserializing json options 2014-05-28 08:09:19 -07:00
Erick Tryzelaar
674983e5b7 Clean up checking for trailing characters 2014-05-28 07:18:24 -07:00
Erick Tryzelaar
3b76001db5 Handle trailing characters 2014-05-28 07:14:42 -07:00
Erick Tryzelaar
c70e9f0eae structs should deserialize from a map 2014-05-27 21:46:31 -07:00
Erick Tryzelaar
bf58f7999f Get deserializing json objects into structs working 2014-05-27 07:36:57 -07:00
Erick Tryzelaar
38a468ad23 Simplify pattern expecting a token 2014-05-27 07:21:37 -07:00
Erick Tryzelaar
ebab6637d6 add json::from_iter, and start checking errors 2014-05-26 17:02:51 -07:00
Erick Tryzelaar
e58096dcc2 Get all the json types to parse 2014-05-26 14:27:08 -07:00
Erick Tryzelaar
0d56ae5986 Add TreeMap impl of Deserializable 2014-05-26 12:53:37 -07:00
Erick Tryzelaar
0bda36d6d3 get json list deserialization working 2014-05-26 11:08:15 -07:00
Erick Tryzelaar
17e93d3d5d Re-enable json and port to rust HEAD 2014-05-26 10:40:47 -07:00
Erick Tryzelaar
d87589f5cb Minor cleanup 2014-05-26 09:49:05 -07:00
Erick Tryzelaar
7c60fa5276 Error properly if we get an unknown variant 2014-05-26 09:48:10 -07:00
Erick Tryzelaar
81dfaa4f3d cleanup benchmarks, re-enable enum, remove bench_token_deserializer
test bench_enum::bench_decoder_dog         ... bench:       111 ns/iter (+/- 9)
test bench_enum::bench_decoder_frog        ... bench:       343 ns/iter (+/- 95)
test bench_enum::bench_deserializer_dog    ... bench:       124 ns/iter (+/- 41)
test bench_enum::bench_deserializer_frog   ... bench:       315 ns/iter (+/- 17)
test bench_map::bench_decoder_000          ... bench:       580 ns/iter (+/- 138)
test bench_map::bench_decoder_003          ... bench:      2469 ns/iter (+/- 956)
test bench_map::bench_decoder_100          ... bench:     68491 ns/iter (+/- 11653)
test bench_map::bench_deserializer_000     ... bench:       819 ns/iter (+/- 234)
test bench_map::bench_deserializer_003     ... bench:      2589 ns/iter (+/- 594)
test bench_map::bench_deserializer_100     ... bench:     61954 ns/iter (+/- 23604)
test bench_struct::bench_decoder_0_0       ... bench:       602 ns/iter (+/- 153)
test bench_struct::bench_decoder_1_0       ... bench:      1664 ns/iter (+/- 500)
test bench_struct::bench_decoder_1_5       ... bench:      4715 ns/iter (+/- 1499)
test bench_struct::bench_deserializer_0_0  ... bench:       700 ns/iter (+/- 189)
test bench_struct::bench_deserializer_1_0  ... bench:      2318 ns/iter (+/- 595)
test bench_struct::bench_deserializer_1_5  ... bench:      5131 ns/iter (+/- 1650)
test bench_vec::bench_decoder_int_000      ... bench:        22 ns/iter (+/- 22)
test bench_vec::bench_decoder_int_003      ... bench:       154 ns/iter (+/- 40)
test bench_vec::bench_decoder_int_100      ... bench:      1038 ns/iter (+/- 203)
test bench_vec::bench_decoder_u8_000       ... bench:        16 ns/iter (+/- 4)
test bench_vec::bench_decoder_u8_003       ... bench:       158 ns/iter (+/- 43)
test bench_vec::bench_decoder_u8_100       ... bench:      1499 ns/iter (+/- 672)
test bench_vec::bench_deserializer_int_000 ... bench:        16 ns/iter (+/- 4)
test bench_vec::bench_deserializer_int_003 ... bench:       156 ns/iter (+/- 43)
test bench_vec::bench_deserializer_int_100 ... bench:      1027 ns/iter (+/- 244)
test bench_vec::bench_deserializer_u8_000  ... bench:        16 ns/iter (+/- 10)
test bench_vec::bench_deserializer_u8_003  ... bench:       166 ns/iter (+/- 43)
test bench_vec::bench_deserializer_u8_100  ... bench:      1226 ns/iter (+/- 234)
test de::tests::bench_token_deserializer   ... bench:       367 ns/iter (+/- 107)
2014-05-26 09:43:51 -07:00
Erick Tryzelaar
88ed9cb4f2 Get rid of unused macros 2014-05-26 09:35:04 -07:00
Erick Tryzelaar
897f64283f re-enable the vec benchmarks 2014-05-26 09:31:17 -07:00
Erick Tryzelaar
386b53cce7 Add a bench_map.
test bench_map::bench_decoder_map_000      ... bench:       510 ns/iter (+/- 124)
test bench_map::bench_decoder_map_003      ... bench:      2347 ns/iter (+/- 253)
test bench_map::bench_decoder_map_100      ... bench:     68735 ns/iter (+/- 14869)
test bench_map::bench_deserializer_map_000 ... bench:       736 ns/iter (+/- 35)
test bench_map::bench_deserializer_map_003 ... bench:      2446 ns/iter (+/- 348)
test bench_map::bench_deserializer_map_100 ... bench:     64326 ns/iter (+/- 15191)
2014-05-26 09:23:05 -07:00
Erick Tryzelaar
ac3136b2f3 Map elts shouldn't be tuples, 4267ns vs 4900ns 2014-05-26 09:01:22 -07:00
Erick Tryzelaar
e4fece35ad Make the bench_struct map test more complicated, 4373ns vs 5355ns 2014-05-26 09:00:54 -07:00
Erick Tryzelaar
8587bb3a4c Replace StructField with Str/String. 2322ns vs 2982ns 2014-05-26 08:26:34 -07:00
Erick Tryzelaar
4b8c62828e Simplify the struct deserializer state machine
2515ns vs 3058ns
2014-05-26 07:46:17 -07:00
Erick Tryzelaar
ada088eb85 update to rust HEAD (20a415)
struct decoder: 2417ns
struct deserializer: 1640ns
2014-05-26 07:18:18 -07:00
Erick Tryzelaar
41eb7293d2 flesh out struct benchmarks 2014-05-25 22:20:06 -07:00
Erick Tryzelaar
62fb2073e2 reenable struct benchmarks 2014-05-25 22:16:34 -07:00
Erick Tryzelaar
cd3cd7b01c Update deserializing hashmaps 2014-05-25 22:08:37 -07:00