Commit Graph

330 Commits

Author SHA1 Message Date
Tony Garnock-Jones e24012af11 The last couple of weeks's work 2020-07-13 09:24:24 +02:00
Tony Garnock-Jones 8d3146cf30 Bump Rust version 2020-07-10 17:01:21 +02:00
Tony Garnock-Jones 7cc7bd783d Adjust internal trait API 2020-07-10 16:59:54 +02:00
Tony Garnock-Jones 9f83756931 Remove decoder/encoder; undoes performance regression 2020-07-08 15:44:06 +02:00
Tony Garnock-Jones 28101cc7d1 Refactor to extract packed format from general traits. Regression in encode performance? 2020-07-08 15:44:06 +02:00
Tony Garnock-Jones 3f76049f13 Drastically improve quoting.v - including a much better main theorem 2020-06-18 23:57:42 +02:00
Tony Garnock-Jones 95cdd84db4 Bump rust version 2020-06-17 13:43:11 +02:00
Tony Garnock-Jones 70a305458a Avoid some copying 2020-06-17 11:01:44 +02:00
Tony Garnock-Jones 24afca5d32 Avoid expensive setup 2020-06-17 11:01:31 +02:00
Tony Garnock-Jones b1c7fe8c04 Remove unnecessary Cow 2020-06-17 09:35:09 +02:00
Tony Garnock-Jones 046a2ad999 Better varint reader 2020-06-17 04:11:27 +02:00
Tony Garnock-Jones 6cfb474a6f Avoid running the slow benchmark tests during regular testing 2020-06-17 03:05:32 +02:00
Tony Garnock-Jones 89c3171758 Autodelete benches/testdata.bin 2020-06-17 02:42:44 +02:00
Tony Garnock-Jones fefa2af730 Bump rust version 2020-06-17 02:39:31 +02:00
Tony Garnock-Jones f2910eb8d0 Slim down the common case of no annotations 2020-06-17 02:39:01 +02:00
Tony Garnock-Jones 078e8dd4e8 Benchmark large collection of small items 2020-06-17 02:33:45 +02:00
Tony Garnock-Jones e4e6622074 Switch to iter_with_large_drop 2020-06-17 00:13:56 +02:00
Tony Garnock-Jones 21cc7595ae Benchmark various readers for decoding 2020-06-16 17:57:52 +02:00
Tony Garnock-Jones e01f960ddc Benchmarks and test factorization 2020-06-16 17:46:55 +02:00
Tony Garnock-Jones 275d9e73b1 Bump version 2020-06-15 16:04:41 +02:00
Tony Garnock-Jones bffbeb2f6e Smaller Record; also, use u128/i128 when possible 2020-06-15 16:03:19 +02:00
Tony Garnock-Jones 1f4adc5ba6 Oh cool, is_none() exists 2020-06-15 09:58:49 +02:00
Tony Garnock-Jones 83b7513fae Build all targets 2020-06-15 09:57:56 +02:00
Tony Garnock-Jones b9aba35d39 New release 2020-05-29 11:08:33 +02:00
Tony Garnock-Jones eb088aa491 Experimentation with extensibility, such as it is 2020-05-29 11:08:12 +02:00
Tony Garnock-Jones 22b76cb9b6 Consume all sequence items in direct deserialization, matching deserialization from a Value 2020-05-29 11:07:55 +02:00
Tony Garnock-Jones 65b5399dbe Make CompoundBody consumption past end idempotent 2020-05-29 10:58:40 +02:00
Tony Garnock-Jones d1a5389060 Allow f32 and f64 to deserialize into each other 2020-05-29 10:58:00 +02:00
Tony Garnock-Jones 0788edaaed Minor repairs to text 2020-05-29 10:00:11 +02:00
Tony Garnock-Jones c4f90ef86b Remove placeholders from spec and implementations 5/5
Update Racket implementation: remove placeholders; reject zero-length
streamed binary chunks.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones 83dce41092 Remove placeholders from spec and implementations 4/5
Update Python implementation: remove placeholders; reject zero-length
streamed binary chunks.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones 0b0709b615 Remove placeholders from spec and implementations 3/5
Update JS implementation: remove placeholders; reject zero-length
streamed binary chunks.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones b5f4c3a498 Remove placeholders from spec and implementations 2/5
Enormous refactoring in Rust implementation. Direct deserialization.
Zero-copy deserialization in some cases. Much faster.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones e7ef060695 Remove placeholders from spec and implementations 1/5
Update spec and test suite.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones dfc50fcaee Simplify code (and get back up to speed! ~150kHz) by insisting on IOValue for all codec operations 2020-05-26 11:01:33 +02:00
Tony Garnock-Jones c30154e0c8 Improve (!) safety at the expense of speed: 155kHz -> 115kHz :-/ 2020-05-26 09:08:17 +02:00
Tony Garnock-Jones b122d6e2e0 copy_via able to map domains 2020-05-25 20:11:54 +02:00
Tony Garnock-Jones 2d57d0001b Even more error cleanup 2020-05-25 16:21:18 +02:00
Tony Garnock-Jones 450b73a4d2 More error cleanup 2020-05-25 16:12:41 +02:00
Tony Garnock-Jones 3f5e431717 Clean up error situation 2020-05-25 15:40:01 +02:00
Tony Garnock-Jones 1011818be6 Split out general std::io::Error wrapper 2020-05-25 15:34:17 +02:00
Tony Garnock-Jones 94058b5ec2 Simplify again by moving away from excessive internal buffering 2020-05-25 15:29:54 +02:00
Tony Garnock-Jones f07d2e6a5d Simplify and speed up decoding 2020-05-25 15:00:58 +02:00
Tony Garnock-Jones 6ad1707870 First stab at factoring out Reader trait 2020-05-25 13:42:06 +02:00
Tony Garnock-Jones 92463c37d4 Less ownership in preserves::ser::Serializer 2020-05-24 21:17:41 +02:00
Tony Garnock-Jones fdae09b44c Tweak preserves::ser API 2020-05-24 14:40:36 +02:00
Tony Garnock-Jones 67bf47a5c9 Less safe but drastically more efficient raw-value (de)serialization 2020-05-24 13:47:42 +02:00
Tony Garnock-Jones bddb4331aa Direct serialization 2020-05-23 22:33:02 +02:00
Tony Garnock-Jones 0feff28d82 Integer ranges 2020-05-22 14:36:33 +02:00
Tony Garnock-Jones d29ec9ffc4 Avoid a few small allocations when decoding 2020-05-22 10:38:34 +02:00