Comments (3)
Sorry for the noise, it's caused by something in the MSYS2 environment. When run outside of it, such a slowdown doesn't occur.
from cmark.
(Reopening due the following findings. But feel free to close if you see it as irrelevant.)
I was interested in what's behind the heavy slowdown under MSYS2. Turns out there's exactly one single culprit, namely calling printf()
on this line:
Line 72 in 76cbc2d
What's even crazier, it seems that under hood the printf()
(from C:\WINDOWS\SysWOW64\msvcrt.dll
which is default target runtime lib for mingw64 toolchain) internally calls putc()
for every single character. Depending on details how the other side of the pipe (shell) reads from the stdout, it may also explain the difference between bash in MSYS2 and CMD.COM.
Replacing the printf()
with fwrite()
makes the 40+ secs down to ~1.4 sec.
from cmark.
Interesting. This seems a perfectly good reason to use fwrite
here.
from cmark.
Related Issues (20)
- Link reference definition title that should not be
- `cmark -t commonmark` makes little sense HOT 3
- libcmark uses full version number as major dylib version number HOT 3
- HTML comments do not follow the 0.30 spec
- Make `CMARK_OPT_UNSAFE` settable during runtime HOT 4
- Cannot compile with `-ftest-coverage` HOT 4
- Part of the code is under GPL2 HOT 5
- `make mingw` should forward/use CC, CXX, HOST variables if set HOT 2
- How to support a link with space? HOT 4
- Please provide working .a/.lib files HOT 1
- why does this HTML block start and end on the same line? HOT 3
- Keep copyright information in source files
- Quadratic behavior when parsing smart quotes HOT 4
- Windows compilation using MSVS does not seem to work HOT 12
- HTML declaration blocks do not follow spec 0.30 HOT 1
- api_test failure HOT 9
- [iOS] Does this SDK need a Privacy Manifest? HOT 2
- Example wrappers leak memory HOT 2
- U+FFFE and U+FFFF encoded wrongly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmark.