John, > I tried this but it did not work for me.
to be clear, caching means that the *first* time you execute, your reference will have to wait for the long-running computation to complete, but not during subsequent executions (unless the source block that performs the execution changes, in which case the reference will again have to wait). also, caching means that, after the first execution (ditto caveat) the source block *will no longer run*. so, if there were any (other) side effects of running that source block, they will not happen. (you could possibly split the side effect-producing code out of that block.) i'm not sure if this explains what did not work for you. cheers, Greg > > > On Wed, Jan 27, 2021 at 5:38 PM <to...@tuxteam.de> wrote: > > > On Wed, Jan 27, 2021 at 05:14:43PM -0500, doltes wrote: > > > Get =#+RESULTS= without re-evaluating source code block? > > > > > > Let's suppose I have a code block which requires a long time to finish > > > > > > #+NAME: big-computation > > > #+begin_src bash > > > sleep 5 # Some computation which requires a long time to complete. > > > echo a > > > #+end_src > > > > > > #+RESULTS: big-computation > > > #+begin_example > > > a > > > #+end_example > > > > > > I want to use the results of that code block in other code blocks so I > > > use a =noweb= reference (see below.) > > > > > > #+begin_src bash :noweb yes > > > printf "%s\n" <<big-computation()>> > > > #+end_src > > > > > > #+RESULTS: > > > #+begin_example > > > a > > > > > > #+end_example > > > > > > However, doing this (i.e. using a =noweb= reference) would make the > > > command to be evaluated whenever getting its results. I don't want > > > this, I want the =:noweb= reference to actually use the already > > > computed results. > > > > > > So, my question is: Is it possible to use the actual =#+RESULTS= code > > > block instead of always evaluating it when referencing the results > > > through a =:noweb= reference? > > > > Perhaps "Cache results of evaluation" (15.5 Evaluating Code Blocks, > > in the Interwebs here [1] is for you. > > > > In short, add a header argument :cache yes to your code block. > > > > Cheers > > > > [1] https://orgmode.org/org.html#Evaluating-Code-Blocks > > > > - t > > > -- > John > > ----------------------------------- > Professor John Kitchin > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu