kkebo / zyphy

Zyphy is (or will be) a fast web browser engine written in Swift.
MIT License
4 stars 1 forks source link

perf: make `DOCTYPE` non-copyable #106

Closed kkebo closed 1 week ago

kkebo commented 1 week ago

Comparing results between 'main' and 'Current_run'

Host 'Raspberry-beetle' with 4 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT Debian 1:6.6.47-1+rpt1 (2024-09-02)

MyBenchmark

lipsum metrics

Time (wall clock): results within specified thresholds, fold down for details.

| Time (wall clock) (μs) * | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples | |:----------------------------------------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:| | main | 24 | 24 | 24 | 24 | 24 | 25 | 25 | 100 | | Current_run | 24 | 24 | 24 | 24 | 24 | 24 | 24 | 100 | | Δ | 0 | 0 | 0 | 0 | 0 | -1 | -1 | 0 | | Improvement % | 0 | 0 | 0 | 0 | 0 | 4 | 4 | 0 |

lipsum-zh metrics

Time (wall clock): results within specified thresholds, fold down for details.

| Time (wall clock) (ns) * | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples | |:----------------------------------------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:| | main | 3010 | 3017 | 3023 | 3033 | 3039 | 3142 | 3144 | 100 | | Current_run | 3062 | 3068 | 3082 | 3090 | 3095 | 3156 | 3255 | 100 | | Δ | 52 | 51 | 59 | 57 | 56 | 14 | 111 | 0 | | Improvement % | -2 | -2 | -2 | -2 | -2 | 0 | -4 | 0 |

medium-fragment metrics

Time (wall clock): results within specified thresholds, fold down for details.

| Time (wall clock) (μs) * | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples | |:----------------------------------------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:| | main | 71 | 71 | 71 | 71 | 71 | 72 | 72 | 100 | | Current_run | 68 | 68 | 68 | 69 | 69 | 70 | 70 | 100 | | Δ | -3 | -3 | -3 | -2 | -2 | -2 | -2 | 0 | | Improvement % | 4 | 4 | 4 | 3 | 3 | 3 | 3 | 0 |

small-fragment metrics

Time (wall clock): results within specified thresholds, fold down for details.

| Time (wall clock) (ns) * | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples | |:----------------------------------------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:| | main | 7374 | 7414 | 7422 | 7434 | 7438 | 7475 | 7748 | 100 | | Current_run | 7430 | 7451 | 7455 | 7463 | 7487 | 7524 | 7836 | 100 | | Δ | 56 | 37 | 33 | 29 | 49 | 49 | 88 | 0 | | Improvement % | -1 | 0 | 0 | 0 | -1 | -1 | -1 | 0 |

strong metrics

Time (wall clock): results within specified thresholds, fold down for details.

| Time (wall clock) (μs) * | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples | |:----------------------------------------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:| | main | 35 | 35 | 35 | 35 | 35 | 35 | 35 | 100 | | Current_run | 35 | 35 | 35 | 35 | 35 | 35 | 35 | 100 | | Δ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Improvement % | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

tiny-fragment metrics

Time (wall clock): results within specified thresholds, fold down for details.

| Time (wall clock) (ns) * | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples | |:----------------------------------------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:|--------:| | main | 710 | 711 | 712 | 713 | 715 | 728 | 736 | 100 | | Current_run | 712 | 714 | 715 | 716 | 719 | 732 | 740 | 100 | | Δ | 2 | 3 | 3 | 3 | 4 | 4 | 4 | 0 | | Improvement % | 0 | 0 | 0 | 0 | -1 | -1 | -1 | 0 |

github-actions[bot] commented 1 week ago

Code Metrics Report

main (530f1ae) #106 (dbd8d11) +/-
Coverage 85.3% 84.9% -0.5%
Details ``` diff | | main (530f1ae) | #106 (dbd8d11) | +/- | |-----------|----------------|----------------|-------| - | Coverage | 85.3% | 84.9% | -0.5% | | Files | 9 | 9 | 0 | | Lines | 1588 | 1605 | +17 | + | Covered | 1356 | 1364 | +8 | ```

Code coverage of files in pull request scope (83.2% → 82.7%)

Files Coverage +/-
Sources/Tokenizer/DOCTYPE.swift 100.0% 0.0%
Sources/Tokenizer/Tokenizer.swift 82.5% -0.6%

Reported by octocov