Damian C. Rossney

Results 40 comments of Damian C. Rossney

@timriley I'm not sure what you mean by this bit: > `*name` (capture everything including /) is an important escape hatch and a helpful counterpart to `:name`. The splat doesn't...

This commit refactors tests to gain clarity before moving forward. At the start of the spike there were 37 skipped tests. Prior to this commit, 16 tests were failing and...

This commit implements optional route clauses. Nested optional clauses and consecutive optional clauses are supported. This is implemented by defining routes for every possible permutation of optional clauses. This concludes...

I have exhausted my ideas for performance improvements. I feel that this commit concludes this spike. I will declare a way point below and invite a discussion as to whether...

@timriley @cllns @kyleplump , once again I am tagging you to request your input. I believe the exploratory phase of this spike is over, and we should discuss whether to...

> I suspect this is because calling `path[1..]` creates a new array, so it negates the optimization of calling split without each that avoids an allocation. I'm not sure where...

> ```ruby > return unless path[1..].split("/") do |segment| > node = node.get(segment, param_values) > > break false if node.nil? > end > ``` > This made the benchmark about 10%...

With the above changes there is a noticeable performance increase--about 5% in the 10K route case. Memory use and start-up time are not noticeably affected. I don't know how far...

> Sorry, I didn't realize you were already operating on a string. Since we use frozen string literals, we'll need to get copies instead of mutating the object anyway. Also,...

> Hi @dcr8898, I just want to thank you so much for this fantastic work. Whatever direction we take, this has been a hugely informative investigation that I'm sure we'll...