Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #313 from wolfp/restat_missing_input | Evan Martin | 2012-07-03 | 2 | -7/+55 |
|\ | | | | | Do not reset restat_mtime if an input is missing | ||||
| * | Add a test for missing input files in restat rules | wolfp | 2012-06-27 | 1 | -0/+54 |
| | | |||||
| * | Do not reset restat_mtime if an input is missing (issue #295) | wolfp | 2012-06-27 | 1 | -7/+1 |
| | | |||||
* | | Improving Edge::Dump, introducing Node::Dump | Maxim Kalaev | 2012-06-28 | 2 | -6/+27 |
| | | | | | | | | | | | | | | - Edge::Dump could crash if called while inputs_ is being extended - Node::Dump prints Node attributes, in-edge and lists of out-edges - Dump functions now accept "prefix" parameter, printed along with the object for easier orientation. For example, edge->Dump("Re-reading deps files"). | ||||
* | | switch build log to print hashes as hex | Evan Martin | 2012-06-19 | 2 | -2/+3 |
| | | | | | | | | | | | | Nico convinced me that it's safe to do this without revving the build log format: the old decimal values will still parse as hex (just as different numbers) and cause a superfluous rebuild. | ||||
* | | add copyright header | Evan Martin | 2012-06-19 | 1 | -0/+14 |
| | | |||||
* | | drop support of log formats < 4 | Evan Martin | 2012-06-18 | 2 | -23/+21 |
| | | | | | | | | | | Log format 4 was introduced in January. There's been plenty of time to migrate. | ||||
* | | use PRIu64 for printing 64-bit in, %d for printing int | Evan Martin | 2012-06-18 | 2 | -2/+23 |
| | | | | | | | | Fixes a warning. | ||||
* | | make canon_perftest build, add license | Evan Martin | 2012-06-18 | 1 | -0/+17 |
| | | |||||
* | | no recompacting needed when log file is empty | Peter Kuemmel | 2012-06-18 | 1 | -3/+7 |
| | | |||||
* | | Merge pull request #316 from tfarina/struct | Evan Martin | 2012-06-17 | 2 | -5/+6 |
|\ \ | | | | | | | No need to write 'struct' before type name when declaraing variables in ... | ||||
| * | | No need to write 'struct' before type name when declaraing variables in C++. | Thiago Farina | 2012-05-23 | 2 | -5/+6 |
| |/ | | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org> | ||||
* | | improve test | Scott Graham | 2012-06-15 | 1 | -8/+7 |
| | | |||||
* | | add $in_newline | Scott Graham | 2012-06-15 | 2 | -6/+28 |
| | | |||||
* | | fix windows build | Scott Graham | 2012-06-15 | 1 | -0/+1 |
| | | |||||
* | | Add a hash collision benchmark. | Nico Weber | 2012-06-15 | 1 | -0/+43 |
| | | |||||
* | | Only store command hashes in the build log. | Nico Weber | 2012-06-15 | 8 | -17/+82 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | .build_log load time 350ms -> 17ms, filesize 197MB -> 1.6MB on Mac. On Windows, it's 500ms -> 20ms. Makes the build log a lot less useful for scripts, but there could be a tool for use cases that need log information. A prototype of such a tool is in https://github.com/nico/ninja/commit/1b243d311 The hash function is 64bit murmurhash2. Assuming that that different commands get the same hash only by chance, it's is very unlikely for two different commands to hash to the same value with a 64bit hash. | ||||
* | | Merge pull request #328 from nico/canonperf | Evan Martin | 2012-06-15 | 1 | -0/+38 |
|\ \ | | | | | | | add canon_perftest | ||||
| * | | add canon_perftest | Nico Weber | 2012-06-03 | 1 | -0/+38 |
| | | | |||||
* | | | allow '(' and ')' in depfile paths | Evan Martin | 2012-06-12 | 3 | -7/+22 |
| | | | | | | | | | | | | Fixes issue #327. | ||||
* | | | fix a typo in a test name | Evan Martin | 2012-06-12 | 1 | -1/+1 |
| | | | |||||
* | | | Merge pull request #311 from nico/cleanups | Evan Martin | 2012-06-04 | 1 | -1/+1 |
|\ \ \ | |/ / |/| | | Cleanups | ||||
| * | | comment fix | Nico Weber | 2012-05-13 | 1 | -1/+1 |
| |/ | |||||
* | | Remove code that was never executed. | Nico Weber | 2012-06-02 | 1 | -9/+1 |
| | | | | | | | | | | total_time was always -1, because it computed a pointer difference, not a time difference (should've been |*end_time - *start_time|). | ||||
* | | Merge pull request #320 from nico/cleanup | Evan Martin | 2012-06-02 | 2 | -4/+0 |
|\ \ | | | | | | | Remove unused variable last_update_millis_. | ||||
| * | | Remove unused variable last_update_millis_. | Nico Weber | 2012-06-01 | 2 | -4/+0 |
| |/ | |||||
* | | Missing header file for "getenv". | Jonathan Sternberg | 2012-05-31 | 1 | -0/+1 |
| | | |||||
* | | Removing unused sys/termios.h header. | Jonathan Sternberg | 2012-05-30 | 1 | -1/+0 |
| | | |||||
* | | Header guards were missing from some header files. | Jonathan Sternberg | 2012-05-30 | 4 | -0/+19 |
|/ | |||||
* | Merge pull request #310 from nico/landreader | Evan Martin | 2012-05-10 | 1 | -11/+64 |
|\ | | | | | Speed up build log reading (0.5s on Win, 0.1s on Mac, 30ms on Linux) | ||||
| * | Switch LineReader from fgets() to just fread(). | Nico Weber | 2012-05-10 | 1 | -5/+33 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fgets() needs to search for a \n in the input, and LineReader's strstr() did the same work again. By using fread() directly, this duplicate work can be saved. (I tried using readline() / fgetln() for the same saving, but those functions are not standard, and were slower than the code in this CL.) Results from running build_log_perftest, on OS X: Before: min 369ms max 372ms avg 370.4ms After: min 243ms max 247ms avg 244.8ms On Windows: Before: min 796ms max 904ms avg 858.0ms After: min 359ms max 375ms avg 371.4ms On Linux: Before: min 161ms max 169ms avg 164.8ms Before: min 130ms max 137ms avg 132.6ms | ||||
| * | Pull BuildLog line reading into its own class. No performance or behavior ↵ | Nico Weber | 2012-05-10 | 1 | -11/+36 |
| | | | | | | | | change. | ||||
* | | Add a BuildLog test that checks that very long command liens don't crash. | Nico Weber | 2012-05-10 | 1 | -0/+28 |
| | | |||||
* | | Add a BuildLog test that checks duplicate version headers don't crash. | Nico Weber | 2012-05-10 | 1 | -0/+31 |
|/ | |||||
* | Merge pull request #307 from sgraham/nul-input | Evan Martin | 2012-05-09 | 1 | -5/+16 |
|\ | | | | | pass subprocesses handle to nul device rather than null handle | ||||
| * | pass subprocesses handle to nul device rather than null handle | Scott Graham | 2012-05-09 | 1 | -5/+16 |
| | | |||||
* | | Add a BuildLog loading perftest. | Nico Weber | 2012-05-08 | 2 | -1/+140 |
| | | |||||
* | | include version number | Evan Martin | 2012-05-08 | 1 | -2/+10 |
| | | |||||
* | | Don't write ninja log header to log on every build on Windows. | Nico Weber | 2012-05-08 | 2 | -0/+35 |
|/ | |||||
* | Merge pull request #299 from tfarina/explicit-ctors | Evan Martin | 2012-05-07 | 4 | -6/+10 |
|\ | | | | | views: Mark single-argument constructors as explicit. | ||||
| * | views: Mark single-argument constructors as explicit. | Thiago Farina | 2012-05-06 | 4 | -6/+10 |
| | | | | | | | | | | | | | | | | This was reported by cpplint as: python ~/depot_tools/cpplint.py 2>&1 | grep -v "Done processing" | grep explicit Signed-off-by: Thiago Farina <tfarina@chromium.org> | ||||
* | | No need to convert log_path to c-string. Two places. | Thiago Farina | 2012-05-06 | 1 | -4/+3 |
|/ | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org> | ||||
* | First check for string end, then dereference. (5ms more expensive, heh.) | Nico Weber | 2012-05-04 | 1 | -2/+2 |
| | |||||
* | Don't walk path components twice. Speeds up CanonicalizePath() 115ms (285ms ↵ | Nico Weber | 2012-05-04 | 1 | -6/+2 |
| | | | | -> 170ms). | ||||
* | Reorder a few lines, no functionality (or perf) change. | Nico Weber | 2012-05-04 | 1 | -5/+4 |
| | |||||
* | Skip single '/' characters earlier in the loop. 300ms -> 285ms. | Nico Weber | 2012-05-04 | 1 | -8/+11 |
| | |||||
* | Speed up CanonicalizePath() 6.8% (322ms -> 300ms for chrome empty build). | Nico Weber | 2012-05-04 | 2 | -8/+35 |
| | |||||
* | Merge pull request #290 from nico/metrics | Evan Martin | 2012-05-02 | 1 | -0/+2 |
|\ | | | | | Add .ninja_log load time to metrics. | ||||
| * | Add .ninja_log load time to metrics. | Nico Weber | 2012-05-01 | 1 | -0/+2 |
| | | | | | | | | On my system, it takes 22% of the empty build time for chrome. | ||||
* | | Merge pull request #284 from nico/fixwinbuild | Evan Martin | 2012-05-02 | 2 | -1/+4 |
|\ \ | | | | | | | Fix Windows build. |