Josiah/Jed, Has anyone tried to see if noteself with its in browser counchDB can perform faster with large wikis?
Tony On Saturday, April 7, 2018 at 7:48:55 PM UTC+10, Jed Carty wrote: > > Looking through my things, despite using the Object.keys().forEach > structure many times there is only one time I have found that may lead to > any sort of performance improvement. Most of the uses are over a very small > list (only one or two items generally) and only happen rarely (like when a > tiddler is saved). It is the same with using delete. It is used to remove > entries about tiddlers when they are deleted, which happens relatively > rarely and is in a context where the alternative (setting the value to > undefined instead of deleting it) isn't a viable solution because it would > cause more noticeable problems elsewhere. Checking to see if a property is > listed is quicker than checking to make sure that the property is listed > with a value other than undefined, and checking for the existence of a > tiddler happens much more often than deleting a tiddler. > > I always get excited when I see things like this that sound like they can > give a big performance boost but almost every time it turns out to be > optimisations that would just be lost in the other processing. Even if > there is a 99% performance increase in the parts that are affected by these > (the object.keys loops and delete) I don't think that the overall > performance of the wiki would be noticeably changed, neither one is > directly related to the changes in performance as the number of tiddlers in > a wiki increases. > > I think to fix the problem of scalability we probably need to look at a > plugin that moves the tiddler store into an in-browser database and do > filtering based on queries to that instead of having everything held in > memory as a json object. But there is almost certainly going to be a > trade-off there, for normal use where a big wiki has a few hundred tiddlers > than adding on a database engine would probably make the wiki slower. I > have been considering trying to use TaffyDB (http://taffydb.com) with > tiddlywiki but I haven't had a chance to try it out yet and I have no idea > if it would actually help at all. Another option is to use an in-browser > sqlite database and maybe web workers. > > I suspect that using a database this way may require a re-write of all the > existing filter operators. I am not sure, this is all speculation. > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To post to this group, send email to email@example.com. Visit this group at https://groups.google.com/group/tiddlywiki. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/555ee799-047f-4d42-b887-381910ae9fcc%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.