I have yet another side project: I made a terraria-style mass tile renderer completely from scratch that can render and store 4 million of individually textured tiles with arbitrary position with many holes in them at 30 FPS, all at 31 mb of ram used (including 2000x2000 textures and framebuffer), in software (half of the frame time is software bilinear texture filtering).
The black tiles you see in the video is the holes in the world.