Optimize isFrozen
utility
#1180
Open
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.
Performance Optimization: isFrozen Fast Path
Problem
CPU profiling revealed that
isFrozen()
was consuming 46% of total CPU time in performance-critical scenarios, with 5.8M samples in benchmarks. The function was being called frequently on primitivevalues (null, undefined, numbers, strings) which are conceptually "frozen" but require expensive
Object.isFrozen()
calls.Solution
Added a fast path for primitives and null/undefined values that returns
true
immediately without callingObject.isFrozen()
.Performance Impact
Benchmarks
Before optimization:
After optimization:
Rationale
Testing
Breaking Changes
None - this is a pure performance optimization with identical behavior. (I hope)