Closed kkebo closed 3 weeks ago
I found that the speed varied greatly depending on the input type. Deque<Unicode.Scalar>
is 8x faster than Deque<Character>
. This might be because of the size of types. Character
is 16 bytes while Unicode.Scalar
is only 4 bytes.
==================
Running Benchmarks
==================
100% [------------------------------------------------------------] ETA: 00:00:00 | MyBenchmark:lipsum
===================================================
Comparing results between 'main' and 'Current_run'
===================================================
Host 'Brown-rhinoceros-beetle' with 8 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT_DYNAMIC Wed Apr 24 00:11:34 UTC 2024
MyBenchmark
============================================================================================================================
----------------------------------------------------------------------------------------------------------------------------
lipsum metrics
----------------------------------------------------------------------------------------------------------------------------
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Time (wall clock) (ฮผs) * โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ main โ 775 โ 775 โ 776 โ 782 โ 783 โ 784 โ 784 โ 78 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ Current_run โ 96 โ 96 โ 96 โ 96 โ 97 โ 103 โ 103 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ ฮ โ -679 โ -679 โ -680 โ -686 โ -686 โ -681 โ -681 โ 22 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ Improvement % โ 88 โ 88 โ 88 โ 88 โ 88 โ 87 โ 87 โ 22 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
There is no difference between Deque<UInt32>
and Deque<Unicode.Scalar>
.
Even if Tokenizer.tokenize
is simple such as the following code, it takes about 80 ยตs while html5ever takes only 14.330 ยตs.
public mutating func tokenize(_ input: inout Deque<Unicode.Scalar>) {
repeat {
switch input.popFirst() {
case nil: self.emitEOF(); return
case let c?: self.emit(c)
}
} while true
}
This takes 36 ยตs. Therefore, all self.emit(c)
s seem to take 44 ยตs.
public mutating func tokenize(_ input: inout Deque<Unicode.Scalar>) {
repeat {
switch input.popFirst() {
case nil: self.emitEOF(); return
case let c?: ()
}
} while true
}
This takes 56 ยตs.
public mutating func tokenize(_ input: inout Deque<Unicode.Scalar>) {
for c in input {
self.emit(c)
}
self.emitEOF()
}
This takes 80 ยตs. Therefore, all popFirst()
s are 24 ยตs slower than all next()
s.
public mutating func tokenize(_ input: inout Deque<Unicode.Scalar>) {
while let c = input.popFirst() {
self.emit(c)
}
self.emitEOF()
}
The latest result (0a875dd273714332af0f544632491b6c131b3d65) is like:
$ swift --version
Swift version 6.0-dev (LLVM 7b8e6346027d2b1, Swift 763421cee31dc8f)
Target: aarch64-unknown-linux-gnu
$ swift package --package-path Benchmarks benchmark
...
===================================================
Baseline 'Current_run'
===================================================
Host 'Brown-rhinoceros-beetle' with 8 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT_DYNAMIC Wed Apr 24 00:11:34 UTC 2024
===========
MyBenchmark
===========
lipsum
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 92 โ 92 โ 93 โ 93 โ 93 โ 99 โ 99 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
lipsum-zh
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 11 โ 11 โ 11 โ 11 โ 12 โ 12 โ 12 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
medium-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 129 โ 129 โ 129 โ 129 โ 130 โ 137 โ 138 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
small-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 16 โ 16 โ 16 โ 16 โ 17 โ 18 โ 18 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
strong
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 39 โ 39 โ 39 โ 39 โ 39 โ 42 โ 42 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
tiny-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 484 โ 487 โ 495 โ 521 โ 561 โ 564 โ 564 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
The latest result (5ff6580b4587e8107576393e5046f4863ea3c58c)
$ swift --version
Swift version 6.0-dev (LLVM 7b8e6346027d2b1, Swift 763421cee31dc8f)
Target: aarch64-unknown-linux-gnu
$ swift package --package-path Benchmarks benchmark
...
===================================================
Baseline 'Current_run'
===================================================
Host 'Brown-rhinoceros-beetle' with 8 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT_DYNAMIC Wed Apr 24 00:11:34 UTC 2024
===========
MyBenchmark
===========
lipsum
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 53 โ 53 โ 53 โ 53 โ 53 โ 56 โ 56 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
lipsum-zh
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 6558 โ 6562 โ 6566 โ 6627 โ 6791 โ 6955 โ 7031 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
medium-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 123 โ 123 โ 123 โ 123 โ 124 โ 131 โ 131 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
small-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 15 โ 15 โ 15 โ 15 โ 15 โ 16 โ 16 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
strong
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 39 โ 39 โ 39 โ 39 โ 39 โ 42 โ 42 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
tiny-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 405 โ 425 โ 436 โ 470 โ 501 โ 505 โ 507 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
Ideas
Deque<Unicode.Scalar>
to ArraySlice<Unicode.Scalar>
repeat { ... } while true
to while let c = ... { ... }
getChar
's validations as much as possibleThe latest result is here.
ef53e16198a7e3f0fc33236fc7a579780f1071fd
===================================================
Baseline 'main'
===================================================
Host 'Brown-rhinoceros-beetle' with 8 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT_DYNAMIC Wed Apr 24 00:11:34 UTC 2024
===========
MyBenchmark
===========
lipsum
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 17 โ 17 โ 17 โ 17 โ 18 โ 19 โ 19 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
lipsum-zh
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 2135 โ 2150 โ 2216 โ 2226 โ 2294 โ 2312 โ 2317 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
medium-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 62 โ 62 โ 62 โ 62 โ 65 โ 66 โ 66 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
small-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 5903 โ 5927 โ 5960 โ 6078 โ 6140 โ 6291 โ 6369 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
strong
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 34 โ 34 โ 34 โ 34 โ 36 โ 37 โ 41 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
tiny-fragment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 496 โ 517 โ 534 โ 616 โ 672 โ 730 โ 733 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
254d99e75a382ed1ef68d6e12857c3b53400d3ab
c26fa2c4e0dd163c91b4a54c65255586e6067c05
Host 'Brown-rhinoceros-beetle' with 8 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT_DYNAMIC Fri May 17 17:22:13 UTC 2024
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 15 โ 16 โ 16 โ 16 โ 17 โ 17 โ 17 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 2085 โ 2093 โ 2095 โ 2101 โ 2183 โ 2431 โ 2431 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 49 โ 49 โ 49 โ 49 โ 50 โ 52 โ 53 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 5272 โ 5288 โ 5321 โ 5468 โ 5505 โ 5659 โ 5659 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ฮผs) * โ 22 โ 22 โ 22 โ 22 โ 23 โ 24 โ 24 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโคโโโโโโโโโโ
โ Metric โ p0 โ p25 โ p50 โ p75 โ p90 โ p99 โ p100 โ Samples โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโชโโโโโโโโโโก
โ Time (wall clock) (ns) * โ 516 โ 520 โ 538 โ 559 โ 1048 โ 1115 โ 1116 โ 100 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโงโโโโโโโโโโ
3652aea9d7f2a75fc6acafddaa2d8c302cfc3a5e
(generated by https://gist.github.com/kkebo/daf0592475542c8aef24c70235cd988e)
Host 'Brown-rhinoceros-beetle' with 8 'aarch64' processors with 7 GB memory, running:
#1 SMP PREEMPT_DYNAMIC Wed May 22 14:40:24 UTC 2024
Metric | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples |
---|---|---|---|---|---|---|---|---|
Time (wall clock) (ฮผs) * | 14 | 14 | 14 | 14 | 15 | 16 | 16 | 100 |
Metric | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples |
---|---|---|---|---|---|---|---|---|
Time (wall clock) (ns) * | 1550 | 1579 | 1619 | 1626 | 1677 | 1811 | 1837 | 100 |
Metric | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples |
---|---|---|---|---|---|---|---|---|
Time (wall clock) (ฮผs) * | 44 | 44 | 44 | 44 | 44 | 47 | 47 | 100 |
Metric | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples |
---|---|---|---|---|---|---|---|---|
Time (wall clock) (ns) * | 4615 | 4620 | 4628 | 4641 | 4755 | 4776 | 4777 | 100 |
Metric | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples |
---|---|---|---|---|---|---|---|---|
Time (wall clock) (ฮผs) * | 20 | 20 | 20 | 20 | 20 | 21 | 21 | 100 |
Metric | p0 | p25 | p50 | p75 | p90 | p99 | p100 | Samples |
---|---|---|---|---|---|---|---|---|
Time (wall clock) (ns) * | 469 | 488 | 506 | 585 | 635 | 693 | 695 | 100 |
The latest main branch (ececd702cf538e2ab406b6e36bd78d3b0ae67c92) results on Raspberry Pi 5B:
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)
(generated by https://gist.github.com/kkebo/daf0592475542c8aef24c70235cd988e)
Zyphy is no longer slow.
Summary
The current implementation of
Tokenizer
is slower than html5ever. I believe that it can become as fast as html5ever.The current benchmark results
From #59
Running on the M1 Mac mini that runs Fedora 39 aarch64 (Asahi Linux).
zyphy:
html5ever (1ae2de3a1796a9b52a804a02039c6c1499e2f461):