Nicolas Goaziou writes: > Greg Troxel writes: > >> I timed this. With 6161 lines in 14 org-mode files (about 2175 of which >> are due to PROPERTIES/ID/END), doing a combined export took 88s of cpu >> time. emacs-23.4.1, NetBSD 6, i386, plenty of RAM, Core i5 2.9 GHz. >> In contrast, starting up emacs and generating the agenda took 0.97s. > > You may want to use ELP to instrument Org and report where most time is > spent. OK - will try to do that. >> I noticed that TODO entries got exported multiple times, apparently once >> for each inactive timestamp. (I realize I need to prepare a minimal >> example.) > > This is to be expected. Each plain timestamp defines a new VEVENT block. I guess that's an interesting question about what makes sense. Here's the actual todo entry, with just a few words redacted. I don't see why someone would want VEVENTS for this kind of history, but I suppose maybe that's what you get when you turn on events from inactive timestamps. ***** TODO [#C] order more [redacted] SCHEDULED: <2014-04-28 Mon .+4w> - State "DONE" from "TODO" [2013-11-07 Thu 10:30] - State "DONE" from "TODO" [2013-08-05 Mon 16:27] - State "DONE" from "WAITING" [2013-06-04 Tue 10:27] - State "WAITING" from "TODO" [2013-05-28 Tue 11:19] \\ ordered via [redacted] - State "DONE" from "TODO" [2013-03-25 Mon 23:16] laura did - State "DONE" from "WAITING" [2013-01-08 Tue 11:49] - State "WAITING" from "TODO" [2012-12-18 Tue 20:41] \\ ordered - State "TODO" from "WAITING" [2012-09-20 Thu 13:05] - State "WAITING" from "TODO" [2012-09-13 Thu 10:01] \\ ordered - State "DONE" from "TODO" [2012-07-12 Thu 10:39] - State "DONE" from "TODO" [2012-06-04 Mon 14:22] - State "DONE" from "TODO" [2012-03-27 Tue 08:54] - State "DONE" from "TODO" [2011-10-01 Sat 08:10] :PROPERTIES: :ID: b617c8e4-c8f2-11e0-8735-000476353fb4 :LAST_REPEAT: [2013-11-07 Thu 10:30] :END: > By default, it shouldn't do this for inactive timestamps, though. See > `org-icalendar-with-timestamps'. I didn't try to turn this on. My icalendar-relevant settings are (setq org-icalendar-alarm-time 10) (setq org-icalendar-use-scheduled nil) (setq org-icalendar-use-deadline nil) I am trying to get ics entries only for headlines with active timestamps. >> Thanks for the comments; I see the point that this is hard.. For now, >> I've just turned off uid storing, because I don't sync the exported >> calendar, and I'll nuke the ID entries and properties drawers at some >> point; I find them distracting when editing. > > Note that UID storing is off by default. Yes - I had it turned on intentionally from long ago. >> I wonder if there's some way to go back and store the UID when it >> actually needs to be generated, so that UIDs are only stored for entries >> that actually have been exported. > > This is not really possible without some sacrifices (which Bastien may > or may not want to do). See other messages in this thread. I did see them, but I guess I just don't understand enough for this to make sense. That's ok - please don't try harder to explain to me :-) > Also, since you don't need UID anyway, why is that a problem anymore? > I'm a bit confused here. It's not a problem for me any more. It just seems really unfortunate for others in the general case to have extra content in every headline when it isn't necessary.