You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Most of the execution time in rbs prototype runtime is taken up by RBS::Prototype::Runtime#block_from_ast_of.
This means that a significant amount of cost is being spent just to investigate whether a method's block is mandatory or not.
For example, when running rbs prototype runtime targeting ActiveSupport::*, 65% of the time is spent on this process.
The behavior of RBS::Prototype::Runtime#block_from_ast_of is not perfect, as I pointed out in #1180 (comment), and I believe a perfect judgment is fundamentally very difficult.
I feel that the use of rbs prototype runtime is being avoided due to its slow execution time.
Almost all of the execution time for RBS::Prototype::Runtime#block_from_ast_of comes from RubyVM::AbstractSyntaxTree.of, and there's no room for optimization.
I propose that rbs prototype runtime block arguments should always be considered optional.
Most of the execution time in
rbs prototype runtime
is taken up byRBS::Prototype::Runtime#block_from_ast_of
.This means that a significant amount of cost is being spent just to investigate whether a method's block is mandatory or not.
For example, when running
rbs prototype runtime
targetingActiveSupport::*
, 65% of the time is spent on this process.The behavior of
RBS::Prototype::Runtime#block_from_ast_of
is not perfect, as I pointed out in #1180 (comment), and I believe a perfect judgment is fundamentally very difficult.I feel that the use of
rbs prototype runtime
is being avoided due to its slow execution time.Almost all of the execution time for
RBS::Prototype::Runtime#block_from_ast_of
comes fromRubyVM::AbstractSyntaxTree.of
, and there's no room for optimization.I propose that
rbs prototype runtime
block arguments should always be considered optional.Benchmark script
The text was updated successfully, but these errors were encountered: