Repository navigation
Replies: 10 comments 4 replies
|
Apparently it's the PGO that is hurting nbody more than it is helping :( Results on main right now for Could be related to https://bugs.python.org/issue45116 |
|
This could also be bpo-45116. Is there an experiment that you could do to force inlining in ceval.c? 3% faster is really disappointing. |
|
We should also recalculate that geometric mean without the |
|
Perhaps instead of msvc, clang-cl can be used instead as it seems supported. |
|
@kumaraditya303 If you're interested, it's worth at least trying the Clang stuff, to see just how much we'd have to change to get a running binary with PGO+LTO that can still load 3rd party extensions (DLLs) built using the standard MSVC toolchain (e.g. wheels). |
|
Do you want to use that as a starting point? IMO most of the work will be experimenting with how easy it is to use (e.g. make it easy for a dinosaur like myself to switch). |
|
I am still struggling to repro this result, mostly because pyperformance has a few issues.
Eric is working on the latter two now. In the meantime I am trying to think of a fix. Mark suggested that we might redefine Py_INCREF/DECREF as macros at the top of the file to force the compiler to "inline" them. Are there other suggestions/ideas? |
|
I get a different set of results. The geometric mean is 1.13x faster. (But I have 14 failing benchmarks.) This is on yesterday's main branch (sadly I failed to get the exact commit). A few random comments:
I gave up at this point, but you get the picture -- I believe my results aren't completely off. Possibly the age or architecture of the hardware differs? DetailsI would attach my JSON files but GitHub doesn't believe in JSON attachments. |
|
More details: the log of all changes to ceval.c since 3.11a6. Details |
|
Another build (a day later) is 5% faster again, but I don't really believe these results. But that means I also don't really believe Dennis' results. We're waiting on a stable machine to run tests. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Comparing versions (installed from python.org installers):
I replicated the
nbodyresults on another run of each benchmark:I did have to change a couple of lines of pyperformance to get it to run:
In
_pythoninfo.py, changebase_executable = os.path.join(os.path.dirname(stdlib_dir), 'python')topython.exe.All reactions