diff --git a/README.md b/README.md index 5162d2fe..38bd37f7 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,12 @@ resolution is obtained than by using a smaller _maxzoom_ or _detail_. * -pt or --no-tiny-polygon-reduction: Don't combine the area of very small polygons into small squares that represent their combined area. * -q or --quiet: Work quietly instead of reporting progress +Environment +----------- + +Tippecanoe ordinarily uses as many parallel threads as the operating system claims that CPUs are available. +You can override this number by setting the `TIPPECANOE_MAX_THREADS` environmental variable. + Example ------- diff --git a/main.cpp b/main.cpp index 03f1b0d3..a6661077 100644 --- a/main.cpp +++ b/main.cpp @@ -117,7 +117,14 @@ void checkdisk(struct reader *r, int nreader) { }; void init_cpus() { - CPUS = sysconf(_SC_NPROCESSORS_ONLN); + const char *TIPPECANOE_MAX_THREADS = getenv("TIPPECANOE_MAX_THREADS"); + + if (TIPPECANOE_MAX_THREADS != NULL) { + CPUS = atoi(TIPPECANOE_MAX_THREADS); + } else { + CPUS = sysconf(_SC_NPROCESSORS_ONLN); + } + if (CPUS < 1) { CPUS = 1; } diff --git a/man/tippecanoe.1 b/man/tippecanoe.1 index 2c8efba9..279681d6 100644 --- a/man/tippecanoe.1 +++ b/man/tippecanoe.1 @@ -188,6 +188,10 @@ which may not be what you want. .IP \(bu 2 \-q or \-\-quiet: Work quietly instead of reporting progress .RE +.SH Environment +.PP +Tippecanoe ordinarily uses as many parallel threads as the operating system claims that CPUs are available. +You can override this number by setting the \fB\fCTIPPECANOE_MAX_THREADS\fR environmental variable. .SH Example .PP .RS