Skip to content

fix(ext/web): align AbortSignal with spec - #226

Open
petamoriken wants to merge 1 commit into
tryandromeda:mainfrom
petamoriken:fix/abort-signal
Open

petamoriken wants to merge 1 commit into
tryandromeda:mainfrom
petamoriken:fix/abort-signal

Conversation

@petamoriken

Copy link
Copy Markdown
Contributor

Fixed parts where AbortSignal did not comply with the specification.

  • Fixed a memory leak caused by AbortSignal.any holding strong references to dependent AbortSignals
  • new AbortSignal() throws an exception
  • The onabort property of AbortSignal

Also, modified WPT to execute // META: script= prior to test execution.

@github-actions

Copy link
Copy Markdown

Performance Comparison main → fix/abort-signal

Total Elapsed Time: 22.68ms → 23.58ms (+4.0%)
CPU Baseline: 57.78µs → 58.20µs (+0.7%)
Benchmark ID: timing

timing - Execution duration of functions.

+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| Function                            | Calls                | Avg                            | P50                            | P95                          | P99                          | Total                            | % Total                      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| andromeda::main                     | 1 → 1 (+0.0%)        | 21.99ms → 23.37ms (+6.3%)      | 22.00ms → 23.38ms (+6.3%)      | 22.00ms → 23.38ms (+6.3%)    | 22.00ms → 23.38ms (+6.3%)    | 21.99ms → 23.37ms (+6.3%)        | 100.00% → 100.00% (+0.0%)    |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| andromeda::run_main                 | 1 → 1 (+0.0%)        | 21.97ms → 23.35ms (+6.3%)      | 21.99ms → 23.36ms (+6.2%)      | 21.99ms → 23.36ms (+6.2%)    | 21.99ms → 23.36ms (+6.2%)    | 21.97ms → 23.35ms (+6.3%)        | 99.92% → 99.93% (+0.0%)      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| run::run                            | 1 → 1 (+0.0%)        | 21.35ms → 22.82ms (+6.9%)      | 21.36ms → 22.84ms (+6.9%)      | 21.36ms → 22.84ms (+6.9%)    | 21.36ms → 22.84ms (+6.9%)    | 21.35ms → 22.82ms (+6.9%)        | 97.12% → 97.67% (+0.6%)      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| run::run_with_config                | 1 → 1 (+0.0%)        | 21.35ms → 22.82ms (+6.9%)      | 21.36ms → 22.82ms (+6.8%)      | 21.36ms → 22.82ms (+6.8%)    | 21.36ms → 22.82ms (+6.8%)    | 21.35ms → 22.82ms (+6.9%)        | 97.11% → 97.67% (+0.6%)      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| Runtime::new                        | 1 → 1 (+0.0%)        | 11.34ms → 11.36ms (+0.2%)      | 11.34ms → 11.36ms (+0.2%)      | 11.34ms → 11.36ms (+0.2%)    | 11.34ms → 11.36ms (+0.2%)    | 11.34ms → 11.36ms (+0.2%)        | 51.55% → 48.60% (-5.7%)      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| Extension::load                     | 25 → 25 (+0.0%)      | 436.72µs → 437.02µs (+0.1%)    | 166.78µs → 170.37µs (+2.2%)    | 1.63ms → 1.69ms (+3.7%)      | 2.99ms → 2.95ms (-1.3%)      | 10.92ms → 10.93ms (+0.1%)        | 49.65% → 46.76% (-5.8%)      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| Runtime::run                        | 1 → 1 (+0.0%)        | 9.26ms → 10.68ms (+15.3%)      | 9.27ms → 10.68ms (+15.2%)      | 9.27ms → 10.68ms (+15.2%)    | 9.27ms → 10.68ms (+15.2%)    | 9.26ms → 10.68ms (+15.3%)        | 42.12% → 45.70% (+8.5%)      |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| ConsoleExt::internal_print          | 180 → 180 (+0.0%)    | 2.24µs → 3.85µs (+71.9%) ⚠️    | 1.10µs → 911.00ns (-17.2%)     | 7.23µs → 3.89µs (-46.2%) 🚀  | 12.60µs → 12.31µs (-2.3%)    | 402.53µs → 692.46µs (+72.0%) ⚠️  | 1.83% → 2.96% (+61.7%) ⚠️    |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| recommended::recommended_extensions | 1 → 1 (+0.0%)        | 43.16µs → 45.90µs (+6.3%)      | 43.17µs → 45.92µs (+6.4%)      | 43.17µs → 45.92µs (+6.4%)    | 43.17µs → 45.92µs (+6.4%)    | 43.16µs → 45.90µs (+6.3%)        | 0.20% → 0.20% (+0.0%)        |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+
| ProcessExt::internal_get_cli_args   | 1 → 1 (+0.0%)        | 10.02µs → 8.10µs (-19.2%)      | 10.02µs → 8.10µs (-19.2%)      | 10.02µs → 8.10µs (-19.2%)    | 10.02µs → 8.10µs (-19.2%)    | 10.02µs → 8.10µs (-19.2%)        | 0.05% → 0.03% (-40.0%) 🚀    |
+-------------------------------------+----------------------+--------------------------------+--------------------------------+------------------------------+------------------------------+----------------------------------+------------------------------+

Threads

+-----------------+-----------+-----------+
| Thread          | CPU % Avg | CPU % Max |
+-----------------+-----------+-----------+
| hp-functions    |           |           |
+-----------------+-----------+-----------+
| hp-threads      |           |           |
+-----------------+-----------+-----------+
| hp-cpu-baseline |           |           |
+-----------------+-----------+-----------+

Generated with hotpath-rs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant