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 tiddlywiki@googlegroups.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.

Reply via email to