#+TITLE: Emacs Benchmarks #+OPTIONS: toc:2 num:2 author:nil #+LATEX_HEADER: \usepackage[margin=0.5in]{geometry} * Benchmark results ** Custom Themes =lisp/cus-theme-tasks.el= *** cus-theme-tasks-load-tango Load the tango theme. #+BEGIN_SRC gnuplot :var data=cus-theme-tasks-load-tango-1.0() :file plots/cus-theme-tasks-load-tango-1.0.png :noweb yesreset set terminal png size 800, 600 set title "cus-theme-tasks-load-tango" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.003452230265000001] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for cus-theme-tasks-load-tango-1.0 :noexport: #+NAME: cus-theme-tasks-load-tango-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.0021430170333333336) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0022962552999999998) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0021830009666666673) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.002482565333333333) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0025596994) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.002526405933333334) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.002774463566666667) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.0028888464666666667) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0031383911500000006)) #+END_SRC ** Byte Compilation =lisp/emacs-lisp/bytecomp-tasks.el= *** bytecomp-tasks-compile-doc Byte compile a function. #+BEGIN_SRC gnuplot :var data=bytecomp-tasks-compile-doc-1.0() :file plots/bytecomp-tasks-compile-doc-1.0.png :noweb yesreset set terminal png size 800, 600 set title "bytecomp-tasks-compile-doc" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.0026953711399999997] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for bytecomp-tasks-compile-doc-1.0 :noexport: #+NAME: bytecomp-tasks-compile-doc-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.0014085693666666668) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0014425310000000002) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0014799697333333331) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0019974256000000004) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0020345819333333335) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.0020481948999999996) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.0019689730333333332) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.001975632566666667) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0024503373999999996)) #+END_SRC ** Enhanced Keyboard Macros =lisp/kmacro-tasks.el= *** kmacro-tasks-edit-lines Edit lines of text using a keyboard macro. #+BEGIN_SRC gnuplot :var data=kmacro-tasks-edit-lines-1.0() :file plots/kmacro-tasks-edit-lines-1.0.png :noweb yesreset set terminal png size 800, 600 set title "kmacro-tasks-edit-lines" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.004164748775] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for kmacro-tasks-edit-lines-1.0 :noexport: #+NAME: kmacro-tasks-edit-lines-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.0031633584333333334) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0032088737000000003) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0031356906333333333) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0031409135666666662) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0031141107333333335) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.0031232734000000003) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.003379109366666667) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.0032031665999999997) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0037861352500000002)) #+END_SRC ** Fill Commands =lisp/textmodes/fill-tasks.el= *** fill-tasks-fill-paragraph Create a long single line paragraph and use fill-paragraph. #+BEGIN_SRC gnuplot :var data=fill-tasks-fill-paragraph-1.0() :file plots/fill-tasks-fill-paragraph-1.0.png :noweb yesreset set terminal png size 800, 600 set title "fill-tasks-fill-paragraph" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.0021485162599999994] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for fill-tasks-fill-paragraph-1.0 :noexport: #+NAME: fill-tasks-fill-paragraph-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.0016103219333333334) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0015916505999999996) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0016998693666666663) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0017253751666666667) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0016796258333333332) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.0017355549333333332) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.0016574472666666669) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.0016994107333333332) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0019531965999999993)) #+END_SRC ** Simple Editing Commands =src/cmds-tasks.el= *** cmds-tasks-forward-line Use forward-line to navigate through a buffer. #+BEGIN_SRC gnuplot :var data=cmds-tasks-forward-line-1.0() :file plots/cmds-tasks-forward-line-1.0.png :noweb yesreset set terminal png size 800, 600 set title "cmds-tasks-forward-line" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.002669931146666667] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for cmds-tasks-forward-line-1.0 :noexport: #+NAME: cmds-tasks-forward-line-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.002290958133333333) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0024272101333333335) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0022335262666666666) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0022870859) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.002244811133333333) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.002371730899999999) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.0021013971) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.0022137415666666663) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0023198416499999996)) #+END_SRC ** Primitive Operations on Lisp Data Types =src/data-tasks.el= *** data-tasks-prime-p Verify that a large prime number is prime. #+BEGIN_SRC gnuplot :var data=data-tasks-prime-p-1.0() :file plots/data-tasks-prime-p-1.0.png :noweb yesreset set terminal png size 800, 600 set title "data-tasks-prime-p" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.003587532355] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for data-tasks-prime-p-1.0 :noexport: #+NAME: data-tasks-prime-p-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.003044770766666666) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0028769088333333334) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.002816468666666667) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0028207245333333342) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0027013283000000003) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.002730308333333333) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.0030692047000000005) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.0032145395666666673) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.00326139305)) #+END_SRC ** Emacs Startup and Shutdown =src/emacs-tasks.el= *** emacs-tasks-startup Start up and shut down Emacs. #+BEGIN_SRC gnuplot :var data=emacs-tasks-startup-1.0() :file plots/emacs-tasks-startup-1.0.png :noweb yesreset set terminal png size 800, 600 set title "emacs-tasks-startup" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.10571710112333335] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for emacs-tasks-startup-1.0 :noexport: #+NAME: emacs-tasks-startup-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.08497184696666667) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0853800205) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0874049044) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.09610645556666668) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.07799585656666667) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.07763947026666666) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.07827372816666665) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.07896257613333332) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.08181464855000001)) #+END_SRC ** Syntax Tables =src/syntax-tasks.el= *** syntax-tasks-backward-word Use ‘forward-word’ to navigate backwards through a buffer. #+BEGIN_SRC gnuplot :var data=syntax-tasks-backward-word-1.0() :file plots/syntax-tasks-backward-word-1.0.png :noweb yesreset set terminal png size 800, 600 set title "syntax-tasks-backward-word" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.00436608931] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for syntax-tasks-backward-word-1.0 :noexport: #+NAME: syntax-tasks-backward-word-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.003393012233333333) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.003425965433333333) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0035167778999999986) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0035477279999999996) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0033622731333333333) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.0033781541666666665) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.003293653366666666) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.003221600399999999) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0039691721)) #+END_SRC *** syntax-tasks-forward-word Use ‘forward-word’ to navigate through a buffer. #+BEGIN_SRC gnuplot :var data=syntax-tasks-forward-word-1.0() :file plots/syntax-tasks-forward-word-1.0.png :noweb yesreset set terminal png size 800, 600 set title "syntax-tasks-forward-word" set xlabel "Commit" set xrange [1459356037:1542976351] <> set ylabel "Run time (seconds)" set yrange [0:0.004305837690000001] set key right bottom plot data u 2:3 w lp lw 2 title 'sockeye' #+END_SRC *** Measurements for syntax-tasks-forward-word-1.0 :noexport: #+NAME: syntax-tasks-forward-word-1.0 #+BEGIN_SRC emacs-lisp '(("09462b95484ebf75899c64e8ddb7ffce50ef6ca0" 1459356037 0.0034616826333333335) ("33f856ba01d13f649cf5c848b322ecb0dbfc02fc" 1474022875 0.0034043496) ("d4a97088f69eb5729261ee4581cfb7d60c673ebd" 1484271619 0.0034625005666666666) ("d1da8e534db54bb82b6f2b16bba86a6d202ac675" 1504966847 0.0036520705) ("0676633e8fd842554e91d0756115fa2d6b7cf69c" 1518488627 0.0033964009333333333) ("e18600dfbd31316f30cf98f6d7a90aad33bc1981" 1527019548 0.003364131566666667) ("bd013a448b152a84cff9b18292d8272faf265447" 1539100642 0.0033124766333333332) ("5b218be0c362316384f5c9ef57a3bef02f742e94" 1541077242 0.0032527114666666664) ("75b18e07e57da7ee4362db800352d6650f5f7290" 1542976351 0.0039143979)) #+END_SRC * Benchmark machine information ** sockeye *** Configuration Arguments used to invoke Emacs: =-Q --batch= *** System information #+OPTIONS: ^:nil #+BEGIN_SRC emacs-lisp :results value table :exports results '(("OS" "NixOS 18.09.git.7bac6c1 (Jellyfish) x86_64 ") ("Kernel" "4.14.83 ") ("CPU" "Intel i5-7200U (4) @ 3.100GHz ") ("GPU" "Intel HD Graphics 620 ") ("Memory" "7869MiB") ("WM" "stumpwm ") ("DE" "none+stumpwm ") ("Resolution" "1920x1080 ") ("Shell" "bash 4.4.23 ")) #+END_SRC System information last updated: 2018-11-24 Sat 12:52 * Xtics :noexport: #+BEGIN_SRC gnuplot :export none set xtics rotate by -45 \ ("emacs-26.1" 1527266287, \ "emacs-25.3" 1505243110, \ "emacs-25.2" 1492702151, \ "emacs-25.1" 1473975009, \ "emacs-24.5" 1428344408, \ "emacs-24.4" 1413832875, \ "emacs-24.3" 1362969323, \ "emacs-24.2" 1345802019, \ "emacs-24.1" 1339314106, \ "emacs-23.4" 1327469705, \ "emacs-23.3" 1299528353, \ "emacs-23.2" 1273289306, \ "emacs-23.1" 1248916455, \ "emacs-22.3" 1220631826, \ "emacs-22.2" 1206539448, \ "emacs-22.1" 1180782708, \ "emacs-21.3" 1048000793, \ "emacs-21.2" 1016280953, \ "emacs-21.1" 1003594590, \ "emacs-20.4" 931968057, \ "emacs-20.3" 903548661, \ "emacs-20.2" 874730909, \ "emacs-20.1" 874478501) #+END_SRC