Erick Tryzelaar
|
00c01944cf
|
add impls for {Hash,Tree}Sets
|
2014-08-04 16:53:21 -07:00 |
|
Erick Tryzelaar
|
8d188747b8
|
Return an error type instead of unwrapping in the vec serializer
|
2014-08-04 16:39:21 -07:00 |
|
Erick Tryzelaar
|
6357c56674
|
implement Serializable/Deserializable for box types
|
2014-08-04 16:38:43 -07:00 |
|
Erick Tryzelaar
|
d689bc8b85
|
initial support for more full error messages
|
2014-08-03 12:35:15 -07:00 |
|
Erick Tryzelaar
|
499638eccd
|
simplify deserializing a value from a primitive
|
2014-08-03 12:34:57 -07:00 |
|
Erick Tryzelaar
|
dbc1cbcbfb
|
implement bench_log::bench_deserializer
|
2014-08-02 16:06:05 -07:00 |
|
Erick Tryzelaar
|
5298bf0301
|
remove dead code
|
2014-08-02 15:46:07 -07:00 |
|
Erick Tryzelaar
|
62eda3e19f
|
use #[deriving_deserializable] everywhere
|
2014-08-02 15:42:49 -07:00 |
|
Erick Tryzelaar
|
9d43fe43a9
|
json should work with large integers
|
2014-08-02 15:40:08 -07:00 |
|
Erick Tryzelaar
|
d68710ea09
|
fix improper deserializing structs-as-maps
|
2014-08-02 15:39:16 -07:00 |
|
Erick Tryzelaar
|
4fc124de9b
|
Update to rust HEAD
|
2014-08-02 09:25:44 -07:00 |
|
Erick Tryzelaar
|
5bfc73e36b
|
Fix compiling bench_log
|
2014-07-31 07:18:26 -07:00 |
|
Erick Tryzelaar
|
0df01a1888
|
move json into a directory, add builder helper
|
2014-07-31 07:01:23 -07:00 |
|
Erick Tryzelaar
|
9278f26ac2
|
More simplifications
|
2014-07-27 21:13:27 -07:00 |
|
Erick Tryzelaar
|
7200be09e1
|
more simplification
|
2014-07-27 21:07:01 -07:00 |
|
Erick Tryzelaar
|
14d97f9c26
|
Cleaning up #[deriving_deserializable]
|
2014-07-27 20:16:18 -07:00 |
|
Erick Tryzelaar
|
04e2528a29
|
Initial support for #[deriving_deserializable] deserializing from maps
|
2014-07-27 18:33:16 -07:00 |
|
Erick Tryzelaar
|
4077d83cf2
|
Migrate over to cargo
|
2014-07-18 06:17:47 -07:00 |
|
Erick Tryzelaar
|
618e8d7b5a
|
checkpoint
|
2014-07-17 21:28:31 -07:00 |
|
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 |
|