There are several ways to speed up fasterRaster functions. These are listed below in order of their most likely gains, with the first few being potentially the largest.
Load rasters and vectors directly from disk: Use
fast()
to load rasters and vectrors directly from disk. Converting
terra or sf objects to GRasters
and GVectors can be slower. Why? Because if the object does
not have a file to which the R object points, Use fast()
has to save it to disk first as a GeoTIFF or GeoPackage file, then load
it into GRASS.
Save GRasters and GVectors
directly to disk: Converting GRasters and
GVectors to SpatRasters or
SpatVector using rast()
or vect(),
then saving them is much slower than just saving them. Why? Because
these functions actually save the file to disk then uses the respective
function from the respective package to connect to the file.
Increase memory and the number of cores usable by
GRASS: By default, fasterRaster use 2 cores and
2048 MB (2 GB) of memory for GRASS modules that allow users
to specify these values. You can set these to higher values using faster()
and thus potentially speed up some calculations. Functions in newer
versions of GRASS have more capacity to use these options,
so updating GRASS to the latest version can help,
too.
Do operations on GRasters and
GVectors in the same coordinate reference system
together: Every time you switch between using a
GRaster or GVector with a different coordinate
reference system (CRS), GRASS has to spend a few seconds
changing to that CRS. You can save some time by doing as much work as
possible with objects in one CRS, then switching to work on objects in
another CRS.
~ FINIS ~