From the texexec man page:
--fast Typeset the document(s) as fast as possible without causing problems. --final Perform a final run without skipping anything. This option is typically used with --fast. So --fast --final could be the pair of switches to add. But I tried an experiment with mediocre results, using this test file: ====================== q.tex ================= \doifnotmode{*last}{\pdfdraftmode=1} \starttext \completecontent \chapter{A} \dorecurse{500}{\input tufte\par} \chapter{B} \dorecurse{400}{\input tufte\par} \chapter{C} \dorecurse{100}{\input tufte\par} \stoptext ============================================ I ran it with the attached Makefile, which produced this output: ctxtools --purge --all > /dev/null rm -f q.pdf texexec --verbose --fast --final q.tex > run.log Total runs : 4 (counted by grepping run.log for running: pdfetex) Draftmode runs: 3 (counted by grepping run.log for pdfdraftmode) TeXExec | runtime: 7.987485 Then I commented out the first line and reran it: ctxtools --purge --all > /dev/null rm -f q.pdf texexec --verbose --fast --final q.tex > run.log Total runs : 4 Draftmode runs: 0 (just to check) TeXExec | runtime: 8.307869 So the draftmode saves 4% in the runtime. But the fastest is to not use the draftmode and not use --final (which causes an extra run). Maybe I missing a trick, but the draftmode didn't save much time. I guess I should make the test file read in a few huge images? -Sanjoy .PHONY: runit clean runit: clean texexec --verbose --fast --final q.tex > run.log @echo -n "Total runs : " ; grep "running: pdfetex" run.log | wc -l @echo -n "Draftmode runs: " ; grep "pdfdraftmode enabled" run.log | wc -l @grep runtime: run.log clean: ctxtools --purge --all > /dev/null rm -f q.pdf