Mikael Fornius <[EMAIL PROTECTED]> writes: > Thanks for org-collector.el, now I have read it and tried it out. > > It is very nice to have the possibility to evaluate lisp expressions as > values, that is something missing in org-columns! >
I'm happy someone else is finding it useful! > > But it was only a few seconds faster than column-view and column dblock > and therefore not fast enough for my slow computer ;-). I timed it to 62 > seconds to insert exercise data table for one year (83 headings) with 4 > columns and no calculations. > > * ELP Profiling Results > > |---------------------------+-------+--------------+--------------| > | org-dblock-write:propview | 1 | 62.158395 | 62.158395 | > | org-propview-collect | 1 | 60.578724 | 60.578724 | > | org-map-entries | 1 | 60.519551 | 60.519551 | > | org-scan-tags | 1 | 60.267157 | 60.267157 | > | org-entry-properties | 94 | 57.451918999 | 0.6111906276 | > | org-get-tags-at | 94 | 54.069399999 | 0.5752063829 | > | org-up-heading-all | 365 | 53.664638999 | 0.1470264082 | > | outline-up-heading | 365 | 53.647627 | 0.1469798 | > | outline-previous-heading | 29751 | 39.418412999 | 0.0013249441 | > | org-outline-level | 30306 | 6.0971540000 | 0.0002011863 | > | org-split-string | 555 | 2.0629750000 | 0.0037170720 | > |---------------------------+-------+--------------+--------------| > > It is clear from above who is the time thief. > Speeding up these functions would also pay off if/when org-mode is used on more portable handheld computers. > > Attaches diff if interested :-) Thanks, I will certainly apply this to org-collector.el. In fact if you would be interested in collaborating on this tool --for speed, stability, cleaner arguments and results printing-- I could upload this to worg where we could both make changes. Best -- Eric > > *** /home/mfo/org/org-collector.el~ 2008-11-07 17:19:12.000000000 +0100 > --- /home/mfo/org/org-collector.el 2008-11-07 18:14:23.000000000 +0100 > *************** > *** 27,45 **** > Otherwise if prop looks like a list (meaning it starts with a > '(') then read it as lisp, otherwise return it unmodified as a > string." > ! (if (stringp prop) > ! (if prop > ! (let ((out (string-to-number prop))) > ! (if (equal out 0) > ! (if (or (equal "(" (substring prop 0 1)) (equal "'" (substring > prop 0 1))) > ! (read prop) > ! (if (string-match "^\\(+0\\|-0\\|0\\)$" prop) > ! 0 > ! (progn (set-text-properties 0 (length prop) nil prop) > ! prop))) > ! out)) > ! nil) > ! prop)) > > (defun org-dblock-write:propview (params) > "collect the column specification from the #+cols line > --- 27,43 ---- > Otherwise if prop looks like a list (meaning it starts with a > '(') then read it as lisp, otherwise return it unmodified as a > string." > ! (if (and (stringp prop) (not (equal prop ""))) > ! (let ((out (string-to-number prop))) > ! (if (equal out 0) > ! (if (or (equal "(" (substring prop 0 1)) (equal "'" (substring prop > 0 1))) > ! (read prop) > ! (if (string-match "^\\(+0\\|-0\\|0\\)$" prop) > ! 0 > ! (progn (set-text-properties 0 (length prop) nil prop) > ! prop))) > ! out)) > ! prop)) > > (defun org-dblock-write:propview (params) > "collect the column specification from the #+cols line > > /Mikael Fornius _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode