[tw] Re: [TWC] speed up large IncludeList with SharedTiddlersPlugin

2014-04-05 Thread julien23
Yakov, Eric 

Thanks to both of you

Loading time has been cut from minutes to 8sec. That makes the whole system 
usable again.

noRefresh parametter was crucial 

Have a nice day 

Julien

Le vendredi 4 avril 2014 20:11:14 UTC+2, Yakov a écrit :

 Ah, I haven't noticed the thing that Eric has:

 пятница, 4 апреля 2014 г., 20:32:54 UTC+4 пользователь Eric Shulman 
 написал:

 On Friday, April 4, 2014 3:46:25 AM UTC-7, julien23 wrote:

 I use SharedTiddlersPlugin 2.4.0  to sync tiddlers betwen projects.
 My main contact TW is very slow to start due to its large [IncludeList]

 include ../airbank_tw/index.html filters:[tag[AirbankBlankPackage]] 
 import:4
 include ../airbank_tw/index.html filters:
 [tag[AirbankCataloguePackage]] import:4
 include ../airbank_tw/index.html filters:
 [tag[AirbankContactPackage]] import:4
 include ../airbank_tw/index.html filters:
 [tag[AirbankProspectPackage]] import:4 ... 

 Is there a way to speed up the process? Maybe be grouping lines with more 
 clever filter, but I could no find the right syntax...


 Such a usage of the macro is not optimal. Although the TW is only loaded 
 once, on the first macro call (it's the STP behaviour), this still makes 
 some extra work. The most slowing factor, as I've mentioned, should be the 
 multiple refreshing, but even if you use the noRefresh param, this syntax:

 include ../airbank_tw/index.html filters:[tag[AirbankBlankPackage]] 
 [tag[AirbankCataloguePackage]] 
 [tag[AirbankContactPackage]] [tag[AirbankProspectPackage]] import:4noParam
 

 should provide more optimal behaviour (@Eric: yes, STP does use 
 store.filterTiddlers, and in this particular case the usage of OR is 
 something excessive, but the regexp version looks nicely).

 Without usage of the noRefresh param this would increase the speed 
 significantly (again, because of less refreshing).

 Best regards,
 Yakov.
  

 SharedTiddlersPlugin probably uses the TWCore's store.filterTiddlers() 
 function to select the desired tiddlers by tag value.  If this is the case, 
 then you should be able to install:
http://www.TiddlyTools.com/#MatchTagsPlugin

 which extends the TWCore filterTiddlers() handling to enable matching 
 combinations of tag values, using *boolean* operators (AND,OR,NOT, and 
 parentheses as needed).  For example, you could write this one line:
 include ../airbank_tw/index.html filters:[tag[AirbankBlankPackage 
 OR AirbankCataloguePackage OR AirbankContactPackage OR 
 [tag[AirbankProspectPackage]] import:16
 You can even use text patterns (regular expressions) within the tag 
 values, like this:
 include ../airbank_tw/index.html filters:[tag[Airbank.*Package]] 
 import:16
 which will match tag values that start with Airbank and end with 
 Package with any other text in between.

 By using MatchTagsPlugin to combine the filters for the same file, you 
 should be able to save some overhead time: it won't re-read the same file 
 contents multiple times, and there's only one loop through the tiddlers to 
 filter them.

 Let me know if it helps...

 enjoy,
 -e
 Eric Shulman
 TiddlyTools / ELS Design Studios

 YOUR DONATIONS ARE VERY IMPORTANT!
 HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY TIP JAR...
http://TiddlyTools.github.com/fundraising.html#MakeADonation

 Professional TiddlyWiki Consulting Services...
 Analysis, Design, and Custom Solutions:
http://www.TiddlyTools.com/#Contact



-- 
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 http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.


[tw] Re: [TWC] speed up large IncludeList with SharedTiddlersPlugin

2014-04-04 Thread Yakov
Ah, I haven't noticed the thing that Eric has:

пятница, 4 апреля 2014 г., 20:32:54 UTC+4 пользователь Eric Shulman написал:

 On Friday, April 4, 2014 3:46:25 AM UTC-7, julien23 wrote:

 I use SharedTiddlersPlugin 2.4.0  to sync tiddlers betwen projects.
 My main contact TW is very slow to start due to its large [IncludeList]

 include ../airbank_tw/index.html filters:[tag[AirbankBlankPackage]] 
 import:4
 include ../airbank_tw/index.html filters:
 [tag[AirbankCataloguePackage]] import:4
 include ../airbank_tw/index.html filters:
 [tag[AirbankContactPackage]] import:4
 include ../airbank_tw/index.html filters:
 [tag[AirbankProspectPackage]] import:4 ... 

 Is there a way to speed up the process? Maybe be grouping lines with more 
 clever filter, but I could no find the right syntax...


 Such a usage of the macro is not optimal. Although the TW is only loaded 
once, on the first macro call (it's the STP behaviour), this still makes 
some extra work. The most slowing factor, as I've mentioned, should be the 
multiple refreshing, but even if you use the noRefresh param, this syntax:

include ../airbank_tw/index.html filters:[tag[AirbankBlankPackage]] 
[tag[AirbankCataloguePackage]] 
[tag[AirbankContactPackage]] [tag[AirbankProspectPackage]] import:4noParam


should provide more optimal behaviour (@Eric: yes, STP does use 
store.filterTiddlers, and in this particular case the usage of OR is 
something excessive, but the regexp version looks nicely).

Without usage of the noRefresh param this would increase the speed 
significantly (again, because of less refreshing).

Best regards,
Yakov.
 

 SharedTiddlersPlugin probably uses the TWCore's store.filterTiddlers() 
 function to select the desired tiddlers by tag value.  If this is the case, 
 then you should be able to install:
http://www.TiddlyTools.com/#MatchTagsPlugin

 which extends the TWCore filterTiddlers() handling to enable matching 
 combinations of tag values, using *boolean* operators (AND,OR,NOT, and 
 parentheses as needed).  For example, you could write this one line:
 include ../airbank_tw/index.html filters:[tag[AirbankBlankPackage OR 
 AirbankCataloguePackage OR AirbankContactPackage OR 
 [tag[AirbankProspectPackage]] import:16
 You can even use text patterns (regular expressions) within the tag 
 values, like this:
 include ../airbank_tw/index.html filters:[tag[Airbank.*Package]] 
 import:16
 which will match tag values that start with Airbank and end with 
 Package with any other text in between.

 By using MatchTagsPlugin to combine the filters for the same file, you 
 should be able to save some overhead time: it won't re-read the same file 
 contents multiple times, and there's only one loop through the tiddlers to 
 filter them.

 Let me know if it helps...

 enjoy,
 -e
 Eric Shulman
 TiddlyTools / ELS Design Studios

 YOUR DONATIONS ARE VERY IMPORTANT!
 HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY TIP JAR...
http://TiddlyTools.github.com/fundraising.html#MakeADonation

 Professional TiddlyWiki Consulting Services...
 Analysis, Design, and Custom Solutions:
http://www.TiddlyTools.com/#Contact


-- 
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 http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.