add 1 extra char to DateTime deserialization for 7 digit (ie. 1 tick resolution) datetime support; fixes #43
get started #42; found a bug in the fix for #43 as well, test fixed
fix #43 for real, switches to using tick resolution for all deserialization ops
fixes #42; serialization will now go out to a single Tick of resolution if need be, though it won't always serialize a bunch of extra 0s in will add some trailing zeros if it's easier to deal with
implemetation of loop unrolling suggested in #37; various changes to reuse buffer, write to TextWriter, and handle int.MinValue; speed hasn't been tested yet
speed test for #37; it's slower, but the existing write it code has been improved since the issue was opened; need to apply TwoDigits optimization and compare again
convertng #37 to TwoDigit form; it's about 10% faster
rename to remove I37 for things
same optimizations for uints
same optimization for longs; gonna need a test for these since doubling the # of branch points isn't exactly a no-brainer
same optimizations for ulongs
test that unrolling is faster for longs; it's not, which makes some since since it's literally double the number of branches
remove long unrolled versions; this ints are where the gains are; closes #37
remove pointless string allocations per #40; closes #40
fast skip white space is no longer an optimization; best guess, removing some allocation pressure makes not touching the cache line a second time less likely to matter, test perf was jumping around
testing signed version of custom int writer; it does appear to be a few percent faster (~5%); I'm not completely sure why... idiv should be faster than div on all intels I've ever seen, need to grab a disassembly
figured out why signed is faster for us w.r.t. #39
delete old CustomWriteIntUnroll; fix a bug in new CustomWriteIntUnrollSigned
try extending the same thing to uints; there are a couple different ways to do this, this one doesn't work (ie. is the same or slower)
and here's another way, which is much worse