QUERY · ISSUE
gc threshold calculation in docs/reference/constrained
docs
This has
gc.threshold((gc.mem_free() + gc.mem_alloc()) // 4)
which sets the threshold to 1/4 of the total RAM regardless of the amount allocated. Shouldn't this read
gc.threshold(gc.mem_free() // 4 + gc.mem_alloc())
to account for RAM already allocated?
CANDIDATE · ISSUE
ESP32: no default gc threshold
enhancementport-esp32
Latest stable firmware (esp32-20180511-v1.9.4.bin) does not appear to have a garbage collection threshold. running gc.threshold() in the REPL returns -1. gc.isenabled() returns True. Running in a loop will take the free heap space to zero, with no automatic gc.
Is there a reason for this default configuration? The esp8266 has an out-of-the-box gc threshold of 8992.