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! 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. * Comment It did not work at first because sometimes I have properties without values, they then gets the empty string assigned, "". I had to adjust function org-read-prop because in my emacs (GNU Emacs 23.0.60.5): (stringp "") -> t and (string-to-number "") -> 0 (string-to-number "0") -> 0 and then at line 34 it tries to take substring out of "". Attaches diff if interested :-)