nabil6391 / graphview

Flutter GraphView is used to display data in graph structures. It can display Tree layout, Directed and Layered graph. Useful for Family Tree, Hierarchy View.
MIT License
420 stars 114 forks source link

Make iterations in `SugiyamaAlgorithm` configurable #57

Closed JulianBissekkou closed 2 years ago

JulianBissekkou commented 2 years ago

@nabil6391

This PR introduces some smaller changes that help us increase performance. The first one is making the iterations in nodeOrdering configurable since for all our graphs one iteration is enough. This change is non breaking since i am keeping the previous value of 10.

I also avoided recalculating some stuff and did some smaller optimizations in crossingb which is called very often. The increased performance just a little bit. As you said the bigger fix would be to optimize assignX and transpose. This is still open. See #56 .

I also did some smaller code style changes, but i can revert them if you like.

Thanks for taking the time!

nabil6391 commented 2 years ago

Thanks for this. I will create some tests and have a look at this on the weekend

nabil6391 commented 2 years ago

Hi @JulianBissekkou , I have added two tests in the repo, can you please try to run them and see if they pass. Thanks

Other than that LGTM

JulianBissekkou commented 2 years ago

@nabil6391 Tests are passing! I also created a workflow file that runs tests in master and on every pr. I think you have to enable github actions in the project otherwise I can not test if the workflow works :)