Commit Graph

746 Commits

Author SHA1 Message Date
Erick Tryzelaar
5892d4fd67 implement to_json for most tuples 2014-08-14 19:03:51 -07:00
Erick Tryzelaar
dce88b74da Fix deserializing a tuple from a sequence 2014-08-14 19:03:23 -07:00
Erick Tryzelaar
9d1f777282 Share => Sync 2014-08-14 09:38:19 -07:00
Erick Tryzelaar
98aa2e7884 Flesh out error handling 2014-08-06 22:24:06 -04:00
Erick Tryzelaar
005b124cd3 simplify error reporting 2014-08-05 23:02:15 -04:00
Erick Tryzelaar
14d2254b2b Remove unused macro 2014-08-05 22:41:27 -04:00
Erick Tryzelaar
6f03528987 Fix an infinite loop in serializing boxed types 2014-08-04 22:31:07 -04:00
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