Has anyone tried to see if noteself with its in browser counchDB can 
perform faster with large wikis?


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 ( 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 post to this group, send email to
Visit this group at
To view this discussion on the web visit
For more options, visit

Reply via email to