-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate ~1.5x increase in Duration for N=11 graphs across all graph algorithms #116
Comments
After generating
@john-boyer-phd observed that if you look at the ratios of the max edge-count from I compiled the
Looking at the above table and having the realization about how this might be related to #68 (see #64 and #67), I wanted to look at the ratios of I compiled the
The ratio of total Duration going from #66 to #68 per algorithm:
This seems strange, as the changes of #68 only should have impacted I'm re-running |
I'm having a hard time grokking what's going on here: I now have the results from running the
Some additional investigation into possible causes:
|
Another hypothesis is that the test tables committed during #66 were produced by my Macbook; as a preliminary test, I compiled the
Since these results are almost twice as fast than those committed during #66, it seems unlikely that I erroneously committed tables produced by running an executable compiled with a different compiler toolchain ( Another hypothesis was that the
|
TL;DR I don't believe this slowdown is as a result of any code changes that have occurred since the first table for I wanted to determine what Windows updates had been installed in the intervening months since the table was generated, so I ran the
To produce
A cursory look seems to indicate that none of these updates should have caused a system-wide slowdown, but more thorough examination would be required to entirely rule it out. The only other thing that's changed has been the VSCode C/C++ extension version, from v.1.19.3 to v1.22.11 at present. This could be an issue with Windows antivirus suddenly acting up when I run any |
Although we still don't know exactly what did cause the slowdown, relative to your run over 6 months ago, you have run sufficient tests to show that it is not due to any code changes made since then. Also, the "expanded" N=10 file showed that it's not something special that starts happening at N=11, but rather something that is happening due to reading a billion graphs from a file. This points to some kind of slowdown in large file disk operations on the given computer. Bottom line, it's not something that happened to the core algorithm implementations, which was the real concern, so I think you can close this (after checking off the remaining tasks, which you did perform). |
Rock on! 🚀 |
Problem statement
After merging #108 and #109 , which included the regenerated test tables up to
N=10
, I ranplanarity_testAllGraphs_orchestrator.py
andtest_table_generator.py
to see how the number ofOK
s vs.NONEMBEDDABLE
s had changed forN=11
, since the last time the tables were updated was with #66 and therefore didn't reflect the results of the fix from #106. After having done so (twice, the second time after a fresh reboot), I observed that the Duration had increased significantly for all graph algorithms:I re-ran
N=10
under the same conditions and did not observe this duration bloat:Investigation steps
.g6
file in a directory (i.e. the output ofgraph_generation_orchestrator.py
for a given order)N=11
vs.N=10
was ~92x, so I chose that as the default duplication factorplanarity_testAllGraphs_orchestrator.py
andtest_table_generator.py
on these expanded.g6
input files forN=10
with theplanarity
executable compiled from the source as of Issue 65 - Test Table Generator script #66 vs. the currentHEAD
planarity_testAllGraphs_orchestrator.py
andtest_table_generator.py
on the.g6
input files forN=11
with theplanarity
executable compiled from the source as of Issue 65 - Test Table Generator script #66 vs. Issue 64 and Issue 67 -EnsureArcCapacity()
before attaching-(d34)
algorithm extensions inSpecificGraph()
andtestAllGraphs()
#68 vs. the currentHEAD
planarity
executable corresponding to the code as of Issue 65 - Test Table Generator script #66 using the MSVCcl
compiler toolchain and re-runN=11
to see the speed differences between the results obtained using MinGW-32gcc
planarity
executable corresponding to the code as of Issue 64 and Issue 67 -EnsureArcCapacity()
before attaching-(d34)
algorithm extensions inSpecificGraph()
andtestAllGraphs()
#68 using the MSVCcl
compiler toolchain and re-runN=11
to see the speed differences between the results obtained using MinGW-32gcc
planarity
executable corresponding to the code atHEAD
ofmaster
using the MSVCcl
compiler toolchain and re-runN=11
to see the speed differences between the results obtained using MinGW-32gcc
planarity
executable corresponding to the code atHEAD
ofmaster
usingclang
and runN=11
on the MacBook Pro to compare against the original table DurationsThe text was updated successfully, but these errors were encountered: