Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP Tree and heuristic based re-write #152
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
Uh oh!
There was an error while loading. Please reload this page.
WIP Tree and heuristic based re-write #152
Changes from 1 commit
d32cf627324ef1ddcc6463682b6ba7d0fe26fd4e3624cde0f32eb0b320656d7b1acaf5763dec44ab2b705ba79c060d796e083e733c26045022f9fc0f2b8878b7a6c6501c2b8c1fa20e116a109b72cd93ec5dbd27db85b5b1a346976185b90036373bf97705462bff09b8a15494301fab53eb266ea6986eccd981693bab24f3a83a5e06af0ca666da7011e8a070087ed745dc3b194ee1be0256d1c0d8625e5a70a9fc872fb026aa1b60b4ed3ee2c9fd2303179be9b4c402285d2ef535d5fc7a62c91b94a4c3b30da4dfa1b2File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Currently spending 40% of time building the tree in popping off nodes ``` 40.12% 0.35% 3.16 0.03 0.00 3.13 23373 DeadEnd::PriorityQueue#pop ``` Spending 9% of time enqueueing nodes. It might be worth it to revisit using an insertion sort (with bsearch_index) to see if it's faster than a heap implementation as we're guaranteeing to search through all elements in the queue. Currently perf for tree building our target case is: ``` $ be rspec spec/unit/indent_tree_spec.rb:7 Run options: include {:locations=>{"./spec/unit/indent_tree_spec.rb"=>[7]}} DeadEnd::IndentTree WIP syntax_tree.rb.txt for performance validation Finished in 0.75664 seconds (files took 0.14354 seconds to load) 1 example, 0 failures ``` Main has the full search around 1.2~1.1 seconds with the same time to load). So our budget to hit equal perf is 0.45 seconds. I'm hoping we can beat that by a bunch, but we've not even touched ripper yet and it's *supposed* to be the expensive part.Uh oh!
There was an error while loading. Please reload this page.
There are no files selected for viewing