Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2011-01-23 | Decoder code structure is mostly in-place. | Joshua Haberman | |
2011-01-22 | Begin porting old decoder to new interfaces. | Joshua Haberman | |
Doesn't build yet. | |||
2011-01-22 | Added test_stream.c for testing upb_stream.h. | Joshua Haberman | |
2011-01-22 | upb bootstraps again! and with no memory leaks! | Joshua Haberman | |
2011-01-21 | Debugging test_def, it's close to working again! | Joshua Haberman | |
2011-01-21 | Interface refinement: rename some constants. | Joshua Haberman | |
* UPB_STOP -> UPB_BREAK, better represents breaking out of a parsing loop. * UPB_STATUS_OK -> UPB_OK, for all status codes, more concise at no readability cost (perhaps an improvement). | |||
2011-01-18 | A few minor changes to the streaming protocol. | Joshua Haberman | |
1. the start and end callbacks can now return a upb_flow_t and set a status message. 2. clarified some semantics around passing an error status back from the callbacks. |