Skip to content
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

Lenient cycle checking #11

Open
dtelad11 opened this issue Dec 6, 2017 · 2 comments
Open

Lenient cycle checking #11

dtelad11 opened this issue Dec 6, 2017 · 2 comments

Comments

@dtelad11
Copy link

dtelad11 commented Dec 6, 2017

Hey Kevin -- thank you for releasing this package, it has made my life much easier. One of the things my co-founder and I noticed is that checking for cycles with every new edge becomes a significant performance issue as DAGs grow larger (we could not build a graph with ~1,000 vertices and ~2,000 edges in a reasonable amount of time). I developed a tweak (check out my fork) where the user can choose to turn off cycle checking. Then, whenever an edge is added, the DAG "shuts off" and vertices and edges cannot be accessed until the user triggers a manual cycle checking.

It's working for our purposes but the code is messy and there are no tests -- is this something you want to merge into the main fork? If yes, let me know and I'll clean it up.

@fsobanski
Copy link

Kevin has stated that he currently doesn't have time to maintain the project. I have created my own fork and plan on releasing a ruby gem with the changes that I commited to my fork. I think you might be interested in the performance improvements made in my fork because they might make lenient cycle checking obsoloete. See my readme for the specifics of my improvements. I would be interested in your feedback.

I am also open to pull requests and I accept breaking changes as long as I haven't released the gem. I already contacted github support and asked them to turn my fork into a standalone repository.

@dtelad11
Copy link
Author

dtelad11 commented Feb 5, 2018

Thank you for taking over the gem and apologies for the radio silence, I've been busy with our product launch and did not have time to give your changes the attention they deserve. I hope to get to it early next week. Going over your changes, the performance updates look fantastic, I'd be more than happy to abandon my pull request and adopt your version. I will test it as soon as possible.

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

No branches or pull requests

2 participants