Hello everybody, we have already discussed several times that a non-negligeable performace improvement is to be had by relying less on smart pointers and constref'ing arguments everywhere. The task is time consuming and disaster-prone, so I propose we join forces. I've set up a task in savannah ( https://savannah.gnu.org/task/index.php?12916 ) where we may comment on the progress and send patches with changes as atomic as possible, i.e. such that they may be applied into the trunk after peer-review.
See for instance the first attached patch, where I constref'ed a lot of usages of string in analyze.?pp, string.?pp and elsewhere. Suggestions: 1. We work with types, instead of files: first string, then tree, etc. 2. We don't leave source files "unfinished", i.e. with some functions converted others not. Because we don't want to work on all types at the same time, "unfinished" is to be understood wrt. to a given type. 3. We don't focus on this task, just maybe complete a few files from time to time, and check / update the task in savannah, etc. 4. I don't know where changes would have greatest impact on performance, but I guess targeting basic data manipulation routines for strings and trees (next in the list) makes sense. Any ideas? 5. We may start a new branch, but conflict-hell is just around the corner. It'd be good to integrate the patches into the trunk once they've been checked instead of waiting for the whole task to be finished. I know this is not critical stuff, but it's still possible to do some progress on it from time to time. Best, -- Miguel de Benito.
_______________________________________________ Texmacs-dev mailing list Texmacs-dev@gnu.org https://lists.gnu.org/mailman/listinfo/texmacs-dev