200ok-ch / org-parser

org-parser is a parser for the Org mode markup language for Emacs.
GNU Affero General Public License v3.0
320 stars 16 forks source link

feat: Introduce test benchmarking and fix `lein test` speed #39

Closed munen closed 3 years ago

munen commented 3 years ago

Closes #37

In this branch, we're transparently trying to figure out what makes the tests so slow.

munen commented 3 years ago

Running this for parser_test.cljc on master yields the following.

Or TL;DR: Every test is super slow.

#'org-parser.parser-test/drawer-end
"Elapsed time: 463.939914 msecs"
#'org-parser.parser-test/basic-terminals
"Elapsed time: 1807.045628 msecs"
#'org-parser.parser-test/timestamp
"Elapsed time: 10466.212077 msecs"
#'org-parser.parser-test/list-item-line
"Elapsed time: 4455.471576 msecs"
#'org-parser.parser-test/block-end
"Elapsed time: 410.083039 msecs"
#'org-parser.parser-test/links
"Elapsed time: 3048.377978 msecs"
#'org-parser.parser-test/text-link
"Elapsed time: 881.08908 msecs"
#'org-parser.parser-test/text
"Elapsed time: 9930.325932 msecs"
#'org-parser.parser-test/dynamic-block-end
"Elapsed time: 399.124479 msecs"
#'org-parser.parser-test/headline
"Elapsed time: 3381.062057 msecs"
#'org-parser.parser-test/tags
"Elapsed time: 1294.668909 msecs"
#'org-parser.parser-test/text-styled
"Elapsed time: 5616.6605 msecs"
#'org-parser.parser-test/footnote-line
"Elapsed time: 1300.051559 msecs"
#'org-parser.parser-test/links-external-other-url
"Elapsed time: 1675.982185 msecs"
#'org-parser.parser-test/footnote-link
"Elapsed time: 2627.172064 msecs"
#'org-parser.parser-test/drawer-semantic-block
"Elapsed time: 428.870611 msecs"
#'org-parser.parser-test/block-begin
"Elapsed time: 455.963161 msecs"
#'org-parser.parser-test/property-drawer-semantic-block
"Elapsed time: 1746.235849 msecs"
#'org-parser.parser-test/node-property
"Elapsed time: 2085.951462 msecs"
#'org-parser.parser-test/sections
"Elapsed time: 876.315616 msecs"
#'org-parser.parser-test/check-regex-syntax
"Elapsed time: 1.696223 msecs"
#'org-parser.parser-test/dynamic-block
"Elapsed time: 1329.995452 msecs"
#'org-parser.parser-test/drawer-begin
"Elapsed time: 431.185894 msecs"
#'org-parser.parser-test/tables
"Elapsed time: 1765.476524 msecs"
#'org-parser.parser-test/text-targets
"Elapsed time: 1691.6986 msecs"
#'org-parser.parser-test/text-macros
"Elapsed time: 1312.318916 msecs"
#'org-parser.parser-test/drawer
"Elapsed time: 839.534068 msecs"
#'org-parser.parser-test/text-entities
"Elapsed time: 839.641317 msecs"
#'org-parser.parser-test/literal-line
"Elapsed time: 2159.851236 msecs"
#'org-parser.parser-test/links-with-escapse
"Elapsed time: 2597.116907 msecs"
#'org-parser.parser-test/keyword
"Elapsed time: 428.705906 msecs"
#'org-parser.parser-test/word
"Elapsed time: 1289.547874 msecs"
#'org-parser.parser-test/dynamic-block-begin
"Elapsed time: 435.750063 msecs"
#'org-parser.parser-test/line
"Elapsed time: 3027.2951 msecs"
#'org-parser.parser-test/affiliated-keyword
"Elapsed time: 3028.351085 msecs"
#'org-parser.parser-test/fixed-width-area
"Elapsed time: 424.706639 msecs"
#'org-parser.parser-test/timestamp-ts-time
"Elapsed time: 2096.168372 msecs"
#'org-parser.parser-test/id-links
"Elapsed time: 873.02881 msecs"
#'org-parser.parser-test/todo
"Elapsed time: 404.213885 msecs"
#'org-parser.parser-test/blocks
"Elapsed time: 1816.611537 msecs"
#'org-parser.parser-test/comment-line
"Elapsed time: 985.274848 msecs"
#'org-parser.parser-test/links-external-file
"Elapsed time: 4608.791232 msecs"
#'org-parser.parser-test/text-subscript
"Elapsed time: 3946.034538 msecs"
branch14 commented 3 years ago

LGTM