Much poorer performance of ncurses experimental version compared to 0.A (solved)

For me the performance of the development stage (as of 9467b8c5daacfab7dd3dd6b13502b558a2ff1d87) compared to 0.A has dropped significantly. I am talking about the performance when in the game, moving around and stuff (not using menus and stuff). While I could keep the move key pressed to move forwards quickly, the same thing now takes much longer now. Also sleeping now takes ages.

And I use the ncurses version, not SDL. On GNU/Linux.

It is not so slow to make CDDA unplayable, but the performance drop is pretty notable.

Do you have any ideas what causes this bad performance? Can I fix it? Can you (the developers) fix it?

I’ll take a look, in general performance gets slowly worse, then we fix up the worse offenders till it’s ok again, then repeat.

One question, are you playing a release build (one downloaded from the auto-builds, or one buit with the RELEASE=1 argument?) If so, there was an extra-thorough debug option turned on a while back (-D_GLIBCXX_DEBUG) that may be the culprit. It catches a LOT of bugs, but makes the game run super slow.

If you are running release builds, it might just be bitrot and I’ll be taking a look at it shortly.

I used the Git version and built it myself. And yes, GLIBCXX_DEBUG was present. That should explain it.
I just downloaded the experimental build for Linux on console to compare the speed and this is super fast as before. I guess these are build with RELEASE=1.

So it was obviously the debug parameter. I wasn’t aware of this parameter. I haven’t tested it with my self-built version right now but I will report back later if there are any issues.

Anyways, thanks for helping.

I just did a profiling run on curses and made some tweaks, it’s screaming fast even with a debug build (not including that extra debug flag, that screws up profiling too), I’m sure with a release build it’ll be crazy fast. I’ll need to test with huge numbers of monsters and a few other scenarios and check for other bottlenecks.

Also need to look at SDL performance as per your other report.