All,
On the performance with large numbers of tiddler, I have visited this issue quite a few times. In one case we had 70,000 tiddlers and this was made workable with a few tweaks. Throughout the google forums are a number of discussions on performance.
The key, as always is, how much work are you asking tiddlywiki or your computer to do for you?
Because tiddlywiki does a lot for you, to keep every visible tiddler, tab and list instantaneously up to date out of the box, tiddlywiki is doing a lot of work. When you start to push things there are simple ways to minimise your demands on tiddlywiki, like only a few tiddlers open or close the sidebar.
Where are you running your tiddlywiki from? Your SSD, local node or a distant server?
Then finally how many resources does your tiddlywiki have available to do its job?, this one contains a little counter intuitive knowledge to understand. Consider where tiddlywiki is;
- TiddlyWiki Runs in a tab/window of your browser
- Your browser runs in your operating system
- Your Operating system runs on your device
Traditionally the Browser was your “universal window” to internet resources, otherwise we would run local applications on our local computer. In this case there was unlimited potential for the browser to consume too many resources and slow our local applications. Most if not all browsers as a result like to boast how little memory they use on your local machine and in fact they limit themselves so they are not a liability for the running of local apps.
But now these internet resources are now fully functional apps such as tiddlywiki, that is our applications also run in the “universal client”, the browser. I for one, use local apps less and less every day, instead crafting solutions and applications “on demand” in tiddlywiki, in fact I have a number of tiddlywikis that evolve as the need arises for a feature, from which I capture reusable code. When I want to “spin up an app” I mostly “spin up a tiddlywiki” and drop reusable code, including plugins on it.
Because I discovered the browsers were limiting their own memory consumption to around 2GB of RAM on my 16GB machine (an eighth), some time ago, so I do not remember how I found the details, I raised the memory that both firefox and Chrome can acquire from the local machine, I doubled it to 4Gb each, leaving 8Gb for everything else.
Hardware, browser and OS updates may have reset this but since I am not running into any performance issues I have not revisited it for a while. My point however, is there is plenty of headroom available for tiddlywiki performance improvements. Another trick is to use more than one computer, like running a node server elsewhere and “only browsing to it”, skinny tiddlers and soon the File Uploads Plugin. Then all this is without even splitting tiddlywikis into more than one along logical lines, such as building project wikis rather than multiple projects in one wiki, and there are heaps of inter wiki integrations available.
I hope this “prose” gives you a feel for the capabilities of tiddlywiki, I would also invite anyone using all the available performance tweaks mentioned herein, to find an application of tiddlywiki which has performance issues and share with the community so we can identify even more ways to improve performance. The only caveat is that you apply standard design techniques, like don’t set up a single file wiki with many gigabytes of data, in other applications you would move this into a database, tiddlywiki is not immune from the limitations of any software or app, but it is more flexible than most.
Tones