Skip to content

julia-gc: Time collections without going through SyTime - #6531

Merged
fingolfin merged 1 commit into
masterfrom
mh/julia-time
Aug 31, 2026
Merged

julia-gc: Time collections without going through SyTime#6531
fingolfin merged 1 commit into
masterfrom
mh/julia-time

Conversation

@fingolfin

Copy link
Copy Markdown
Member

The pre and post GC hooks called SyTime to accumulate GC time. SyTime raises a GAP error when the clock cannot be read, and entering the error handler mid-collection runs GAP code, which the collector must not do.

getrusage cannot realistically fail with these arguments, so this has never fired, but the collector should not depend on that. Read the clock directly and report 0 if it is unavailable. The Julia GC is only built on systems that provide getrusage; a native Windows port would have larger problems than this.

Co-authored-by: Claude Opus 5 noreply@anthropic.com

The pre and post GC hooks called SyTime to accumulate GC time. SyTime
raises a GAP error when the clock cannot be read, and entering the error
handler mid-collection runs GAP code, which the collector must not do.

getrusage cannot realistically fail with these arguments, so this has
never fired, but the collector should not depend on that. Read the clock
directly and report 0 if it is unavailable. The Julia GC is only built on
systems that provide getrusage; a native Windows port would have larger
problems than this.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@fingolfin
fingolfin requested a review from lgoettgens August 28, 2026 11:54
@fingolfin fingolfin added topic: kernel release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: julia Julia GC integration and related matters labels Aug 28, 2026
@codecov

codecov Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 78.99%. Comparing base (676342d) to head (becf6bc).

Files with missing lines Patch % Lines
src/julia_gc.c 83.33% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6531      +/-   ##
==========================================
- Coverage   79.02%   78.99%   -0.03%     
==========================================
  Files         685      685              
  Lines      294329   294333       +4     
  Branches     8647     8671      +24     
==========================================
- Hits       232601   232520      -81     
- Misses      59922    60005      +83     
- Partials     1806     1808       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@fingolfin
fingolfin merged commit 9a2ebd6 into master Aug 31, 2026
33 checks passed
@fingolfin
fingolfin deleted the mh/julia-time branch August 31, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: julia Julia GC integration and related matters topic: kernel

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants