md4c

C Markdown parser. Fast. SAX-like interface. Compliant to CommonMark specification.
git clone https://noulin.net/git/md4c.git
Log | Files | Refs | README | LICENSE

commit 977ca3e1d125eaa452db17e540d2d480e1708f94
parent bb66cf835acd12a445e82ce84d592181b93e6748
Author: Martin Mitas <mity@morous.org>
Date:   Thu, 13 Oct 2016 18:29:13 +0200

md_collect_marks: Make a branch to be more friendly

... to CPU branch prediction.

This seems to have 20%-effect when bechmarking with md2html (and
output redirected to /dev/null) on my machine.

Diffstat:
Mmd4c/md4c.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/md4c/md4c.c b/md4c/md4c.c @@ -969,7 +969,7 @@ md_collect_marks(MD_CTX* ctx, const MD_LINE* lines, int n_lines) } /* Turn non-trivial whitespace into single space. */ - if(ISWHITESPACE_(ch) && (ctx->r.flags & MD_FLAG_COLLAPSEWHITESPACE)) { + if((ctx->r.flags & MD_FLAG_COLLAPSEWHITESPACE) && ISWHITESPACE_(ch)) { OFF tmp = off+1; while(tmp < end && ISWHITESPACE(tmp))