preact icon indicating copy to clipboard operation
preact copied to clipboard

Experiment: Remove conditional error bubbling

Open developit opened this issue 4 years ago • 2 comments
trafficstars

This fixes #3233 by making error bubbling/propagation stop at the first componentDidCatch boundary, regardless of whether calling the method happens to setState (or otherwise mark its component as dirty).

This will fail our two conditional error bubbling tests, as it changes the behavior those are verifying.

developit avatar Jul 23 '21 15:07 developit

📊 Tachometer Benchmark Results

Summary

duration

  • 02_replace1k: unsure 🔍 -2% - +3% (-2.19ms - +3.50ms)
    preact-local vs preact-master
  • 03_update10th1k_x16: unsure 🔍 -5% - +2% (-1.99ms - +1.05ms)
    preact-local vs preact-master
  • 07_create10k: unsure 🔍 -2% - +1% (-21.45ms - +12.54ms)
    preact-local vs preact-master
  • filter_list: unsure 🔍 -3% - +1% (-0.92ms - +0.36ms)
    preact-local vs preact-master
  • hydrate1k: unsure 🔍 -9% - +2% (-17.55ms - +4.25ms)
    preact-local vs preact-master
  • many_updates: unsure 🔍 -5% - +3% (-1.58ms - +1.09ms)
    preact-local vs preact-master
  • text_update: unsure 🔍 -5% - +3% (-0.17ms - +0.12ms)
    preact-local vs preact-master

usedJSHeapSize

  • 02_replace1k: unsure 🔍 -0% - +0% (-0.01ms - +0.00ms)
    preact-local vs preact-master
  • 03_update10th1k_x16: unsure 🔍 -0% - +0% (-0.00ms - +0.01ms)
    preact-local vs preact-master
  • 07_create10k: unsure 🔍 -0% - +0% (-0.00ms - +0.00ms)
    preact-local vs preact-master
  • filter_list: unsure 🔍 -0% - +0% (-0.00ms - +0.00ms)
    preact-local vs preact-master
  • hydrate1k: unsure 🔍 -1% - +0% (-0.08ms - +0.01ms)
    preact-local vs preact-master
  • many_updates: unsure 🔍 -0% - +0% (-0.00ms - +0.00ms)
    preact-local vs preact-master
  • text_update: unsure 🔍 -0% - -0% (-0.00ms - -0.00ms)
    preact-local vs preact-master

Results

02_replace1k
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 80
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master117.04ms - 121.25ms-unsure 🔍
-3% - +2%
-3.50ms - +2.19ms
preact-local117.89ms - 121.72msunsure 🔍
-2% - +3%
-2.19ms - +3.50ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master3.47ms - 3.48ms-unsure 🔍
-0% - +0%
-0.00ms - +0.01ms
preact-local3.47ms - 3.48msunsure 🔍
-0% - +0%
-0.01ms - +0.00ms
-

run-warmup-0

VersionAvg timevs preact-mastervs preact-local
preact-master44.06ms - 45.55ms-unsure 🔍
-2% - +3%
-0.79ms - +1.21ms
preact-local43.93ms - 45.26msunsure 🔍
-3% - +2%
-1.21ms - +0.79ms
-

run-warmup-1

VersionAvg timevs preact-mastervs preact-local
preact-master66.77ms - 69.44ms-unsure 🔍
-3% - +3%
-1.79ms - +1.97ms
preact-local66.69ms - 69.34msunsure 🔍
-3% - +3%
-1.97ms - +1.79ms
-

run-warmup-2

VersionAvg timevs preact-mastervs preact-local
preact-master56.98ms - 63.19ms-unsure 🔍
-4% - +11%
-2.48ms - +6.33ms
preact-local55.03ms - 61.29msunsure 🔍
-10% - +4%
-6.33ms - +2.48ms
-

run-warmup-3

VersionAvg timevs preact-mastervs preact-local
preact-master45.59ms - 52.36ms-unsure 🔍
-12% - +6%
-6.12ms - +3.21ms
preact-local47.21ms - 53.63msunsure 🔍
-7% - +13%
-3.21ms - +6.12ms
-

run-warmup-4

VersionAvg timevs preact-mastervs preact-local
preact-master64.13ms - 67.43ms-unsure 🔍
-5% - +2%
-3.39ms - +1.40ms
preact-local65.04ms - 68.50msunsure 🔍
-2% - +5%
-1.40ms - +3.39ms
-

run-final

VersionAvg timevs preact-mastervs preact-local
preact-master38.23ms - 40.97ms-unsure 🔍
-7% - +3%
-2.91ms - +1.09ms
preact-local39.06ms - 41.96msunsure 🔍
-3% - +7%
-1.09ms - +2.91ms
-
03_update10th1k_x16
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 110
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master41.73ms - 43.85ms-unsure 🔍
-3% - +5%
-1.05ms - +1.99ms
preact-local41.23ms - 43.41msunsure 🔍
-5% - +2%
-1.99ms - +1.05ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master3.40ms - 3.40ms-unsure 🔍
-0% - +0%
-0.01ms - +0.00ms
preact-local3.40ms - 3.40msunsure 🔍
-0% - +0%
-0.00ms - +0.01ms
-
07_create10k
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 50
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master1250.08ms - 1273.23ms-unsure 🔍
-1% - +2%
-12.54ms - +21.45ms
preact-local1244.75ms - 1269.64msunsure 🔍
-2% - +1%
-21.45ms - +12.54ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master25.32ms - 25.32ms-unsure 🔍
-0% - +0%
-0.00ms - +0.00ms
preact-local25.32ms - 25.33msunsure 🔍
-0% - +0%
-0.00ms - +0.00ms
-
filter_list
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 50
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master28.70ms - 29.58ms-unsure 🔍
-1% - +3%
-0.36ms - +0.92ms
preact-local28.40ms - 29.32msunsure 🔍
-3% - +1%
-0.92ms - +0.36ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master1.54ms - 1.55ms-unsure 🔍
-0% - +0%
-0.00ms - +0.00ms
preact-local1.55ms - 1.55msunsure 🔍
-0% - +0%
-0.00ms - +0.00ms
-
hydrate1k
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 80
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master192.71ms - 206.26ms-unsure 🔍
-2% - +9%
-4.25ms - +17.55ms
preact-local184.30ms - 201.37msunsure 🔍
-9% - +2%
-17.55ms - +4.25ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master6.19ms - 6.25ms-unsure 🔍
-0% - +1%
-0.01ms - +0.08ms
preact-local6.15ms - 6.22msunsure 🔍
-1% - +0%
-0.08ms - +0.01ms
-
many_updates
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 60
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master33.86ms - 35.78ms-unsure 🔍
-3% - +5%
-1.09ms - +1.58ms
preact-local33.65ms - 35.51msunsure 🔍
-5% - +3%
-1.58ms - +1.09ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master4.61ms - 4.61ms-unsure 🔍
-0% - +0%
-0.00ms - +0.00ms
preact-local4.61ms - 4.61msunsure 🔍
-0% - +0%
-0.00ms - +0.00ms
-
text_update
  • Browser: chrome-headless 96.0.4664.45
  • Sample size: 60
  • Built by: Benchmarks #560
  • Commit: 7e84169

duration

VersionAvg timevs preact-mastervs preact-local
preact-master3.47ms - 3.67ms-unsure 🔍
-3% - +5%
-0.12ms - +0.17ms
preact-local3.43ms - 3.65msunsure 🔍
-5% - +3%
-0.17ms - +0.12ms
-

usedJSHeapSize

VersionAvg timevs preact-mastervs preact-local
preact-master0.78ms - 0.78ms-unsure 🔍
+0% - +0%
+0.00ms - +0.00ms
preact-local0.78ms - 0.78msunsure 🔍
-0% - -0%
-0.00ms - -0.00ms
-

tachometer-reporter-action v2 for Benchmarks

github-actions[bot] avatar Jul 23 '21 15:07 github-actions[bot]

Size Change: -10 B (0%)

Total Size: 42.1 kB

Filename Size Change
dist/preact.js 3.96 kB -2 B (0%)
dist/preact.min.js 4 kB -2 B (0%)
dist/preact.module.js 3.99 kB -3 B (0%)
dist/preact.umd.js 4.03 kB -3 B (0%)
ℹ️ View Unchanged
Filename Size Change
compat/dist/compat.js 3.44 kB 0 B
compat/dist/compat.module.js 3.42 kB 0 B
compat/dist/compat.umd.js 3.49 kB 0 B
debug/dist/debug.js 2.99 kB 0 B
debug/dist/debug.module.js 2.98 kB 0 B
debug/dist/debug.umd.js 3.07 kB 0 B
devtools/dist/devtools.js 232 B 0 B
devtools/dist/devtools.module.js 240 B 0 B
devtools/dist/devtools.umd.js 308 B 0 B
hooks/dist/hooks.js 1.14 kB 0 B
hooks/dist/hooks.module.js 1.16 kB 0 B
hooks/dist/hooks.umd.js 1.22 kB 0 B
jsx-runtime/dist/jsxRuntime.js 317 B 0 B
jsx-runtime/dist/jsxRuntime.module.js 327 B 0 B
jsx-runtime/dist/jsxRuntime.umd.js 395 B 0 B
test-utils/dist/testUtils.js 437 B 0 B
test-utils/dist/testUtils.module.js 439 B 0 B
test-utils/dist/testUtils.umd.js 515 B 0 B

compressed-size-action

github-actions[bot] avatar Jul 23 '21 15:07 github-actions[bot]