Lydia_Pintscher added a subscriber: Lydia_Pintscher. Lydia_Pintscher added a comment.
Notes from story time: Collecting options and wild ideas: - Profile, find hotspots, try to improve the existing architecture in small but relevant steps. - Have specialized deserializers generating specialized model objects. - Deferred deserialization. At some level stop deserialization, remember the fragment of the array (typically: all statements, e.g. all aliases) and the relevant deserializers, continue when asked for the deserialized value. Lua needs to be adapted to make use of this. Currently a lot of code assumes it has a fully deserialized entity *OR* code just works on a JSON blob. Special case: Terms (labels, descriptions, aliases) are objects. Hundreds of thousands of them. Having a simpler interface that just returns arrays of strings will save a lot. - Just do not deserialize. Pass the JSON blob (or intermediate array structure) around. Most relevant point is where an entity is passed to Lua. Note: Lua is not CPU critical, but memory critical! E.g. when editing a label, statements *NEVER* need to be deserialized! The case where “Germany” needed super-protection (no Lua involved) will probably also become relevant again. (NOTE) Team decision: Profiling. Then avoid unserialization where not needed. TASK DETAIL https://phabricator.wikimedia.org/T90706 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: Lydia_Pintscher Cc: Lydia_Pintscher, Aklapper, daniel, Wikidata-bugs, aude, GWicke _______________________________________________ Wikidata-bugs mailing list Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs