Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-02-19 | Fix building of Lua extension on OS X. | Joshua Haberman | |
2011-02-18 | Bring lua extension up to date with new symtab APIs. | Joshua Haberman | |
2011-02-18 | Change the API for getting the bootstrapped defs. | Joshua Haberman | |
The symtab that contains them is now hidden, and you can look them up by name but there is no access to the symtab itself, so there is no risk of mutating it (by extending it, adding other defs to it, etc). | |||
2011-02-18 | Fix efficiency bug for major (50% performance improvement! | Joshua Haberman | |
There was a bug with string referencing that prevented strings from being recycled as often as they ought to be. | |||
2011-02-17 | Return updated buf as second return value, to free up a reg. | Joshua Haberman | |
2011-02-17 | First version of an assembly language decoder. | Joshua Haberman | |
It is slower than the C decoder for now because it falls off the fast path too often. But it can successfully decode varints, fixed32 and fixed64. | |||
2011-02-17 | Split inttable into a hash part and an array part. | Joshua Haberman | |
upb_inttable() now supports a "compact" operation that will decide on an array size and put all entries with small enough keys into the array part for faster lookup. Also exposed the upb_itof_ent structure and put a few useful values there, so they are one fewer pointer chase away. | |||
2011-02-17 | Track buffer end instead of buffer length, for a small perf improvement. | Joshua Haberman | |
2011-02-15 | Remove upb_dstate and specialize upb_decode_fixed for perf improvement. | Joshua Haberman | |
The compiler wasn't keeping upb_dstate in memory anyway (which was the original goal). This simplifies the decoder. upb_decode_fixed was intended to minimize the number of branches, but since it was calling out to memcpy as a function, this turned out to be a pessimization. Performance is encouraging: plain32.parsestream_googlemessage1.upb_table: 254 -> 242 (-4.72) plain32.parsestream_googlemessage2.upb_table: 357 -> 400 (12.04) plain32.parsetostruct_googlemessage1.upb_table_byref: 143 -> 144 (0.70) plain32.parsetostruct_googlemessage1.upb_table_byval: 122 -> 118 (-3.28) plain32.parsetostruct_googlemessage2.upb_table_byref: 189 -> 200 (5.82) plain32.parsetostruct_googlemessage2.upb_table_byval: 198 -> 200 (1.01) omitfp32.parsestream_googlemessage1.upb_table: 267 -> 265 (-0.75) omitfp32.parsestream_googlemessage2.upb_table: 377 -> 465 (23.34) omitfp32.parsetostruct_googlemessage1.upb_table_byref: 140 -> 151 (7.86) omitfp32.parsetostruct_googlemessage1.upb_table_byval: 131 -> 131 (0.00) omitfp32.parsetostruct_googlemessage2.upb_table_byref: 204 -> 214 (4.90) omitfp32.parsetostruct_googlemessage2.upb_table_byval: 200 -> 206 (3.00) plain.parsestream_googlemessage1.upb_table: 313 -> 317 (1.28) plain.parsestream_googlemessage2.upb_table: 476 -> 541 (13.66) plain.parsetostruct_googlemessage1.upb_table_byref: 189 -> 189 (0.00) plain.parsetostruct_googlemessage1.upb_table_byval: 165 -> 165 (0.00) plain.parsetostruct_googlemessage2.upb_table_byref: 263 -> 270 (2.66) plain.parsetostruct_googlemessage2.upb_table_byval: 248 -> 255 (2.82) omitfp.parsestream_googlemessage1.upb_table: 306 -> 305 (-0.33) omitfp.parsestream_googlemessage2.upb_table: 471 -> 531 (12.74) omitfp.parsetostruct_googlemessage1.upb_table_byref: 189 -> 190 (0.53) omitfp.parsetostruct_googlemessage1.upb_table_byval: 166 -> 172 (3.61) omitfp.parsetostruct_googlemessage2.upb_table_byref: 258 -> 270 (4.65) omitfp.parsetostruct_googlemessage2.upb_table_byval: 248 -> 265 (6.85) | |||
2011-02-15 | Fix small problem in Makefile. | Joshua Haberman | |
2011-02-15 | Whoops, fix small bug in Makefile. | Joshua Haberman | |
2011-02-15 | Make -DUPB_THREAD_UNSAFE the default for now. | Joshua Haberman | |
2011-02-15 | Support "make Q=" to view full commands. | Joshua Haberman | |
2011-02-15 | Fixes for building Lua extension. | Joshua Haberman | |
2011-02-14 | Revive Lua extension. | Joshua Haberman | |
It builds and you can inspect a symtab. Still need to expose streaming and message based interfaces. | |||
2011-02-14 | Make "byval" benchmarks actually byval. | Joshua Haberman | |
2011-02-14 | Recover bad performance of 0-keyed tables. | Joshua Haberman | |
We do this by special-casing the (unusual) zero case and only bother checking the is_empty bit in the zero case. | |||
2011-02-14 | Update to latest descriptor.proto. | Joshua Haberman | |
2011-02-14 | More completely fixed the 0-key thing. | Joshua Haberman | |
Unfortunately this degrades hash table lookup performance by about 8%, which affects the streaming benchmark for googlemessage1 by about 5%. We could get this back at the cost of some memory, but it would be nice to avoid that. | |||
2011-02-14 | Remove the restriction that 0 cannot be a table key. | Joshua Haberman | |
This fixes issue: http://code.google.com/p/upb/issues/detail?id=1 | |||
2011-02-14 | Add warning about upcoming delegation changes. | Joshua Haberman | |
2011-02-13 | Cleaned up README. | Joshua Haberman | |
2011-02-13 | Cleaned up README, removed TODO in favor of issues on Google Code. | Joshua Haberman | |
2011-02-13 | Added proper error about broken 0-values for enums. | Joshua Haberman | |
2011-02-13 | Moved upbc -> src/ | Joshua Haberman | |
2011-02-13 | Fix upbc and descriptorgen, and update descriptor. | Joshua Haberman | |
2011-02-13 | Cleanup Makefile and mv descriptor/ -> src/ | Joshua Haberman | |
2011-02-13 | Merged core/ and stream/ -> src/. The split wasn't worth it. | Joshua Haberman | |
2011-02-10 | Add (but do not activate) an SSE varint decoder. | Joshua Haberman | |
2011-02-09 | Cache temporary string in the decoder, for better benchmark numbers. | Joshua Haberman | |
2011-02-09 | Cache decoding objects for better benchmark results. (~15%) | Joshua Haberman | |
I would prefer to find an API that is both fast and doesn't require this, but we'll do this for now. | |||
2011-02-09 | Precompute bit offset and bitmask for a small perf improvement. | Joshua Haberman | |
2011-02-08 | Fix upb's parsetostruct benchmark. | Joshua Haberman | |
2011-02-06 | Benchmarks compile and run again! | Joshua Haberman | |
2011-02-06 | All tests pass again, valgrind-clean! Next up: benchmarks. | Joshua Haberman | |
2011-02-05 | Another round of fixes. | Joshua Haberman | |
test_vs_proto2.googlemessage1 passes again, with no memory leaks! | |||
2011-02-05 | Tons of work: we're close to passing test_vs_proto2 again. | Joshua Haberman | |
2011-02-04 | Improved table benchmark accuracy and output formatting. | Joshua Haberman | |
2011-02-03 | Merge branch 'src-refactoring' | Joshua Haberman | |
2011-02-02 | Gutted upb_msg a bit, re-adding only the essentials. | Joshua Haberman | |
2011-01-30 | Fixes to decoder and textprinter: it works (for some input)! | Joshua Haberman | |
A protobuf -> text stream for descriptor.proto now outputs the same text as proto2. | |||
2011-01-29 | Fixes to decoder, stdio, textprinter. | Joshua Haberman | |
2011-01-29 | upb_strstream compiles again. | Joshua Haberman | |
That covers all source files except upb_msg! | |||
2011-01-29 | Some work on upb_msg, but it has a long way to go. | Joshua Haberman | |
2011-01-29 | Textprinter is compiling again. | Joshua Haberman | |
2011-01-28 | Improve comments in headers, to better explain core interfaces. | Joshua Haberman | |
2011-01-28 | More work on textprinter. | Joshua Haberman | |
2011-01-25 | More work on decoder and stdio bytesrc/bytesink. | Joshua Haberman | |
2011-01-24 | Decoder compiles again! But probably doesn't work. | Joshua Haberman | |
2011-01-23 | Getting closer to a decoder that could actually compile and work. | Joshua Haberman | |