• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dart-lang / native / 15232343401
92%

Build:
DEFAULT BRANCH: main
Ran 25 May 2025 12:23AM UTC
Jobs 1
Files 46
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 May 2025 12:07PM UTC coverage: 85.287%. First build
15232343401

push

github

web-flow
[hooks_runner] Add `TimelineEvents` (#2327)

This PR adds timeline events to the `hooks_runner` package:

* All `FileSystem` calls. (With a `TracingFileSystem`.)
* All `Process` runs.
* The main methods.

This enables looking at the performance:

<img width="990" alt="image" src="https://github.com/user-attachments/assets/6a5c78be-46b7-4a0a-bc9a-ada325a30193" />

(First build compiles the hook and runs the hook. Second build doesn't compile the hook and doesn't run the hook. Side note: Compiling Dart takes longer than running the hook (compiling C)!)

Some quirks:

* The current approach only works for non-concurrent events. (The stdout and stderr file logging is concurrent to the process calls and therefore has to be excluded.) If we ever start doing things concurrently, we'll need to refactor this.
* There are a lot of possibilities to improve things when we have more than one hook in the system. Optimizing this only makes sense once we have more real world projects using hooks.
* Tracking issues for improving the performance: https://github.com/dart-lang/native/issues/1288 https://github.com/dart-lang/native/issues/1578

The one improvement made in this PR is that we stop hashing the kernel file contents. Saving a hook invocation if the kernel file didn't change (~300ms) if the hook sources only had a whitespace change seems less valuable than saving the hashing of the hook kernel file on every invocation (~50ms). After this change, cached hook invocations take ~30ms per hook on the local test cases.

Closes: https://github.com/dart-lang/native/issues/2236

997 of 1169 relevant lines covered (85.29%)

2.76 hits per line

Subprojects
ID Flag name Job ID Ran Files Coverage
1 swift2objc 15232343401.1 25 May 2025 12:23AM UTC 46
85.29
GitHub Action Run
Source Files on build 15232343401
  • Tree
  • List 46
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15232343401
  • 09a756cb on github
  • Prev Build on main (#15206527811)
  • Next Build on main (#15232347924)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc