Leslie P. Polzer wrote:
Alexey Voznyuk wrote:
My proposal is to not reset serialization-state before each transaction serialize step but to keep it until full snapshot is occurred. For me it seems to work correctly, but maybe I miss something?
Here's a patch I wrote and use since; it wasn't made for performance but for correctness in maintaining object references.
I intended to merge it in but haven't got around to write tests for it yet. Perhaps you'd like to do that?
Leslie
There is something wrong with this patch.
It seems it targets the old cl-prevalence release (cvs one), where serialization.lisp is not splitted yet. But it doesn't matter, I see the following problems there: - the patch seems incomplete (I didn't find where *txn-state* is defined, there are only use cases) - I didn't get what *txn-state* is for. All that it does is doubling 'known-object-id' / 'set-known-object' functions. - There are only xml serialization related fixes, nothing for sexp.
Please check my latest 20090926 cumulative patch where I only removed serialization state clearing on each transaction. There are some tests included.