Another significant speedup to obj exporter:
Exporting the blender 3.0 splash screen scene into the resulting 2.4GB sized obj file, on windows (Ryzen 5950X 32 threads, M.2 SSD):
- Blender 3.0 old exporter: 343.1 sec, +15GB (!) memory during export.
- Blender 3.1 new exporter: 48.9 sec, +0.6GB memory during export.
- This patch: 6.0 sec, but +3.1GB memory during export, basically the result obj text has to be kept in memory.
I tried this latest code on my Ubuntu Linux machine (AMD 3960X, 24 cores, 48 threads), and got a great speedup:
- python: 487s
- c++ exporter, serial version currently in master: 33.45s
- c++ exporter with this latest patch: 5.80s
So your patch gives a speedup of 84 times the python exporter, and 5.8 times the serial version. Great!
Yay! Thank You Aras and Howard!