Set vs Wikify performance

102 views
Skip to first unread message

bimlas

unread,
Dec 17, 2018, 2:07:02 PM12/17/18
to TiddlyWiki
Based on a test measure, it seems that Wikify seems faster than Set.

https://bimlas.gitlab.io/demo/tw5/set-vs-wikify-performance.html

This is surprising because, in principle, Set stores the output so it does not have to perform the query again (as Wikify does). How can Wikify be faster than Set?

Mark S.

unread,
Dec 17, 2018, 2:31:24 PM12/17/18
to TiddlyWiki
On mine, the Set did slightly better than Wikify. Consider refreshing the browser between tests. I think the browser caches stuff in its memory which may impact performance.

Why are there list widgets inside of the Wikify and Set widgets? It seems to me that they may impact the performance more than the Wikify/Set widgets.

Thanks!
-- Mark

Jeremy Ruston

unread,
Dec 17, 2018, 2:35:33 PM12/17/18
to tiddl...@googlegroups.com
Hi Bimlas

I think the tests should be structured so that the set widget vs. wikify widget are within the list widget, so that we'd be testing a few hundred iterations. Here we're only testing a single instance of each construction.

The main refresh time is the important timing; the “+filter” part printed immediately afterwards is just the component of the refresh time that was spent evaluating filters. Here we’re comparing the performance of widgets, not filters.

Best wishes

Jeremy.

-- 
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+...@googlegroups.com.
To post to this group, send email to tiddl...@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/c705f0b6-688b-4526-9021-6b29e9741f17%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

bimlas

unread,
Dec 17, 2018, 3:53:40 PM12/17/18
to TiddlyWiki
@Mark:

The log also contains other measurements, but I do not know exactly what they measure. Anyway, even after refresh, Set seems slower on my machine (in Vivaldi, a Chromium based browser).

Opening wikify example:

performance: styleRefresh: 6.60ms
performance: +filter: 1.20ms
performance: mainRefresh: 1169.70ms
performance: +filter: 143.90ms

Opening set example:

performance: styleRefresh: 6.70ms
performance: +filter: 1.20ms
performance: mainRefresh: 1214.80ms
performance: +filter: 195.90ms

@Mark, @Jeremy:

The List widgets are designed to imitate the use of the output of the filter (the tiddler list itlsef). If all the codes are the same, Set performs the same tasks as Wikify, then why is the final result different? I wanted to test out how much time I would get the same output if I wanted to re-use it (like a cache).

Updated the examples, please have a look at it again.

Mark S.

unread,
Dec 17, 2018, 5:53:59 PM12/17/18
to TiddlyWiki
Performing the test with the list in the middle muddies the waters. Removing the list from the middle of the #2 and then reloading each time, I would get times like:

Wiki 218,188,192
Set 296,228,285

Linux,FF 64

There's a lot of variation in both numbers. The Set numbers do seem 10-30 % slower, but to get significant results I'd probably want to test it in a freshly booted operating system with only the browser and one tab operating.

-- Mark
Reply all
Reply to author
Forward
0 new messages