diff --git a/bin/fproc_cache.rc b/bin/fproc_cache.rc new file mode 100755 index 0000000..5a3b0eb --- /dev/null +++ b/bin/fproc_cache.rc @@ -0,0 +1,18 @@ +#!/usr/bin/env rc +#. 9.rc # Not really needed when calling from werc, only would be needed if you use fproc_cache.rc standalone + +proc=$1 + +tmpfile=/tmp/fmttmp.$pid +score=`{{tee $tmpfile || exit 1} | sha1sum} + +cachedir=/tmp/fproc_cache/$score +mkdir -p $cachedir >[2]/dev/null + +if(test -f $cachedir/$proc) + cat $cachedir/$proc +if not { + $proc < $tmpfile | tee $cachedir/$pid + mv $cachedir/$pid $cachedir/$proc +} +rm $tmpfile >[2]/dev/null diff --git a/bin/md_cache.rc b/bin/md_cache.rc deleted file mode 100755 index 4f327d2..0000000 --- a/bin/md_cache.rc +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env rc -. 9.rc - -cachedir=/tmp/md_cache -mkdir -p $cachedir >[2]/dev/null - -tmpfile=$cachedir/mdtmp.$pid -score=`{{tee $tmpfile || exit 1} | sha1sum} -cachefile=$cachedir/$score - -if(test -f $cachefile) - cat $cachefile -if not { - markdown.pl < $tmpfile | tee $cachefile.$pid - mv $cachefile.$pid $cachefile -} -rm $tmpfile >[2]/dev/null diff --git a/bin/werc.rc b/bin/werc.rc index c427055..34179bf 100755 --- a/bin/werc.rc +++ b/bin/werc.rc @@ -30,6 +30,8 @@ fn hide_paths { } # Sidebar +# PERF: menu takes ~30% of werc's runtime, even for top level pages. +# Maybe a combination of du -a/find|sort could let us avoid the recursive awk calls... fn menu { ls -F $1 | sed $dirfilter | awk -F/ ' BEGIN { print "