⚡️ Speed up _wrap_in_chain_factory()
by 9,564% in libs/langchain/langchain/smith/evaluation/runner_utils.py
#24
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.
📄
_wrap_in_chain_factory()
inlibs/langchain/langchain/smith/evaluation/runner_utils.py
📈 Performance went up by
9,564%
(95.64x
faster)⏱️ Runtime went down from
1662.31μs
to17.20μs
Explanation and details
(click to show)
Here is an optimized version of the given python program. The program calls the
isinstance
function less frequently, making it perform faster.In the given task, the reduction in the number of the
isinstance
function invocations helps improve the performance of the code asisinstance
is quite a slow operation. The order of theisinstance
checks is also rearranged according to the likelihood of occurrences, which further optimizes the code performance.Correctness verification
The new optimized code was tested for correctness. The results are listed below.
✅ 0 Passed − ⚙️ Existing Unit Tests
✅ 0 Passed − 🎨 Inspired Regression Tests
✅ 4 Passed − 🌀 Generated Regression Tests
(click to show generated tests)