Remove re-reading for ip_pat#540
Conversation
478580a to
ef83bed
Compare
Benchmark for 3b4f2d7Click to view benchmark
|
ef83bed to
4af6b56
Compare
Benchmark for d741d00Click to view benchmark
|
Benchmark for f140256Click to view benchmark
|
Actually, I wonder that maybe I just use the id (bits, bytes, endian), and expect no attributes on the id_pat id storage. (I don't have time currently to implement this) |
* Use the last read value for the id instead of jumping back and re-reading that value. * Compare the endian, bits,and bytes amt when reading from an id. This is important when writing as without this check you end up with different bytes being written. More fields could be checked against this? * Reader: Remove last_bits_read_amt and seek_last_read
3e10b66 to
4dad0d8
Compare
Benchmark for 73796ceClick to view benchmark
|
Pushed an update to do this. We could actually force that no attributes are used on the special storage. |
Benchmark for 9ced556Click to view benchmark
|
|
Pushed updates to dis-allow any attributes for This could be done in another mr, but the following should be checked and is not legal: #[derive(Debug, PartialEq, DekuRead, DekuWrite)]
#[deku(id_type = "u8")]
enum DekuTest {
#[deku(id_pat = "_")]
VarDefault,
} |
Benchmark for 5446aeaClick to view benchmark
|
Nevermind, that wasn't that bad to fix: d4049d6 |
Benchmark for 8b26e69Click to view benchmark
|
|
@wcampbell0x2a tag me when you'd like to get a review, also, maybe we should create a release after? |
Sure! I found one bug with this release in my crates, I'll push and update for that and make some release notes. |
d4049d6 to
51d8035
Compare
|
Repushed changes that should fix ci. |
Benchmark for b3bc007Click to view benchmark
|
as without this check you end up with different bytes being written. More fields could
be checked against this?
Should close #533