Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-08-19 | Benchmark to parse into proto2 messages. | Joshua Haberman | |
2011-08-17 | x86 JIT: add callback specializations for a 10% speedup when parsing to struct. | Joshua Haberman | |
2011-08-17 | Benchmark JIT vs no JIT without forcing a whole-project recompile. | Joshua Haberman | |
2011-08-12 | Python: fleshed out accessors. | Joshua Haberman | |
2011-08-12 | Python: basic SymbolTable support and empty accessors. | Joshua Haberman | |
2011-08-11 | Python: fixed object cache and fleshed out MessageDef a bit. | Joshua Haberman | |
2011-08-10 | Fixed overzealous assert(). | Joshua Haberman | |
2011-08-10 | Fixed a few memory leaks and Makefile tweaks. | Joshua Haberman | |
2011-08-10 | Fixed off-by-one stack allocation error. | Joshua Haberman | |
2011-08-10 | Python: Implemented weak-ref'd object cache. | Joshua Haberman | |
Also some preliminary work on upb.MessageDef. | |||
2011-08-09 | Makefile target for running Python tests. | Joshua Haberman | |
2011-08-09 | More Python upb.FieldDef functionality and tests. | Joshua Haberman | |
2011-08-08 | Begin port of Python extension to new APIs. | Joshua Haberman | |
2011-08-04 | More work on Lua extension, and consequent core refactoring. | Joshua Haberman | |
2011-07-31 | More work on Lua extension. | Joshua Haberman | |
2011-07-31 | Fixed "make descriptorgen". | Joshua Haberman | |
2011-07-29 | Significant work on Lua extension. | Joshua Haberman | |
Also changes in core library to accommodate. | |||
2011-07-19 | Added comment about how to disassemble JIT output. | Joshua Haberman | |
2011-07-16 | Get rid of upb_symtabtxn. | Joshua Haberman | |
This type was nothing but a map of defs. We can as easily just pass an array of defs into upb_symtab_add(). | |||
2011-07-15 | Make Lua extension build again. | Joshua Haberman | |
2011-07-15 | Directory restructure. | Joshua Haberman | |
Includes are now via upb/foo.h. Files specific to the protobuf format are now in upb/pb (the core library is concerned with message definitions, handlers, and byte streams, but knows nothing about any particular serializationf format). | |||
2011-07-14 | Major refactoring: upb_string is gone in favor of upb_strref. | Joshua Haberman | |
2011-06-17 | Major refactoring: abandon upb_msg, add upb_accessors. | Joshua Haberman | |
Next on the chopping block is upb_string. | |||
2011-05-21 | Make all handlers objects refcounted. | Joshua Haberman | |
I'm realizing that basically all upb objects will need to be refcounted to be sharable across languages, but *not* messages which are on their way out so we can get out of the business of data representations. Things which must be refcounted: - encoders, decoders - handlers objects - defs | |||
2011-05-21 | Add proof-of-concept C++ wrapper header. | Joshua Haberman | |
2011-05-20 | Add startseq/endseq handlers. | Joshua Haberman | |
Startseq/endseq handlers are called at the beginning and end of a sequence of repeated values. Protobuf does not really have direct support for this (repeated primitive fields do not delimit "begin" and "end" of the sequence) but we can infer them from the bytestream. The benefit of supporting them explicitly is that they get their own stack frame and closure, so we can avoid having to find the array's address over and over and deciding if we need to initialize it. This will also pave the way for better support of JSON, which does have explicit "startseq/endseq" markers: []. | |||
2011-05-20 | JIT: factor out push/pop frame into macros. | Josh Haberman | |
2011-05-19 | Change dispatcher error handling model. | Joshua Haberman | |
Now the dispatcher will call error handlers instaed of returning statuses that the caller has to constantly check. | |||
2011-05-10 | Fix JIT for new interface. | Joshua Haberman | |
2011-05-10 | Fix aliasing violation. | Joshua Haberman | |
2011-05-10 | Vastly improved/simplified the upb_handlers API. | Joshua Haberman | |
2011-05-08 | More renaming. | Joshua Haberman | |
2011-05-08 | Documentation, some type renaming, nix unknown handler for now. | Joshua Haberman | |
2011-05-08 | Split upb_stream -> upb_bytestream/upb_handlers. | Joshua Haberman | |
2011-05-08 | Decoder redesign in preparation for packed fields and start/endseq. | Joshua Haberman | |
2011-05-06 | Refactor varint encoding/decoding. | Joshua Haberman | |
2011-04-25 | Revise/clarify comment about clear() implementation. | Joshua Haberman | |
2011-04-15 | Calculate and print string sizes in test messages. | Joshua Haberman | |
2011-04-15 | Merge branch 'master' of git@github.com:haberman/upb | Joshua Haberman | |
2011-04-14 | Fix GDB JIT registration on Linux. | Joshua Haberman | |
2011-04-08 | Small change to make Lua extension compile again. | Joshua Haberman | |
2011-04-06 | JIT now works on OS X! | Joshua Haberman | |
Had to fix the case where the jump table was allocated in a >4GB address. | |||
2011-04-06 | Disable GDB JIT interface on OS X. | Josh Haberman | |
OS X doesn't use ELF, so our little trick doesn't work there. | |||
2011-04-05 | Update README and fix small decoder issue. | Joshua Haberman | |
2011-04-04 | Speed up parsetostruct by using type-specialized callbacks. | Joshua Haberman | |
2011-04-02 | JIT passes all tests! | Joshua Haberman | |
2011-04-01 | Whoops, add src/jit_debug_elf_file.s | Joshua Haberman | |
2011-04-01 | First rough version of the JIT. | Joshua Haberman | |
It can successfully parse SpeedMessage1. Preliminary results: 750MB/s on Core2 2.4GHz. This number is 2.5x proto2. This isn't apples-to-apples, because proto2 is parsing to a struct and we are just doing stream parsing, but for apps that are currently using proto2, this is the improvement they would see if they could move to stream-based processing. Unfortunately perf-regression-test.py is broken, and I'm not 100% sure why. It would be nice to fix it first (to ensure that there are no performance regressions for the table-based decoder) but I'm really impatient to get the JIT checked in. | |||
2011-03-28 | Switch to non-branching varint decoder. | Joshua Haberman | |
2011-03-26 | Small semantics changes in the decoder. | Josh Haberman | |
Simplified some of the semantics around the decoder's data structures, in anticipation of sharing them between the regular C decoder and a JIT-ted decoder. |