johnBuffer / Pendulum-NEAT

MIT License
207 stars 28 forks source link

Pendulum-NEAT low performance when compiled in vscode (cmake windows) #6

Closed basgoossen closed 2 weeks ago

basgoossen commented 2 weeks ago

Dear John Buffer,

I'm playing with your code to get a better view on your learning process and in the same time learn a bit about SFML. I'm an embedded systems engineer en by no means an expert in C++ programming on windows, so i assume my performance findings are on me.

After stuggeling for a while to get the code running from VSCode with CMAKE on windows (x64), i finally got the application to run, but get very bad performance. Each generation takes up to a minute to compute (comparing to your video's this is not my expectation). Also the real time indicator gives a few minutes after running for hours (@ gen 340).

I simply build the code with: "cmake --build . --config Release --target all -j 10".

My computer features a Intel Core i9-10850K CPU @3.6GHz, all cores are used to 80% when the program runs.

My first question is what kind of performance is to be "expected" in generations per time interval? Second question is are there any obvious points i miss in getting a well performant build?

If i can provide any further helpfull information please let me know, so i can provide further details.

basgoossen commented 2 weeks ago

It seems that the line: "cmake --build . --config Release --target all -j 10" still produces a debug build. In vscode when clicking CTRL-ALT-P and search for: >Cmake: select variant, you can select the other build options (release, size optimized release and Release with debug info. Selecting the release function there greatly improves performance to less tran a second per generation of 1000 agents on the CPU described above.