The man page for gc reads: The final two columns show the maximum space used since the last call to 'gc(reset=TRUE)' (or since R started).
The word 'last' here is ambiguous: does it include the *current* call to gc? When I first read this, I assumed that it did not; indeed, I only realized that there was an ambiguity after trying to use reset=TRUE for some measurements and discovering that the implementation corresponds to a reading where it *does* include the current call to gc. (see below for transcript) The interpretation that 'last' does *not* include the current call seems more useful than the implemented behavior, since with the implemented behavior, to report maximum memory usage for each of a series of operations, you need to make *2* calls to GC between operations, one with reset=FALSE (to return the maximum space used) and one with reset=TRUE (to perform the reset for the next measurement). So I suggest that the reset happen only *after* the "max used" calculation. Alternatively, the documentation could be clarified. -s {gc(reset=T); numeric(10^7); gc(reset=FALSE)["Vcells","max used"]} [1] 10353316 <<< shows max used by numeric > {gc(reset=T); numeric(10^7); gc(reset=TRUE)["Vcells","max used"]} [1] 353329 <<< does not show max used by numeric ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel