On Monday, September 28, 2020 at 3:08:25 AM UTC-7, Eric Shulman wrote:
>
> I've tried to optimize the Calendar code as much as possible, but it's 
> doing a LOT of work to display 365 days, with date-specific filters for 
> events and tiddler changes.
>
> The worst bit of overhead is the matchevents() code, which can add as much 
> as a half-second (500msec) of processing for each month when there are lots 
> of events to filter. For a 12-month display, this turns into a 6 second 
> wait before the calendar is rendered.  It seems to be related to the use of 
> split[] and regexp[] filters, but I have not (yet) found any workarounds 
> that produce better results... but I'm still working on it.
>

PERFORMANCE UPDATE - http://TiddlyTools.com/timer.html

I've re-written matchevents() to use removeprefix[] instead of regexp[] to 
match event dates.

The result:
*a 5x speed improvement (!!) when showing a yearly calendar with lots of 
events.*

Note that, even without the regexp[] matching, it still allows the 
TiddlyTools/Time/Events list
to use "....mmdd" syntax for annual recurring events (such as birthdays and 
certain fixed-date
holidays, e.g., New Year's, Christmas, etc.).  This is handled as a special 
case, rather than
a generic "regexp" pattern match.  *Other pattern-based dates (such as the 
"Spring Break 2021"*
*example) no longer work and have been removed from the Events tiddler 
list.*

I've also added .ics event tiddlers for "US_Holidays" and "UN_Holidays", so 
the Calendar now
shows a lot more green dates, without the excessively slow rendering time.

I also updated the Events section of the Info tiddler to include 
instructions for how to import
Google Calendar .ics files, as well as a link to 
https://www.calendarlabs.com/ical-calendar/
as a source for lots of *free* .ics files

enjoy,
-e

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/1eb06cf7-1d4a-4b3f-918a-c9527c109ae1o%40googlegroups.com.

Reply via email to