Fix missing import for performance
from perf_hooks
in runner.ts
#31908
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.
Summary
I stumbled upon a critical issue in the
runner.ts
file within the React compiler'ssnap
package. Theperformance
object was being used in theonChange
function to track how long certain operations take, but it wasn't imported from Node.js'sperf_hooks
module. This small oversight caused aReferenceError
, which messed up our performance measurements and led to some unexpected runtime crashes.Motivation
Accurate performance tracking is super important for ensuring our compiler runs efficiently and reliably. Without importing
performance
fromperf_hooks
, every call toperformance.now()
throws aReferenceError
, making it impossible to measure execution times. This not only hampers our ability to debug and optimize but also affects the overall stability of the test runner.Changes Made
import { performance } from 'perf_hooks';
at the top ofrunner.ts
to ensure theperformance
object is correctly referenced.By implementing the
import
,performance.now()
works as intended, accurately measuring execution time.Feel free to reach out to me for further details.