⚡️ Speed up function is_repo_a_fork by 40% in PR #371 (chore/error-on-missing-key-in-fork)
          #372
        
          
      
  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.
  
    
  
    
⚡️ This pull request contains optimizations for PR #371
If you approve this dependent PR, these changes will be merged into the original PR branch
chore/error-on-missing-key-in-fork.📄 40% (0.40x) speedup for
is_repo_a_forkincodeflash/code_utils/env_utils.py⏱️ Runtime :
50.5 microseconds→36.0 microseconds(best of91runs)📝 Explanation and details
Here’s a faster version, making these improvements.
os.getenv()andPath.open()for the same event file, by using an explicit cache variable for the file contents. This accelerates repeated lookups and reduces disk accesses.get_cached_gh_event_data()will not change for a process lifetime and can be memory-cached explicitly.is_repo_a_forklogic by removing an unnecessary bool(...) coercion (the value is already True/False).Here’s the rewritten program.
Key notes:
Let me know if you want further micro-optimizations!
✅ Correctness verification report:
🌀 Generated Regression Tests and Runtime
To edit these changes
git checkout codeflash/optimize-pr371-2025-06-24T00.35.01and push.