Hey, Thanks for the reply.
Totally understandable - making game is hard enough in a jam, with optimization on top of that...
You probably know about this, but maybe someone finds this useful:
Godot has very good profiling tools that take no time to set up. It will tell you exactly which part of code is taking the most time to compute.
It worked very well, for me at least, when I was making a 2d RTS prototype. But still, at some point, with about 400-500 units moving I was encountering a hard dropoff in FPS - still not sure why.
Also, for other project I had great success with using threading - no pain at all if you can somehow chunk what you need to process and avoid accessing stuff from other chunks. I ended up creating a 2 copies of data, so that I could read from one and update the other (based on first) every frame, swapping which data I read/write. Now that you can actually use debugging in threaded code it's even better :)