Hat tip if you did 2021:14:2 under this constraint. I didn’t find the trick to allow that type of performance.
My 2021 (Rust) solutions all meet that, but some only do so when optimized, and day 22 was one of those where without the optimizer I'm waiting 2-3 seconds for an answer.
IIRC the trick was to compact the indices, so e.g instead of thinking about X values of 120203 494302 and 109383 you call those 1, 2, 0. Do all the working out of which cells within the resulting tiny structure are on or off, and then expand the 1x1 cells you're talking about to their true size based on the real values instead of indices.
The trick I used was to represent signed volumes, compute the intersection and then store the 'negative cube' instead of splitting up cubes.
https://github.com/forrestthewoods/aoc2021/blob/master/rust/...