-
Notifications
You must be signed in to change notification settings - Fork 35
Add validation inputs #90
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
Conversation
These were added to regular ninja in: ninja-build/ninja@04c410b Android uses them, so they're needed to port android to n2. (which is something I'm exploring but not committing to)
evmar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow, this appears completely perfect -- thanks for writing the comments and the test, and also the logic seems right to me!
|
This is so cool! I'm very curious about whether n2 works out for Android. I think there's likely some easy low hanging perf fruit but I haven't tried n2 yet on any reasonably large build -- the app I worked on had like 1k edges total. I think the architecture is mostly in the right to be able to scale, but there are surely some simple things I overlooked, like maybe some O(n) in the number of ready edges or something silly like that. And further I think it would be relatively easy to add larger ideas like multithreading for build.ninja parsing if that's useful. In general, if you have any build.ninja files to share for investigating, or feature requests or observations etc., I'd love to hear them and help out where I can! |
|
Also, if for Android purposes you wanted to explore more invasive changes like a binary file format, I would be happy to explain any part of n2 you need. But from this PR it feels like you already have pretty much gotten it. |
|
Thanks! I'm glad you're open to supporting android. Upstream backing is definitely a factor in the switch. There's still a lot of work/investigation to port android to n2, but some other thoughts I had while looking into it:
|
|
Now that we're on the subject, didn't I see some rumor about Android switching to bazel? Is that still happening? |
|
Unfortunately the migration to bazel was recently cancelled. :/ |
|
Is it worth opening bugs about the remaining issues? |
These were added to regular ninja in:
ninja-build/ninja@04c410b
Android uses them, so they're needed to port android to n2. (which is something I'm exploring but not committing to)