Erick Tryzelaar
|
97777d1144
|
more experimentation with MemWriter variations
|
2014-07-09 11:58:18 -07:00 |
|
Erick Tryzelaar
|
839da08e24
|
undo commenting out writing json control characters
|
2014-07-09 11:41:47 -07:00 |
|
Erick Tryzelaar
|
3a518887b5
|
update to rust HEAD
|
2014-07-09 11:33:15 -07:00 |
|
Erick Tryzelaar
|
aeffb413c4
|
experiment with alternative MemWriters
test bench_log::bench_copy ... bench: 87 ns/iter (+/- 30) = 7264 MB/s
test bench_log::bench_decoder ... bench: 26596 ns/iter (+/- 1725) = 23 MB/s
test bench_log::bench_direct_mem_writer ... bench: 2210 ns/iter (+/- 94) = 209 MB/s
test bench_log::bench_direct_my_mem_writer ... bench: 1939 ns/iter (+/- 120) = 239 MB/s
test bench_log::bench_encoder ... bench: 6988 ns/iter (+/- 488) = 90 MB/s
test bench_log::bench_manual_mem_writer_escape ... bench: 2809 ns/iter (+/- 332) = 203 MB/s
test bench_log::bench_manual_mem_writer_no_escape ... bench: 1817 ns/iter (+/- 113) = 315 MB/s
test bench_log::bench_manual_my_mem_writer2_escape ... bench: 2250 ns/iter (+/- 117) = 254 MB/s
test bench_log::bench_manual_my_mem_writer2_no_escape ... bench: 1493 ns/iter (+/- 39) = 383 MB/s
test bench_log::bench_manual_my_mem_writer_escape ... bench: 2196 ns/iter (+/- 47) = 260 MB/s
test bench_log::bench_manual_my_mem_writer_no_escape ... bench: 1402 ns/iter (+/- 85) = 408 MB/s
test bench_log::bench_serializer ... bench: 2357 ns/iter (+/- 176) = 204 MB/s
test bench_log::bench_serializer2 ... bench: 2070 ns/iter (+/- 38) = 233 MB/s
|
2014-07-05 23:44:43 -07:00 |
|
Erick Tryzelaar
|
076a35075a
|
write spaces in batches
|
2014-07-04 16:53:23 -07:00 |
|
Erick Tryzelaar
|
c83d38ce79
|
rewrite escape_bytes to not write each byte individually
|
2014-07-04 16:30:09 -07:00 |
|
Erick Tryzelaar
|
8f5157407b
|
simplify code, return null if floats are Nan or Inf
|
2014-07-04 14:39:09 -07:00 |
|
Erick Tryzelaar
|
fa9dbb5a3c
|
bench_manual shouldn't be reallocating
|
2014-07-03 07:44:34 -07:00 |
|
Erick Tryzelaar
|
0436b74773
|
Add some manual tests
|
2014-07-03 07:07:30 -07:00 |
|
Erick Tryzelaar
|
a3f5f46754
|
Update to rust head
|
2014-07-02 21:06:28 -07:00 |
|
Erick Tryzelaar
|
48c471c769
|
json doesn't need an explicit PartialOrd impl
|
2014-06-30 07:18:08 -07:00 |
|
Erick Tryzelaar
|
89cddbbe1e
|
simplify deserializing collections
|
2014-06-28 11:34:46 -07:00 |
|
Erick Tryzelaar
|
bf58947037
|
initial support for #[deriving_deserializable]
|
2014-06-28 08:39:02 -07:00 |
|
Erick Tryzelaar
|
eaa1fc26d1
|
add a #[deriving_serializable] macro
|
2014-06-27 21:43:23 -07:00 |
|
Erick Tryzelaar
|
91d68e256c
|
Finish getting rid of all allocations when serializing.
|
2014-06-27 17:30:20 -07:00 |
|
Erick Tryzelaar
|
a62d516de9
|
Update to rust HEAD
|
2014-06-27 08:07:03 -07:00 |
|
Erick Tryzelaar
|
3f66b05798
|
simplify serializing tuples/structs/enums
|
2014-06-23 21:14:23 -04:00 |
|
Erick Tryzelaar
|
9058341234
|
simplify deserializing seqs and maps
|
2014-06-23 20:44:24 -04:00 |
|
Erick Tryzelaar
|
be34aefe78
|
Simpify bench_struct
|
2014-06-23 11:44:11 -04:00 |
|
Erick Tryzelaar
|
73b9a8cf74
|
Don't use trait objects in json
|
2014-06-23 08:29:50 -04:00 |
|
Erick Tryzelaar
|
7926ac2778
|
Minor cleanup
|
2014-06-22 21:55:07 -04:00 |
|
Erick Tryzelaar
|
23abb48e9b
|
Simplify the Serializable typarams
This closes #14302
|
2014-06-22 21:54:58 -04:00 |
|
Erick Tryzelaar
|
22ff47f93b
|
Simplify the Deserializable typarams
|
2014-06-22 16:51:50 -04:00 |
|
Erick Tryzelaar
|
ec8dd2f5a0
|
Optimize serialization
Serialization is now competitive with go's serialization, with
~60MB/s in the bench_logs test.
|
2014-06-22 10:33:45 -04:00 |
|
Erick Tryzelaar
|
ee162975f9
|
wip
|
2014-06-20 19:32:30 -04:00 |
|
Erick Tryzelaar
|
f46d5a9973
|
Add some serialization benchmarks
test bench_enum::bench_decoder_dog ... bench: 110 ns/iter (+/- 3)
test bench_enum::bench_decoder_frog ... bench: 330 ns/iter (+/- 13)
test bench_enum::bench_deserializer_dog ... bench: 116 ns/iter (+/- 1)
test bench_enum::bench_deserializer_frog ... bench: 310 ns/iter (+/- 31)
test bench_map::bench_decoder_000 ... bench: 528 ns/iter (+/- 43)
test bench_map::bench_decoder_003 ... bench: 2330 ns/iter (+/- 168)
test bench_map::bench_decoder_100 ... bench: 69124 ns/iter (+/- 6764)
test bench_map::bench_deserializer_000 ... bench: 790 ns/iter (+/- 73)
test bench_map::bench_deserializer_003 ... bench: 2552 ns/iter (+/- 443)
test bench_map::bench_deserializer_100 ... bench: 61059 ns/iter (+/- 3776)
test bench_struct::bench_decoder_0_0 ... bench: 608 ns/iter (+/- 54)
test bench_struct::bench_decoder_1_0 ... bench: 1584 ns/iter (+/- 84)
test bench_struct::bench_decoder_1_5 ... bench: 4294 ns/iter (+/- 799)
test bench_struct::bench_deserializer_0_0 ... bench: 670 ns/iter (+/- 61)
test bench_struct::bench_deserializer_1_0 ... bench: 2035 ns/iter (+/- 153)
test bench_struct::bench_deserializer_1_5 ... bench: 4825 ns/iter (+/- 699)
test bench_vec::bench_decoder_int_000 ... bench: 20 ns/iter (+/- 1)
test bench_vec::bench_decoder_int_003 ... bench: 149 ns/iter (+/- 8)
test bench_vec::bench_decoder_int_100 ... bench: 989 ns/iter (+/- 14)
test bench_vec::bench_decoder_u8_000 ... bench: 16 ns/iter (+/- 0)
test bench_vec::bench_decoder_u8_003 ... bench: 155 ns/iter (+/- 9)
test bench_vec::bench_decoder_u8_100 ... bench: 1424 ns/iter (+/- 13)
test bench_vec::bench_deserializer_int_000 ... bench: 16 ns/iter (+/- 0)
test bench_vec::bench_deserializer_int_003 ... bench: 152 ns/iter (+/- 11)
test bench_vec::bench_deserializer_int_100 ... bench: 1015 ns/iter (+/- 64)
test bench_vec::bench_deserializer_u8_000 ... bench: 16 ns/iter (+/- 1)
test bench_vec::bench_deserializer_u8_003 ... bench: 155 ns/iter (+/- 9)
test bench_vec::bench_deserializer_u8_100 ... bench: 1163 ns/iter (+/- 74)
test json::bench::bench_decoder_001 ... bench: 3951 ns/iter (+/- 523)
test json::bench::bench_decoder_001_streaming ... bench: 2032 ns/iter (+/- 850)
test json::bench::bench_decoder_500 ... bench: 1936618 ns/iter (+/- 215448)
test json::bench::bench_decoder_500_streaming ... bench: 831512 ns/iter (+/- 17862)
test json::bench::bench_deserializer_001 ... bench: 3767 ns/iter (+/- 127)
test json::bench::bench_deserializer_001_streaming ... bench: 2070 ns/iter (+/- 67)
test json::bench::bench_deserializer_500 ... bench: 1794293 ns/iter (+/- 63726)
test json::bench::bench_deserializer_500_streaming ... bench: 919105 ns/iter (+/- 56000)
test json::bench::bench_encoder_001 ... bench: 5137 ns/iter (+/- 146)
test json::bench::bench_encoder_001_pretty ... bench: 7448 ns/iter (+/- 79)
test json::bench::bench_encoder_500 ... bench: 2310173 ns/iter (+/- 33944)
test json::bench::bench_encoder_500_pretty ... bench: 3396347 ns/iter (+/- 163104)
test json::bench::bench_serializer_001 ... bench: 4009 ns/iter (+/- 412)
test json::bench::bench_serializer_001_pretty ... bench: 6499 ns/iter (+/- 58)
test json::bench::bench_serializer_500 ... bench: 1721992 ns/iter (+/- 21521)
test json::bench::bench_serializer_500_pretty ... bench: 2880591 ns/iter (+/- 146516)
|
2014-06-14 10:48:01 -07:00 |
|
Erick Tryzelaar
|
8e657078ef
|
Update to rust HEAD
|
2014-06-14 09:15:37 -07:00 |
|
Erick Tryzelaar
|
7a536f22ef
|
Initial version of json serialization working
|
2014-06-12 23:14:52 -07:00 |
|
Erick Tryzelaar
|
3cf15fb7f3
|
Update to rust HEAD
|
2014-06-12 06:31:47 -07:00 |
|
Erick Tryzelaar
|
32d90e4627
|
Fix ser tests
|
2014-06-09 21:52:10 -07:00 |
|
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 |
|