- Jan 03, 2013
-
-
Alejandro R Sedeño authored
Rather than hard-code assumptions about the size of a FIXNUM, check the size of FIXNUM at compile time and generate code appropriate for the number of bits we're working with, with FIXNUM optimizations in place if appropriate. Includes some changes from swmckay@gmail.com.
-
- Nov 07, 2012
-
-
Alejandro R Sedeño authored
-
- Sep 18, 2012
-
-
Scott McKay authored
Testing : precheckin --full --strict-errors Reviewer: Fare JTB impact: No Ops impact: No Change to config : No Change to XML schema : No Change to DB schema : No Change to transport (timeouts, headers) : No Any change (or new use) of OAQs : No Change to inter-component transactions : No Depends on any other checkin / bug : No Tests that will verify: The CL-Protobufs tests Description: The unoptimized serialization code was slower than it needed to be and was a Niagara falls of consing. The problem is that (map () (curry ...)) is poorly optimized, which is a shame because it's such a nice coding style. :-P The fix is to replace 'map' with iteration (sigh) in a few critical places. - Add 'doseq', which chooses between 'dolist' or 'dovector'. - Make 'serialize-object', 'deserialize-object' and 'object-size' use 'doseq' instead of using 'map'. - Ditto for 'print-text-format'. - Fix the 'serialize-packed' and 'packed-size' optimizers to use 'dolist' or 'dovector' based on whether the field is a vector field. This makes the optimized code faster, too. - Make the optimized serializer generators pass in 'vectorp' so that the wire-format optimizers can do a better job. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/libs/cl-protobufs@562921 f8382938-511b-0410-9cdd-bb47b084005c
-
- Jun 11, 2012
-
-
François-René Rideau authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@548441 f8382938-511b-0410-9cdd-bb47b084005c
-
- Jun 05, 2012
-
-
Scott McKay authored
- Use 'defgeneric' with ':method' for things that are meant to have just a single method. - Lose some unreachable code in the parser. - Weak hash tables in SBCL need to use ':weakness :value'. - The wire-level stuff can use some more type declarations. - Fix a package problem in one of the examples. Passes 'precheckin' with the new Protobufs unit tests in place. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547515 f8382938-511b-0410-9cdd-bb47b084005c
-
- Jun 01, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547057 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@547034 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 25, 2012
-
-
Scott McKay authored
- 'reinitialize-slot' didn't quite work. - Add a geodata example that uses vectors for repeated fields, which uncovered a bug in the optimized deserializers. - Importing the geodata CLOS classes revealed a bug in default handling when the default is provided only in 'defclass'. - Fix the knock-on bug in deserialization and the optimized (de)serialization caused the above. - Add tighter types in 'decode-uint32' and 'decode-uint64'. Passes 'precheckin'. Even with the new unit tests in place. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545865 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 23, 2012
-
-
Scott McKay authored
some additions to the macrology and to the (de)serialization code. No runtime performance cost to being able to have things both ways. Fix a bug that caused unprocessed options to get dropped. Improve some of the unit tests. Passes 'precheckin'. Even with the new unit tests in place. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@545367 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 18, 2012
-
-
Scott McKay authored
- Don't generate warnings for anonymous enums, they're harmless and ubiquitous. - 'member' types where are all the members are keywords, is a symbol, which got converted to a Protobufs 'string'. Wrong. - If a field has an enum type, the (Lisp) default value should be treated as a keyword. - When parsing a .proto file or using the 'define-xxx' macros, any options that are handled specially should be trimmed from the options list so that they don't get printed twice. - Add 'remove-options' for the above. - Make the options printer be more type-aware. - Clean up examples.lisp - 'schemas-equal' can ignore the schema name/class if they're null. Passes 'precheckin'. Even with the new unit tests in place. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544737 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 16, 2012
-
-
Scott McKay authored
- 'define-proto' -> 'define-schema' - 'protobuf' (class name) -> 'protobuf-schema' - 'find-protobuf' -> 'find-schema' - 'parse-protobuf-from-file' -> 'parse-schema-from-file' - 'parse-protobuf-from-stream' -> 'parse-schema-from-file' - 'write-protobuf' -> 'write-schema' - 'write-protobuf-as' -> 'write-schema-as' - 'ensure-all-protobufs' -> 'ensure-all-protobufs' - 'ensure-protobuf' -> 'ensure-protobuf' - 'protobuf-upgradable' -> 'schema-upgradable' - 'protobufs-equal' -> 'schemas-equal' - 'generate-protobuf-schema-for-classes' -> 'generate-schema-for-classes' - 'write-protobuf-schema-for-classes' -> 'write-schema-for-classes' Update the Quake Protobufs schema generator to use the new names. The Protobufs documentation doesn't say so, but enums can be packed. - Update the wire-level protocol to (de)serialize packed enums. - Update the serialization code to use the new wire functions. Passes 'precheckin'. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544299 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
edge case problems, but it's good enough to continue the Stubby work. The critical .proto files (descriptor.proto, etc) all appear to work. More precise mapping of (mainly integer) types from .lisp to .proto files so that we can a truly exact model once we compile the .lisp file. It may not make any difference, but better safe than sorry. - Introduce Lisp type 'int32', 'int64', 'uint32', etc - Make Lisp->Protobufs recognize the new Lisp types - Make Protobufs schema printers recognize the new types Fix up the handling of imports and namespaces. - Always use truenames to record schemas - Fix typo in 'find-enum' that caused it never to search other schemas - Record the schema in *all-protobufs* at exactly the right time, and simplify 'make-load-form' methods A few tweaks to (de)serialization. - Make the bodies for empty messages not generate compiler warnings - Don't make ':packed t' be the default, the user has to say so - The user documentation doesn't say so, but booleans can be packed. Passes 'precheckin'. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@544222 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 11, 2012
-
-
Scott McKay authored
a few more bugs are showing up: - Add basic handling for namespaces - A typo in my own tests caused me to miss the fact that negative signed integers did not deserialize correctly (thanks, Shaun!) - Just dike out the rest of the Quux dependencies, since it's pretty clear non-QRes folks will be using it Passes 'precheckin'. Passes my by-hand tests. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543610 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 10, 2012
-
-
Scott McKay authored
- Looks like Stubby will need 'merge-from-array', make room for that. - Text format deserializer didn't correctly parse negative integers. - Simply 'deserialize-object' a bit - Fix a bug in the 'deserialize-object' that caused it not to work correctly on extended fields. - Fix a sloppy bug in 'make-tag' that only showed up in SBCL. - Add a few more examples, soon to be part of a test suite. Passes 'precheckin'. Passes my by-hand tests. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543418 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 09, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@543163 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 08, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542991 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 07, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542733 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
Now we can deserialize responses to BNS lookup requests! Further improve the optimized deserializer generator, gaining up to about 30% for messages with repeated fields. Further improve the wire-level encoders and decoders, gaining about 10-20% in (de)serialization performance across the board. Passes 'precheckin --full+', which makes sense since none of this is called in normal use yet. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542729 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 04, 2012
-
-
Scott McKay authored
to fully serialize a LegacyPnr aggregate. Fix 'skip-element' to ignore (deprecated) groups. Passes 'precheckin --full+', which makes sense since none of this is used in normal use yet. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542375 f8382938-511b-0410-9cdd-bb47b084005c
-
- May 02, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542011 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@542000 f8382938-511b-0410-9cdd-bb47b084005c
-
- Apr 25, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/trunk/qres/lisp/quux/protobufs@541020 f8382938-511b-0410-9cdd-bb47b084005c
-
- Apr 23, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540598 f8382938-511b-0410-9cdd-bb47b084005c
-
- Apr 19, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@540092 f8382938-511b-0410-9cdd-bb47b084005c
-
- Apr 02, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537125 f8382938-511b-0410-9cdd-bb47b084005c
-
- Apr 01, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@537059 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 29, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536623 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536613 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 27, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536294 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 26, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@536096 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 16, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534496 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 15, 2012
-
-
Scott McKay authored
fix the wire protocol to (de)serialize fixed integers with a fixed nnumber of bytes. These don't get used much, so this went unnoticed even by his test suite. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534383 f8382938-511b-0410-9cdd-bb47b084005c
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@534238 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 14, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533978 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 13, 2012
-
-
Scott McKay authored
git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@533680 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 07, 2012
-
-
Scott McKay authored
Make 'print-text-format' be a generic function. Make 'write-protobuf[-as]' specialize on a formatting type, i.e., :proto or :lisp. Add a Lisp printer, this so that the upcoming parser can read .proto files and generate .lisp files. Add lots and lots of doc strings. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@532695 f8382938-511b-0410-9cdd-bb47b084005c
-
- Mar 06, 2012
-
-
Scott McKay authored
Figure out how to open-source this later. git-svn-id: http://svn.internal.itasoftware.com/svn/ita/branches/qres/swm/borgify-1/qres/lisp/quux/protobufs@532395 f8382938-511b-0410-9cdd-bb47b084005c
-