summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * Switch LineReader from fgets() to just fread().Nico Weber2012-05-101-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 Weber2012-05-101-11/+36
| | | | | | | | change.
* | Add a BuildLog test that checks that very long command liens don't crash.Nico Weber2012-05-101-0/+28
| |
* | Add a BuildLog test that checks duplicate version headers don't crash.Nico Weber2012-05-101-0/+31
|/
* Merge pull request #307 from sgraham/nul-inputEvan Martin2012-05-091-5/+16
|\ | | | | pass subprocesses handle to nul device rather than null handle
| * pass subprocesses handle to nul device rather than null handleScott Graham2012-05-091-5/+16
| |
* | Add a BuildLog loading perftest.Nico Weber2012-05-082-1/+140
| |
* | include version numberEvan Martin2012-05-081-2/+10
| |
* | Don't write ninja log header to log on every build on Windows.Nico Weber2012-05-082-0/+35
|/
* Merge pull request #299 from tfarina/explicit-ctorsEvan Martin2012-05-074-6/+10
|\ | | | | views: Mark single-argument constructors as explicit.
| * views: Mark single-argument constructors as explicit.Thiago Farina2012-05-064-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 Farina2012-05-061-4/+3
|/ | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* First check for string end, then dereference. (5ms more expensive, heh.)Nico Weber2012-05-041-2/+2
|
* Don't walk path components twice. Speeds up CanonicalizePath() 115ms (285ms ↵Nico Weber2012-05-041-6/+2
| | | | -> 170ms).
* Reorder a few lines, no functionality (or perf) change.Nico Weber2012-05-041-5/+4
|
* Skip single '/' characters earlier in the loop. 300ms -> 285ms.Nico Weber2012-05-041-8/+11
|
* Speed up CanonicalizePath() 6.8% (322ms -> 300ms for chrome empty build).Nico Weber2012-05-042-8/+35
|
* Merge pull request #290 from nico/metricsEvan Martin2012-05-021-0/+2
|\ | | | | Add .ninja_log load time to metrics.
| * Add .ninja_log load time to metrics.Nico Weber2012-05-011-0/+2
| | | | | | | | On my system, it takes 22% of the empty build time for chrome.
* | Merge pull request #284 from nico/fixwinbuildEvan Martin2012-05-022-1/+4
|\ \ | | | | | | Fix Windows build.
| * | Fix Windows build.Nico Weber2012-04-302-1/+4
| |/
* | Merge pull request #283 from tfarina/string-ampersandEvan Martin2012-05-026-7/+7
|\ \ | |/ |/| Put & operator with the type rather than the variable name.
| * Put & operator with the type rather than the variable name.Thiago Farina2012-04-286-7/+7
| | | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | Merge pull request #274 from polrop/max_load_averageEvan Martin2012-04-285-4/+51
|\ \ | | | | | | Max load average
| * | Add -l N option to limit the load average.Nicolas Despres2012-04-195-4/+51
| | | | | | | | | | | | | | | | | | | | | This is similar to GNU make -l/--load-average option. It limits the number of job started if the load average exceed the given value. It can be very useful when running ninja on a continuous integration server where we want to use parallelism as much as possible without overloading the server.
| * | Remove trailing white spaces.Nicolas Despres2012-04-191-6/+6
| | |
* | | suggest ninja -h when someone runs 'ninja help'Evan Martin2012-04-261-0/+2
| |/ |/|
* | allow UTF-8 in rule descriptionsEvan Martin2012-04-263-5/+12
| | | | | | | | | | The lexer already mostly allowed this, except that chars >127 were being interpreted as negative indexes into the lexer table.
* | reduce custom ninja status patch in minor waysEvan Martin2012-04-263-128/+53
| | | | | | | | | | Elsewhere in the code I avoid sstream and manual buffer management, so switch this code to behave similarly. Sorry for being OCD.
* | Merge branch 'custom_ninja_status' of git://github.com/polrop/ninjaEvan Martin2012-04-263-51/+199
|\ \
| * | Refactor and test progress status formatting.Nicolas Despres2012-04-243-69/+140
| | |
| * | Introduce NINJA_STATUS env var for customization.Nicolas Despres2012-04-241-2/+79
| | | | | | | | | | | | | | | | | | Some people may want to display different relevant information about the progress of the build. Also it can be usefull to debug jobs allocation.
| * | Remove trailing white spaces.Nicolas Despres2012-04-242-13/+13
| |/
* | Merge pull request #272 from nico/statstweakEvan Martin2012-04-261-3/+3
|\ \ | | | | | | Switch the order of total and avg columns in -d stats output.
| * | Switch the order of total and avg columns in -d stats output.Nico Weber2012-04-171-3/+3
| |/
* | Merge pull request #269 from sgraham/explainEvan Martin2012-04-266-10/+72
|\ \ | | | | | | add support for -d explain to help debug why rules are running
| * | add support for -d explain to help debug why rules are runningScott Graham2012-04-136-10/+72
| |/
* | Merge pull request #228 from pcc/lazily-create-commandrunnerEvan Martin2012-04-261-4/+8
|\ \ | | | | | | Lazily create the CommandRunner in Builder::Build
| * | Lazily create the CommandRunner in Builder::BuildPeter Collingbourne2012-02-271-4/+8
| | | | | | | | | | | | | | | This allows the user to interrupt the build (i.e. using Ctrl-C) while the build plan is being computed.
* | | Merge branch 'dont-clean-phony' of git://github.com/pcc/ninjaEvan Martin2012-04-262-9/+36
|\ \ \ | |_|/ |/| | | | | | | | Conflicts: src/clean.cc
| * | Don't delete phony targets when cleaning a specified targetPeter Collingbourne2012-02-282-7/+34
| |/ | | | | | | Also, modify Cleaner::CleanAll to use Edge::is_phony.
* | Merge pull request #252 from qhuo/remove-depfile-when-cleaningEvan Martin2012-04-112-0/+34
|\ \ | | | | | | Remove depfiles when running "ninja -t clean <target>" or "ninja -t clean -r <rule>"
| * | Remove depfiles when running when running "ninja -t clean <target>"Qingning Huo2012-03-142-0/+34
| | | | | | | | | | | | or "ninja -t clean -r <rule>"
* | | Merge pull request #253 from qhuo/include-io.hEvan Martin2012-04-101-0/+1
|\ \ \ | | | | | | | | Fix windows build (add #include <io.h>)
| * | | Fix windows build (add #include <io.h>)Qingning Huo2012-03-151-0/+1
| |/ /
* | | Make |log_| variable private to BuildLog.Evan Martin2012-04-052-4/+5
| | | | | | | | | | | | | | | | | | This fix the TODO in build_log.h file. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | | Merge pull request #263 from mathstuf/dev/gcc-470-build-fixesEvan Martin2012-04-053-0/+3
|\ \ \ | | | | | | | | Include unistd.h where needed
| * | | Include unistd.h where neededBen Boeckel2012-03-283-0/+3
| | | |
* | | | Merge pull request #256 from iwadon/fix-sign-compareEvan Martin2012-04-053-10/+10
|\ \ \ \ | |/ / / |/| | | fix warning: "comparison between signed and unsigned integer expressions"
| * | | fix warning: "comparison between signed and unsigned integer expressions"Hiroyuki Iwatsuki2012-03-163-10/+10
| |/ /