-
Notifications
You must be signed in to change notification settings - Fork 204
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
Routing is slow, multi-threading could potentially help #289
Comments
Hi @L1uTongweiNewAccount , thank you for the report! Could you provide your big DSN file? I would need to investigate the issue further, because there is a chance that the first stage (auto-router) works, but the second stage (router optimizer) gets stuck. You can also send it to me to info@freerouting.app, if you don't want to attach it here. |
@andrasfuchs Fine, here is it! Autorouter_PCB_FHT-8086_2024-03-08.txt Of course, you should change it to .dsn because i can't upload .dsn files. And they are meaningless after i found design errors in them... But they are good examples for test! Thanks! |
And if i think routing optimizer is slow, i can stop it. but i cannot export .ses with no routing error because it has not been done. I think we can have a option to skip optimizer, and keep the integrality of it. |
Excellent, thank you @L1uTongweiNewAccount! Optimizer can be disabled, but the setting isn't easy to find (I will improve the UI/UX soon): Up in the menu, Settings, Auto-router, remove the check from the "Optimization". |
Thanks a lot! |
I can confirm that running the auto-router with your VGA file needed me 2.5GB of RAM and 4 hours 46 minutes. Thank you again for the files, they help a lot with the testing! I don't think I will be able to fix this just yet, but I'll look into this after I get the new scoring system in place. |
Hi, where can I download the v2.0 snapshot? thanks |
The current snapshot version is available here: https://github.com/freerouting/freerouting/releases/tag/SNAPSHOT |
I am thinking that if we can divide the board into some parts and alloc them to some defferent threads, and link them in the end. I'm not sure how to divide them, and how to link them together. But I think a big PCB can be Recursively divided. Will this idea helps to you? @andrasfuchs |
Please provide as many details as you can
v1.9.0 (build date: 2023-10-30)
Windows 64-bit
EasyEDA
the exported DSN file
no, just the shortcut by freerouting
no
just start routing
optimize the code of routing.
Look the pictures above here. It just use the 11% of CPU, and it's not enough.
We need use multi-process to optimize it. If we can rewite it by C++ and make an assembler optimize, it's better.
After all, I need 100% of CPU used to speed my process, because it's really slow with 1000+ network.
yes, a bit.
The text was updated successfully, but these errors were encountered: