TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ninja, a small build system with a focus on speed

36 点作者 vgnet大约 13 年前

8 条评论

julian37大约 13 年前
<i>Ninja is mostly encoding agnostic, as long as the bytes Ninja cares about (like slashes in paths) are ASCII. This means e.g. UTF-8 or ISO-8859-1 input files ought to work.</i><p>I was going to say that this is brittle because UTF-8 multi-byte sequences might contain bytes such as 0x2F (forward slash) without actually encoding a slash... but it turns out that's wrong. All bytes in multi-byte sequences always have the high bit set, so you <i>can</i> look for ASCII-7 characters in UTF-8 strings without having to worry about getting false positives. That's a very useful property of UTF-8 I wasn't (consciously) aware of before.<p><a href="http://en.wikipedia.org/wiki/UTF-8#Description" rel="nofollow">http://en.wikipedia.org/wiki/UTF-8#Description</a>
评论 #3896613 未加载
评论 #3896752 未加载
ajross大约 13 年前
Bravo! Granted, it's <i>yet another make replacement the world really doesn't need</i>. But that said, and unlike all the other attemps, this actually seems to be better than make.<p>Almost always, these things are junk (Ant, I'm looking at you) which at best implement a subset of make's features in a "pure" way (and thus look good to people who don't understand make but like Java-or-whatever).<p>This one actually seems to understand what make needs (cleaner variable semantics, multiple outputs for a target) and what parts need to be tossed (all the default rules).<p>I'm impressed. But I still won't likely use it. The world doesn't need it.
评论 #3896422 未加载
评论 #3896622 未加载
评论 #3896724 未加载
评论 #3896019 未加载
beagle3大约 13 年前
Anyone has an idea of how this compares to apenwarr's implementation of djb's "redo" concept?<p>Compared to make, redo is extremely simple, yet more versatile, more robust - and potentially very efficient. djb only released the spec (not working code). apenwarr implemented it in Python, which means it's a lot slower than it could be (which you'd mostly feel on nop builds).
评论 #3896667 未加载
Meai大约 13 年前
I use tup: <a href="http://gittup.org/tup/" rel="nofollow">http://gittup.org/tup/</a> but I'd like to hear from the author of Ninja what his opinion is on tup.
评论 #3896194 未加载
评论 #3896335 未加载
zserge大约 13 年前
Ninja is a build system of my dream - minimalistic, clean and simple. I've tried it on some small projects about a year ago, and it seemed very fast and stable.<p>That days I generated .ninja with shell scripts, so now I'm happy to hear of CMake support. Still sorry that ninja build system is not included in most Linux distros, I believe that would significantly increase its popularity among developers.
bla2大约 13 年前
More ninja benchmark numbers: <a href="https://plus.google.com/101038813433650812235/posts/irc26fhRtPC" rel="nofollow">https://plus.google.com/101038813433650812235/posts/irc26fhR...</a>
nicholassmith大约 13 年前
I've been looking to replace a projects build system from ant to something else, and this might just be it. Now to see if I can fiddle with Qt to see if I can get it to generate .ninja's rather than Makefiles.
daphoenix大约 13 年前
How is this better than <a href="http://industriousone.com/premake" rel="nofollow">http://industriousone.com/premake</a> ?
评论 #3895733 未加载
评论 #3895739 未加载
评论 #3895751 未加载