Skip to content
This repository has been archived by the owner on Dec 10, 2024. It is now read-only.

WIP: Core: Lazy MIFs #42

Closed
wants to merge 66 commits into from
Closed

WIP: Core: Lazy MIFs #42

wants to merge 66 commits into from

Conversation

iopapamanoglou
Copy link
Contributor

@iopapamanoglou iopapamanoglou commented Sep 6, 2024

Core: Lazy MIFs

Description

Motivation: MIF connections are extremely slow. Especially highly hierarchical ones and highly interconnected ones.

test/core/test_performance.py::TestPerformance::test_mif_connect_check 
----------------------------------------------- live log call ------------------------------------------------
INFO     test.core.test_performance:test_performance.py:212                      Timings                     
┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━┓
┃ CategorySubcategoryValueUnit ┃
┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━┩
│ GraphInterfaceconstruct0.06us   │
│ GraphInterfaceconnect0.03us   │
│ GraphInterfaceis_connected0.00us   │
│ ModuleInterfaceconstruct1.47us   │
│ ModuleInterfaceconnect0.21us   │
│ ModuleInterfaceis_connected0.00us   │
│ Electricalconstruct3.10us   │
│ Electricalconnect0.23us   │
│ Electricalis_connected0.00us   │
│ ElectricPowerconstruct19.32us   │
│ ElectricPowerconnect1.70us   │
│ ElectricPoweris_connected0.01us   │
│ ElectricLogicconstruct42.52us   │
│ ElectricLogicconnect2.96us   │
│ ElectricLogicis_connected0.01us   │
│ I2Cconstruct90.41us   │
│ I2Cconnect10.26us   │
│ I2Cis_connected0.02us   │
└─────────────────┴──────────────┴───────┴──────┘

PASSED                                                                                                 [ 50%]
test/core/test_performance.py::TestPerformance::test_mif_connect_hull 
----------------------------------------------- live log call ------------------------------------------------
INFO     test.core.test_performance:test_performance.py:240                       Timings                      
┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━┓
┃ CategorySubcategoryValueUnit ┃
┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━┩
│ GraphInterfaceconstruct0.12us   │
│ GraphInterfaceconnect0.12us   │
│ GraphInterfaceis_connected0.00us   │
│ ModuleInterfaceconstruct2.47us   │
│ ModuleInterfaceconnect4.70us   │
│ ModuleInterfaceis_connected0.00us   │
│ Electricalconstruct5.23us   │
│ Electricalconnect4.86us   │
│ Electricalis_connected0.00us   │
│ ElectricPowerconstruct110.07us   │
│ ElectricPowerconnect183.77us   │
│ ElectricPoweris_connected0.01us   │
│ ElectricLogicconstruct58.27us   │
│ ElectricLogicconnect379.15us   │
│ ElectricLogicis_connected0.01us   │
│ I2Cconstruct132.42us   │
│ I2Cconnect2306.43us   │
│ I2Cis_connected0.01us   │
└─────────────────┴──────────────┴─────────┴──────┘

PASSED        

Fixes # (issue)

Checklist

Please read and execute the following:

  • My code follows the coding guidelines of this project
  • My PR title is following the contribution guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I ran Black to format my code

Code of Conduct

By submitting this issue, you agree to follow our Code of Conduct:

@iopapamanoglou iopapamanoglou mentioned this pull request Oct 29, 2024
5 tasks
@iopapamanoglou
Copy link
Contributor Author

Replaced by #129

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant