Skip to content

Benchmarks

Eris edited this page Apr 2, 2023 · 27 revisions

This page shows the results of CatCore’s performance benchmarks and serves as a comparison with the old ChatCore implementation. The initial resultsets are a subset of the ones that apply to Beat Saber, scoped to the specific version of the Unity Mono runtime.
Further down, the full benchmark results are provided, which consist of runs against the following runtimes:

  • .NET 5
  • .NET 6
  • .NET 7
  • .NET Framework 4.7.2
  • Mono Unity 2019.4.28f1
  • Mono Unity 2021.2.0b4
  • Mono Unity 2021.3.16f1
  • Mono Unity 2022.1.0a12

Legend

Before getting to the actual benchmarks and results, it's probably a good idea to have a bit of understanding of how to interpret the results. So here is a small legend on what each and every column means.

  Method    : Name of the benchmark case
  Runtime   : Denotes the name and version of the runtime.
  Mean      : Arithmetic mean of all measurements
  Error     : Half of 99.9% confidence interval
  StdDev    : Standard deviation of all measurements
  StdErr    : Standard error of all measurements
  Min       : Minimum
  Q1        : Quartile 1 (25th percentile)
  Median    : Value separating the higher half of all measurements (50th percentile)
  Q3        : Quartile 3 (75th percentile)
  Max       : Maximum
  Op/s      : Operation per second
  Ratio     : Mean of the ratio distribution ([Current]/[Baseline])
  Gen 0     : GC Generation 0 collects per 1000 operations
  Gen 1     : GC Generation 1 collects per 1000 operations
  Allocated : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B)
  1 ns      : 1 Nanosecond (0.000000001 sec)

This is, however, a lot of information and might be a bit overwhelming, so in short, you mainly want to focus on the following columns.

  • Method: This is a pretty important column as it shows the actual name of the implementation to which the results next to it belong.
  • mean and error: The mean column indicates how much (or little) time was spent executing the implementation a single time on average, while the error column indicates the margin of error. You would want these numbers to be as LOW as possible.
  • Op/s: This column indicates how many times said implementation could be executed in the timespan of a second. You want these numbers to be as HIGH as possible.

Those should give you a pretty good idea on how to interpret the results, applicable to Beat Saber at least.

However, the raw resultsets below contain a few more columns that might be of interest.

  • Runtime: This one indicates the runtime and version in which the implementations were being run. This is handy to know because different runtime (versions) can have varying characteristics.
  • Gen 0, Gen 1, Allocated: The first 2 columns indicate how much the garbage collector is pressured, while the third one denotes how much garbage is being generated during a singular run of the the method. You want those to be as LOW as possible, as a garbage collection trigger is often the cause of a lag spike.

Mono Unity 2019.4.28f1 (Beat Saber)

Most of the optimizations were focused on the chat handling part of CatCore. Given that the old implementation was relying on a bunch of Regular Expressions (also known as "Regex"), which are... incredibly slow, especially in Mono Unity, as well as not exactly being foolproof, I decided to replace all of them with tailor-made logic.

The first 3 sets of benchmarks will be regarding the actual deconstruction of an incoming chat message, the fourth benchmark encompasses the performance improvements when a raw incoming chat message consists of multiple messages, while the fifth impacts the performance of detecting emotes in a chat message.

High-level IRC (chat) message deconstruction

Okay so, "High-level IRC (chat) message deconstruction"... it's a mouthful, but you might be wondering what it exactly encompasses? Well, glad you asked. Every incoming IRC (chat) message consists of up-to 5 different, but mostly optional main parts:

  1. Tags (basically metadata about the message)
  2. Prefix
  3. CommandType
  4. ChannelName
  5. Message

It's important to note that of those 5 parts, CommandType is the only one which is required to be present. All the other parts can be omitted depending on the CommandType itself.

Thus... with that small explanation out of the way, it's time to explain the goal of this benchmark, namely optimizing the splitting of an entire message into those 5 different parts.

Our benchmark itself consists of 2 methods that can both handle this for us:

  1. RegexBenchmark
    This is the old ChatCore implementation that relies on Regular Expressions (also known as "Regex" from here on out), however... it's known to be hard to write, and it's highly likely that one ends up writing an poorly performing Regex as well. That's why I wrote 2.
  2. SpanDissectionBenchmark
    This is the new CatCore implementation. This is basically a tailor-made parser for those messages that also leverages some newer runtime features to reduce memory allocations. As a result of that, it also tries to reduce the amount of "Stop the world" garbage collection cycles (by players also known as "lag spikes").

This benchmark was also parameterized to test the old and new implementations against several different messages.
Those messages are actual real-world data, this means that they're messages that actually were sent at some point in time.
The results table will also show the total length of each message between square brackets in the IrcMessage column.

  1. :tmi.twitch.tv 376 realeris :>
  2. :realeris!realeris@realeris.tmi.twitch.tv JOIN #realeris
  3. :realeris.tmi.twitch.tv 353 realeris = #realeris :realeris
  4. :realeris.tmi.twitch.tv 366 realeris #realeris :End of /NAMES list
  5. :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership
  6. @badge-info=subscriber/1;badges=broadcaster/1,subscriber/0;client-nonce=1ef9899702c12a2081fa33899d7e8465;color=#FF69B4;display-name=RealEris;emotes=;flags=;id=b4595e1c-dd1b-4e45-b7df-a3403c945ad6;mod=0;room-id=405499635;subscriber=1;tmi-sent-ts=1614390981294;turbo=0;user-id=405499635;user-type= :realeris!realeris@realeris.tmi.twitch.tv PRIVMSG #realeris :Heya
  7. @badge-info=founder/13;badges=moderator/1,founder/0,bits/1000;client-nonce=05e5fe0b80aadc4c5035303b99d6762a;color=#DAA520;display-name=Scarapter;emotes=;flags=;id=7317d5aa-38ae-4191-88d7-d4d54a3c27bc;mod=1;room-id=62975335;subscriber=0;tmi-sent-ts=1617644034348;turbo=0;user-id=51591450;user-type=mod :scarapter!scarapter@scarapter.tmi.twitch.tv PRIVMSG #lnterz :i definitely dont miss the mass of random charging ports that existed
  8. @badge-info=;badges=;color=;display-name=bonkeybob;emotes=;flags=;id=108b80a1-7829-4879-86cc-953c3a6b122b;mod=0;room-id=62975335;subscriber=0;tmi-sent-ts=1617644112658;turbo=0;user-id=549616012;user-type= :bonkeybob!bonkeybob@bonkeybob.tmi.twitch.tv PRIVMSG #lnterz :The phrase Γ’οΏ½οΏ½itΓ’οΏ½οΏ½s just a gameΓ’οΏ½οΏ½ is such a weak mindset. You are ok with what happened, losing, imperfection of a craft. When you stop getting angry after losing, youΓ’οΏ½οΏ½ve lost twice. ThereΓ’οΏ½οΏ½s always something to learn, and always room for improvement, never settle.
  9. @badge-info=subscriber/1;badges=broadcaster/1,subscriber/0;client-nonce=1ef9899702c12a2081fa33899d7e8465;color=#FF69B4;display-name=RealEris;emotes=;flags=;id=b4595e1c-dd1b-4e45-b7df-a3403c945ad6;mod=0;room-id=405499635;subscriber=1;tmi-sent-ts=1614390981294;turbo=0;user-id=405499635;user-type= :realeris!realeris@realeris.tmi.twitch.tv PRIVMSG #realeris :Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop p

The results below basically show that there's already a massive performance improvement for the short and technical messages. (cases 1 - 5)
However, for the actual chat messages (cases 6 - 9), which in normal circumstances make up the majority of the messages, we can note down an even bigger performance improvement.

TL;DR

Depending on the raw message length, we're seeing an improvement starting at 7x, but mostly ranging from ~11.1x, up to ~16.6x.

The benchmark results are reproducible by executing the following benchmark: TwitchIrcMessageHighLevelDeconstructionBenchmark.cs


BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1645 (21H2)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4470.0), X64 RyuJIT
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86
Method Job Runtime IrcMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen 0 Gen 1 Allocated
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 361.56 ns 2.340 ns 2.189 ns 0.565 ns 358.98 ns 360.18 ns 360.79 ns 363.09 ns 365.72 ns 2,765,815.9 0.14 No 0.0343 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 2,500.16 ns 6.565 ns 6.141 ns 1.586 ns 2,492.50 ns 2,495.83 ns 2,498.48 ns 2,503.85 ns 2,510.76 ns 399,974.1 1.00 Yes 0.2441 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [56] 307.48 ns 1.264 ns 1.182 ns 0.305 ns 305.13 ns 306.81 ns 307.85 ns 308.25 ns 309.30 ns 3,252,243.2 0.11 No 0.0443 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [56] 2,783.60 ns 7.138 ns 5.573 ns 1.609 ns 2,773.69 ns 2,780.06 ns 2,782.94 ns 2,788.61 ns 2,790.78 ns 359,246.8 1.00 Yes 0.3052 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [58] 409.13 ns 1.222 ns 1.143 ns 0.295 ns 407.47 ns 408.36 ns 408.72 ns 409.87 ns 411.97 ns 2,444,188.3 0.13 No 0.0539 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [58] 3,154.35 ns 10.074 ns 8.412 ns 2.333 ns 3,143.55 ns 3,149.39 ns 3,151.29 ns 3,156.36 ns 3,173.56 ns 317,022.1 1.00 Yes 0.2670 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...) list [66] 405.82 ns 0.822 ns 0.642 ns 0.185 ns 404.54 ns 405.22 ns 406.06 ns 406.23 ns 406.52 ns 2,464,167.5 0.13 No 0.0591 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...) list [66] 3,122.79 ns 6.530 ns 5.789 ns 1.547 ns 3,112.50 ns 3,119.19 ns 3,122.12 ns 3,126.29 ns 3,135.81 ns 320,226.6 1.00 Yes 0.2747 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 352.62 ns 0.777 ns 0.649 ns 0.180 ns 351.50 ns 352.42 ns 352.89 ns 353.15 ns 353.36 ns 2,835,916.2 0.11 No 0.0558 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 3,282.52 ns 5.705 ns 5.337 ns 1.378 ns 3,274.53 ns 3,278.95 ns 3,283.47 ns 3,286.28 ns 3,293.63 ns 304,644.0 1.00 Yes 0.2708 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)Heya [361] 687.30 ns 2.639 ns 2.204 ns 0.611 ns 684.12 ns 685.54 ns 686.59 ns 688.77 ns 691.37 ns 1,454,959.5 0.09 No 0.2241 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)Heya [361] 7,484.77 ns 20.474 ns 19.151 ns 4.945 ns 7,465.97 ns 7,470.10 ns 7,476.78 ns 7,493.77 ns 7,523.47 ns 133,604.7 1.00 Yes 0.4883 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)sted [432] 695.01 ns 4.367 ns 3.871 ns 1.035 ns 690.55 ns 692.49 ns 693.82 ns 697.03 ns 704.73 ns 1,438,821.5 0.08 No 0.2441 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)sted [432] 8,544.20 ns 30.453 ns 28.486 ns 7.355 ns 8,504.17 ns 8,520.40 ns 8,538.84 ns 8,558.49 ns 8,596.22 ns 117,038.4 1.00 Yes 0.5035 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)tle. [539] 750.54 ns 3.074 ns 2.876 ns 0.743 ns 746.38 ns 748.74 ns 750.24 ns 752.76 ns 757.02 ns 1,332,369.4 0.07 No 0.3252 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)tle. [539] 10,024.33 ns 67.130 ns 62.793 ns 16.213 ns 9,957.36 ns 9,975.43 ns 9,997.11 ns 10,058.46 ns 10,142.75 ns 99,757.3 1.00 Yes 0.5646 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)op p [857] 913.65 ns 2.422 ns 2.266 ns 0.585 ns 909.75 ns 912.03 ns 913.86 ns 915.14 ns 917.27 ns 1,094,511.1 0.06 No 0.4883 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)op p [857] 14,729.86 ns 269.009 ns 251.631 ns 64.971 ns 14,418.44 ns 14,489.71 ns 14,819.04 ns 14,920.24 ns 15,097.62 ns 67,889.3 1.00 Yes 0.7324 - -

IRC (chat) message tags deconstruction

The second part of in optimizing the message deconstruction is in actually improving the performance of the tags deconstruction.
However, I can fully imagine that I'm once again speaking an unfamiliar language or mentioning unfamiliar things.
As mentioned earlier, the tags of a message are in short basically some metadata of the message. Depending on the message, it will contain:

  • The id is of the message
  • Information about the person who sent the message (eg: their actual chosen display name, their preferred chat color, badges, ...)
  • ...

However, even this is received in 1 long piece of text, and to make it easier for other dependent mods/programs to actually work with this data. CatCore will actually pre-parse the tags as well. However, there are many approaches to do this, with one being faster or slower than the other, so I ended up coming up with a wide variety of implementations. However, for the sake of simplicity, I'll only be comparing the old ChatCore one and the new CatCore one.

Without further ado, the explanation of the actual benchmark cases:

  1. ChatCoreBaselineBenchmark
    As the name implies, this is basically the implementation that was used by ChatCore and does once again rely on a Regex to do the parsing of all the tags, and is thus pretty slow.
  2. SpanDissectionBenchmarkV3
    This was actually already the third iteration of one of the ways I came up with and works in a different way as it ditches the Regex used in the first case entirely. The 2 versions prior to this one still had some room for performance improvement and reduction of memory pressure (and were both also broken and fixed at some point), but their results will also be included in the full resultset below.

This benchmark is also parameterized to make sure it performs well, regardless of the workload.
Below the possible parameters, the parameter that's being used in a specific benchmark case will be shown in the IrcMessage column.

  1. badge-info=;badges=;color=;display-name=bonkeybob;emotes=;flags=;id=108b80a1-7829-4879-86cc-953c3a6b122b;mod=0;room-id=62975335;subscriber=0;tmi-sent-ts=1617644112658;turbo=0;user-id=549616012;user-type=
  2. badge-info=subscriber/1;badges=broadcaster/1,subscriber/0;client-nonce=1ef9899702c12a2081fa33899d7e8465;color=#FF69B4;display-name=RealEris;emotes=;flags=;id=b4595e1c-dd1b-4e45-b7df-a3403c945ad6;mod=0;room-id=405499635;subscriber=1;tmi-sent-ts=1614390981294;turbo=0;user-id=405499635;user-type=
  3. badge-info=founder/13;badges=moderator/1,founder/0,bits/1000;client-nonce=05e5fe0b80aadc4c5035303b99d6762a;color=#DAA520;display-name=Scarapter;emotes=;flags=;id=7317d5aa-38ae-4191-88d7-d4d54a3c27bc;mod=1;room-id=62975335;subscriber=0;tmi-sent-ts=1617644034348;turbo=0;user-id=51591450;user-type=mod

TL;DR

Depending on the length and complexity of the raw metadata text, we're seeing an improvement ranging from 7x, up to ~16.6x.

The benchmark results are reproducible by executing the following benchmark: TwitchIrcMessageTagsDeconstructionBenchmark.cs


BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1645 (21H2)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4470.0), X64 RyuJIT
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86
Method Job Runtime IrcMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen 0 Gen 1 Allocated
SpanDissectionBenchmarkV3 Job-XTWDPN Mono Unity 2019.4.28f1 badg(...)ype= [203] 2,070.2 ns 3.89 ns 3.64 ns 0.94 ns 2,063.7 ns 2,067.0 ns 2,070.2 ns 2,072.7 ns 2,076.5 ns 483,047.6 0.06 No 0.2899 - -
ChatCoreBaselineBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 badg(...)ype= [203] 37,637.0 ns 103.03 ns 96.38 ns 24.88 ns 37,502.9 ns 37,580.6 ns 37,595.8 ns 37,720.6 ns 37,803.8 ns 26,569.6 1.00 Yes 0.9766 - -
SpanDissectionBenchmarkV3 Job-XTWDPN Mono Unity 2019.4.28f1 badg(...)ype= [294] 2,973.6 ns 8.01 ns 6.69 ns 1.86 ns 2,962.2 ns 2,970.2 ns 2,973.8 ns 2,978.2 ns 2,985.6 ns 336,291.2 0.11 No 0.3891 - -
ChatCoreBaselineBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 badg(...)ype= [294] 27,362.1 ns 53.81 ns 44.94 ns 12.46 ns 27,297.0 ns 27,322.5 ns 27,352.8 ns 27,393.8 ns 27,456.4 ns 36,546.9 1.00 Yes 1.4038 - -
SpanDissectionBenchmarkV3 Job-XTWDPN Mono Unity 2019.4.28f1 badg(...)=mod [299] 3,153.1 ns 9.45 ns 7.89 ns 2.19 ns 3,142.6 ns 3,147.9 ns 3,151.6 ns 3,156.1 ns 3,169.4 ns 317,147.3 0.14 No 0.3967 - -
ChatCoreBaselineBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 badg(...)=mod [299] 22,426.2 ns 31.40 ns 27.84 ns 7.44 ns 22,372.5 ns 22,406.9 ns 22,428.9 ns 22,446.1 ns 22,472.9 ns 44,590.6 1.00 Yes 1.4954 - -

IRC (chat) message compound deconstruction

In short, this set of results is the combination of the 2 prior mentioned optimizations, working in tandem. The intent of this is to actually give a better idea of just how much of an impact those, on their own already impressive results, actually have when we actually piece them together. Simple maths would tell us that 1 + 1 = 2, but nothing could be further from the actual truth in this case.

By combining these 2 parts, we can either end up improving or worsening the overall performance of each implementation. This is however also highly dependent on several factors, for example, but not limited to:

  • Runtime characteristics
  • How much garbage was generated and did the garbage collector activate
  • Was it possible to reduce overhead by combining both
  • ...

As (somewhat) mentioned before, the compound deconstruction benchmark case consists of 2 different implementations:

  1. RegexBenchmark
    This is the old ChatCore implementation that relies on 2 Regexes to achieve its goal. The regexes themselves are fairly complex, but the overall amount of code is fairly low.
  2. SpanDissectionBenchmark
    This one is the new CatCore implementation. It consists of the 2 tailor-made parsers that were performance tested earlier. It's a whole lot of code that's also complex to a certain degree, but can use newer runtime features to achieve better performance.

This benchmark utilizes the same parameters as the ones used in the High-level IRC (chat) message deconstruction section.

TL;DR

For the short and more technical messages (cases 1 - 5), we can see an, on average, improvement of 7.5x~8.5x.
For actual chat messages (cases 6-9), we do actually see even more impressive improvements.

  • A ~45x improvement for a message as simple as "hey"
  • An improvement of almost ~3500x for a max length (500 characters) chat message.

The benchmark results are reproducible by executing the following benchmark: TwitchIrcMessageCompoundDeconstructionBenchmark.cs


BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1645 (21H2)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4470.0), X64 RyuJIT
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86
Method Job Runtime IrcMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen 0 Gen 1 Allocated
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 362.39 ns 1.555 ns 1.455 ns 0.376 ns 359.79 ns 361.68 ns 362.49 ns 363.63 ns 364.64 ns 2,759,481.38 0.15 No 0.0343 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 2,465.25 ns 4.485 ns 3.976 ns 1.063 ns 2,457.58 ns 2,463.02 ns 2,466.19 ns 2,467.60 ns 2,471.10 ns 405,638.92 1.00 Yes 0.2441 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [56] 306.70 ns 1.308 ns 1.160 ns 0.310 ns 304.47 ns 306.15 ns 306.83 ns 307.08 ns 308.67 ns 3,260,531.22 0.11 No 0.0443 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [56] 2,802.31 ns 5.838 ns 5.176 ns 1.383 ns 2,794.71 ns 2,798.29 ns 2,801.51 ns 2,806.91 ns 2,810.19 ns 356,848.32 1.00 Yes 0.3052 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [58] 417.00 ns 2.904 ns 2.717 ns 0.701 ns 413.33 ns 415.26 ns 416.52 ns 418.76 ns 423.46 ns 2,398,059.55 0.13 No 0.0539 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...)leris [58] 3,164.86 ns 5.672 ns 5.306 ns 1.370 ns 3,154.75 ns 3,162.28 ns 3,163.17 ns 3,169.13 ns 3,174.34 ns 315,969.61 1.00 Yes 0.2670 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...) list [66] 413.97 ns 1.950 ns 1.824 ns 0.471 ns 410.27 ns 413.02 ns 413.65 ns 415.46 ns 416.57 ns 2,415,610.59 0.13 No 0.0591 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :real(...) list [66] 3,141.06 ns 5.896 ns 5.515 ns 1.424 ns 3,132.91 ns 3,135.44 ns 3,142.11 ns 3,145.18 ns 3,149.20 ns 318,363.98 1.00 Yes 0.2747 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 389.95 ns 1.467 ns 1.373 ns 0.354 ns 387.94 ns 388.73 ns 389.75 ns 391.12 ns 392.52 ns 2,564,406.51 0.12 No 0.0558 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 3,287.59 ns 5.978 ns 5.592 ns 1.444 ns 3,278.60 ns 3,283.00 ns 3,288.18 ns 3,291.96 ns 3,297.29 ns 304,174.07 1.00 Yes 0.2708 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)Heya [361] 3,567.49 ns 7.626 ns 6.761 ns 1.807 ns 3,558.70 ns 3,562.17 ns 3,565.88 ns 3,571.76 ns 3,580.18 ns 280,309.23 0.02 No 0.4539 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)Heya [361] 159,720.72 ns 771.177 ns 683.628 ns 182.707 ns 158,989.84 ns 159,167.83 ns 159,474.34 ns 160,238.27 ns 161,213.92 ns 6,260.93 1.00 Yes 1.7090 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)sted [432] 3,843.61 ns 75.780 ns 74.426 ns 18.607 ns 3,743.91 ns 3,749.57 ns 3,896.47 ns 3,903.13 ns 3,917.95 ns 260,172.22 0.006 No 0.4997 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)sted [432] 618,089.78 ns 1,879.132 ns 1,757.741 ns 453.847 ns 616,057.91 ns 616,779.54 ns 617,671.58 ns 618,884.62 ns 621,829.20 ns 1,617.89 1.000 Yes 0.9766 - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)tle. [539] 2,721.36 ns 5.919 ns 4.943 ns 1.371 ns 2,713.54 ns 2,719.72 ns 2,720.25 ns 2,725.01 ns 2,729.35 ns 367,462.81 0.001 No 0.4921 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)tle. [539] 4,536,654.88 ns 8,660.274 ns 6,761.372 ns 1,951.840 ns 4,528,067.97 ns 4,530,916.60 ns 4,536,573.44 ns 4,542,208.59 ns 4,549,146.09 ns 220.43 1.000 Yes - - -
SpanDissectionBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)op p [857] 3,879.16 ns 19.729 ns 16.475 ns 4.569 ns 3,859.72 ns 3,869.30 ns 3,873.04 ns 3,883.90 ns 3,913.57 ns 257,787.97 0.000 No 0.7324 - -
RegexBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 @bad(...)op p [857] 13,337,526.15 ns 21,661.611 ns 20,262.284 ns 5,231.699 ns 13,304,620.31 ns 13,322,991.41 ns 13,329,735.94 ns 13,355,866.41 ns 13,376,846.88 ns 74.98 1.000 Yes - - -

Multi IRC (chat) message deconstruction

The 3 prior sections described the optimizations done to handle a singular IRC (chat) message, however... it's also possible that the raw message that we receive consists of multiple messages that all need to be handled.
This was already done properly by the new CatCore implementation, but I figured that even with the new implementation, there was still some room for improvement.
The logic to split up the raw text into multiple messages that could be handled on their own, created some unnecessary garbage as the standalone message would be deconstructed even more moments later.
Thus by leveraging some newer runtime features, we could actually reduce a lot of the memory pressure by simply creating less garbage, gaining some more performance in the process.

This benchmark set consists of 3 implementations:

  1. IntermediateStringSplitBenchmark
    This implementation is based on splitting the whole raw message objects beforehand, creating a list of messages that had to be handled.
  2. InlineSpanBasedSplitBenchmarkV1 (Shipped initially) This implementation actually differs a bit from the prior one.
    First, it doesn't really create full objects that contain the messages, but instead creates some kind of wrapper that points to the same block of memory. This had the added benefit that said wrapper could be reused as part of the optimization, as the code to deconstruct a singular message already used such a wrapper already internally.
    Secondly, the splitting happens on-the-fly, compared to having to create the list beforehand. This also saves us an allocation of the list itself.
  3. InlineSpanBasedSplitBenchmarkV2 (Starting CatCore v1.1.0) The previous implemenentation was the one that was shipped initially, however... after almost a year, it was noticed that the last character of messages that were send by CatCore would go missing when received internally. The root cause was found in that implementation, which led to it being done over from scratch. When traced back to the roots, this implementation still works roughly the same way as the previous one, however the mechanism for detecting the separator combination has been changed.

This benchmark isn't exactly parameterized and was instead, but was instead tested against a singular set a messages. This is because messages aren't grouped that much usually.

  1. :tmi.twitch.tv 001 realeris :Welcome, GLHF!\r\n:tmi.twitch.tv 002 realeris :Your host is tmi.twitch.tv\r\n:tmi.twitch.tv 003 realeris :This server is rather new\r\n:tmi.twitch.tv 004 realeris :-\r\n:tmi.twitch.tv 375 realeris :-\r\n:tmi.twitch.tv 372 realeris :You are in a maze of twisty passages, all alike.\r\n:tmi.twitch.tv 376 realeris :>\r\n@badge-info=;badges=;color=#FF69B4;display-name=RealEris;emote-sets=0,237026,489998,300374282,303670737,477339272,592920959,610186276;user-id=405499635;user-type= :tmi.twitch.tv GLOBALUSERSTATE\r\n

TL;DR

We're seeing an average improvement of ~1.23x in this area when the initial implementation is used. Starting with CatCore v1.1.0, this factor gets improved with another ~1.08x on average, which results in an average improvement, compared to baseline, of ~1.33x. This will probably be the smallest gain we've seen so far, but contributes once again to the overall performance improvements of CatCore as a whole.

The benchmark results are reproducible by executing the following benchmark: TwitchIrcMultiMessageCompoundDeconstructionBenchmark.cs


BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.2728/21H2/November2021Update)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86 VectorSize=128
Method Runtime RawIrcMultiMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio RatioSD Baseline Gen0 Gen1 Allocated Alloc Ratio
InlineSpanBasedSplitBenchmarkV2 Mono Unity 2019.4.28f1 :tmi(...)TE\r\n [528] 4,902.7 ns 49.60 ns 46.40 ns 11.98 ns 4,848.7 ns 4,863.6 ns 4,889.3 ns 4,948.6 ns 4,986.8 ns 203,970.7 0.75 0.01 No 0.4883 - - NA
InlineSpanBasedSplitBenchmarkV1 Mono Unity 2019.4.28f1 :tmi(...)TE\r\n [528] 5,247.7 ns 22.22 ns 19.69 ns 5.26 ns 5,220.6 ns 5,237.6 ns 5,242.9 ns 5,257.8 ns 5,291.4 ns 190,560.0 0.81 0.00 No 0.4883 - - NA
IntermediateStringSplitBenchmark Mono Unity 2019.4.28f1 :tmi(...)TE\r\n [528] 6,506.0 ns 43.93 ns 41.09 ns 10.61 ns 6,448.5 ns 6,468.9 ns 6,506.4 ns 6,538.9 ns 6,574.6 ns 153,705.0 1.00 0.00 Yes 1.3199 - - NA

Emoji parsing

This benchmark is related to the code that does the detection of Unicode emojis in chat messages. For example, in the chat message "I ❀️ playing games!", it will detect the heart emoji, as well as in which position it occurred in the chat message. This will allow programs/mods to properly visualize the actual emoji instead of just showing the text representation.

ℹ️ Additional information
It's also important to note that performance was not the only thing that was heavily improved in this area. The other key points that were also addressed, are its maintainability (updating for newer unicode emoji versions is as simple as updating a reference file now), as well as its correctness in detecting emotes, as can be seen on the screenshot below.
It's also good to know that the new implementation was updated in the meantime to support Unicode 14.0 emojis, while the old implementation is still lagging behind, the tests below were run against the Unicode 13.1 Emoji reference file.
Emoji parser unit test results

This benchmark consists of 3 possible implementations that could be used to parse emojis.

  1. FrwTwemojiBaselineBenchmark
    This implementation is the original one from ChatCore, based on the FrwTwemoji repository
  2. FrwTwemojiAdjustedBenchmark
    This implementation is, as the name implies an adjusted version of the baseline one above. It's basically the same idea with just a few minor differences.
  3. CatCoreTwemojiReimplementationBenchmark
    This is the method that's currently in use in CatCore, and is based on an entirely different approach. More details about the actual implementation can be found in the CatCore.Emoji GitHub repository.

Furthermore, those 3 implementations got performance tested against 3 different input values to ensure that their performance wasn't solely based on a single (possibly flawed) approach. The parameter that's being used in a specific benchmark case will be shown in the Message column.

  1. I 🧑 Twemoji! πŸ₯³
  2. I've eaten Chinese food 😱😍🍱🍣πŸ₯πŸ™πŸ˜πŸšπŸœπŸ±πŸ£πŸ₯πŸ™πŸ˜πŸšπŸœ
  3. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

The benchmark results are reproducible by executing the following benchmark: EmojiParserBenchmark.cs


BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1645 (21H2)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4470.0), X64 RyuJIT
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86
Method Job Runtime Message Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen 0 Gen 1 Allocated
CatCoreTwemojiReimplementationBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 I 🧑 Twemoji! πŸ₯³ 624.2 ns 3.95 ns 3.30 ns 0.91 ns 619.3 ns 622.5 ns 623.9 ns 625.8 ns 631.2 ns 1,601,943.0 0.06 No 0.1049 - -
FrwTwemojiAdjustedBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 I 🧑 Twemoji! πŸ₯³ 9,924.5 ns 16.82 ns 14.04 ns 3.90 ns 9,903.4 ns 9,916.5 ns 9,921.0 ns 9,928.5 ns 9,951.5 ns 100,761.0 0.93 No 0.3357 - -
FrwTwemojiBaselineBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 I 🧑 Twemoji! πŸ₯³ 10,663.5 ns 57.06 ns 53.37 ns 13.78 ns 10,602.8 ns 10,622.4 ns 10,629.1 ns 10,701.1 ns 10,766.3 ns 93,777.9 1.00 Yes 0.4120 - -
CatCoreTwemojiReimplementationBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 I've (...)🍚🍜 [56] 3,886.9 ns 17.78 ns 14.85 ns 4.12 ns 3,858.7 ns 3,883.2 ns 3,890.1 ns 3,896.2 ns 3,908.4 ns 257,274.1 0.04 No 0.7782 - -
FrwTwemojiAdjustedBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 I've (...)🍚🍜 [56] 80,814.0 ns 266.87 ns 236.58 ns 63.23 ns 80,355.9 ns 80,647.9 ns 80,885.8 ns 80,967.0 ns 81,269.2 ns 12,374.1 0.93 No 2.4414 - -
FrwTwemojiBaselineBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 I've (...)🍚🍜 [56] 86,738.8 ns 408.37 ns 381.99 ns 98.63 ns 86,151.5 ns 86,474.0 ns 86,769.1 ns 87,042.4 ns 87,404.2 ns 11,528.9 1.00 Yes 3.0518 - -
CatCoreTwemojiReimplementationBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 Lore(...)sum. [574] 9,937.6 ns 32.57 ns 30.47 ns 7.87 ns 9,898.6 ns 9,914.9 ns 9,921.5 ns 9,961.7 ns 9,987.0 ns 100,627.5 0.23 No - - -
FrwTwemojiBaselineBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 Lore(...)sum. [574] 42,752.9 ns 97.89 ns 91.57 ns 23.64 ns 42,607.8 ns 42,661.5 ns 42,788.4 ns 42,809.0 ns 42,899.9 ns 23,390.2 1.00 Yes - - -
FrwTwemojiAdjustedBenchmark Job-XTWDPN Mono Unity 2019.4.28f1 Lore(...)sum. [574] 42,842.8 ns 123.34 ns 115.37 ns 29.79 ns 42,714.7 ns 42,743.4 ns 42,829.9 ns 42,894.9 ns 43,047.7 ns 23,341.2 1.00 No - - -

Full resultset

As mentioned earlier, this section contains the full resultset, measuring the performance of the benchmark cases above, but across several runtimes. This is because some runtime implementations have different performance characteristics.

High-level IRC (chat) message deconstruction

Clarification on this can be found here.

Click to expand!

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.2728/21H2/November2021Update)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-CIRMVA : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT AVX2
  • Job-NVAYXH : .NET 6.0.15 (6.0.1523.11507), X64 RyuJIT AVX2
  • Job-ZDMHFB : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
  • Job-ZSFKTD : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86 VectorSize=128
  • Job-UGEEKR : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-KUWVMX : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-LJOXDK : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
Method Runtime IrcMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen0 Gen1 Allocated Alloc Ratio
SpanDissectionBenchmark .NET 5.0 :real(...)leris [56] 51.84 ns 0.232 ns 0.217 ns 0.056 ns 51.47 ns 51.68 ns 51.86 ns 51.97 ns 52.27 ns 19,289,386.7 0.06 No 0.0210 - 176 B 0.11
RegexBenchmark .NET 5.0 :real(...)leris [56] 934.11 ns 2.887 ns 2.701 ns 0.697 ns 930.67 ns 932.09 ns 933.24 ns 935.81 ns 940.68 ns 1,070,541.0 1.00 Yes 0.1907 - 1600 B 1.00
SpanDissectionBenchmark .NET 6.0 :real(...)leris [56] 47.70 ns 0.535 ns 0.500 ns 0.129 ns 46.92 ns 47.35 ns 47.69 ns 48.00 ns 48.61 ns 20,964,061.7 0.06 No 0.0210 - 176 B 0.11
RegexBenchmark .NET 6.0 :real(...)leris [56] 787.85 ns 4.313 ns 4.034 ns 1.042 ns 782.86 ns 784.13 ns 787.25 ns 791.24 ns 794.89 ns 1,269,277.0 1.00 Yes 0.1907 - 1600 B 1.00
SpanDissectionBenchmark .NET 7.0 :real(...)leris [56] 36.99 ns 0.216 ns 0.202 ns 0.052 ns 36.72 ns 36.86 ns 36.93 ns 37.12 ns 37.37 ns 27,035,303.6 0.05 No 0.0210 - 176 B 0.11
RegexBenchmark .NET 7.0 :real(...)leris [56] 739.50 ns 4.364 ns 3.644 ns 1.011 ns 732.21 ns 738.20 ns 739.16 ns 740.76 ns 747.08 ns 1,352,268.0 1.00 Yes 0.1831 - 1536 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :real(...)leris [56] 79.26 ns 0.331 ns 0.310 ns 0.080 ns 78.65 ns 79.13 ns 79.22 ns 79.54 ns 79.73 ns 12,617,278.7 0.05 No 0.0318 - 201 B 0.11
RegexBenchmark .NET Framework 4.7.2 :real(...)leris [56] 1,455.86 ns 5.264 ns 4.924 ns 1.271 ns 1,449.36 ns 1,450.90 ns 1,456.47 ns 1,460.44 ns 1,463.15 ns 686,877.7 1.00 Yes 0.2899 - 1829 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :real(...)leris [56] 334.89 ns 1.770 ns 1.656 ns 0.427 ns 332.19 ns 333.92 ns 334.48 ns 335.89 ns 338.45 ns 2,986,099.0 0.12 No 0.0443 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :real(...)leris [56] 2,825.99 ns 13.125 ns 12.277 ns 3.170 ns 2,805.17 ns 2,818.21 ns 2,822.61 ns 2,834.04 ns 2,850.47 ns 353,857.8 1.00 Yes 0.3052 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :real(...)leris [56] 177.77 ns 0.568 ns 0.504 ns 0.135 ns 177.00 ns 177.47 ns 177.70 ns 178.07 ns 178.76 ns 5,625,295.9 0.04 No 0.0365 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :real(...)leris [56] 4,488.85 ns 20.432 ns 19.112 ns 4.935 ns 4,455.01 ns 4,476.34 ns 4,491.75 ns 4,502.40 ns 4,518.93 ns 222,774.0 1.00 Yes 0.2594 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :real(...)leris [56] 183.64 ns 0.506 ns 0.449 ns 0.120 ns 183.04 ns 183.24 ns 183.57 ns 184.06 ns 184.36 ns 5,445,467.7 0.04 No 0.0365 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :real(...)leris [56] 4,464.56 ns 19.547 ns 17.328 ns 4.631 ns 4,442.82 ns 4,449.30 ns 4,467.53 ns 4,472.91 ns 4,500.34 ns 223,986.2 1.00 Yes 0.2594 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :real(...)leris [56] 183.69 ns 0.942 ns 0.881 ns 0.227 ns 182.41 ns 182.98 ns 183.78 ns 184.35 ns 185.26 ns 5,443,886.4 0.04 No 0.0365 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :real(...)leris [56] 4,487.75 ns 27.192 ns 25.435 ns 6.567 ns 4,456.60 ns 4,466.78 ns 4,477.97 ns 4,511.06 ns 4,533.67 ns 222,828.9 1.00 Yes 0.2594 - - NA
SpanDissectionBenchmark .NET 5.0 :real(...)leris [58] 68.60 ns 0.618 ns 0.578 ns 0.149 ns 67.79 ns 68.10 ns 68.70 ns 68.93 ns 69.83 ns 14,578,110.2 0.07 No 0.0248 - 208 B 0.14
RegexBenchmark .NET 5.0 :real(...)leris [58] 1,027.86 ns 6.512 ns 6.092 ns 1.573 ns 1,016.41 ns 1,022.81 ns 1,030.76 ns 1,033.09 ns 1,034.43 ns 972,894.8 1.00 Yes 0.1774 - 1488 B 1.00
SpanDissectionBenchmark .NET 6.0 :real(...)leris [58] 56.86 ns 0.519 ns 0.485 ns 0.125 ns 56.07 ns 56.45 ns 56.78 ns 57.21 ns 57.75 ns 17,585,943.8 0.07 No 0.0249 - 208 B 0.14
RegexBenchmark .NET 6.0 :real(...)leris [58] 823.43 ns 5.810 ns 5.435 ns 1.403 ns 817.92 ns 819.67 ns 820.72 ns 825.84 ns 832.99 ns 1,214,436.5 1.00 Yes 0.1774 - 1488 B 1.00
SpanDissectionBenchmark .NET 7.0 :real(...)leris [58] 49.34 ns 0.353 ns 0.330 ns 0.085 ns 48.79 ns 49.10 ns 49.21 ns 49.57 ns 49.97 ns 20,266,384.5 0.06 No 0.0249 - 208 B 0.15
RegexBenchmark .NET 7.0 :real(...)leris [58] 827.66 ns 3.612 ns 3.016 ns 0.837 ns 820.87 ns 826.13 ns 828.50 ns 829.47 ns 833.15 ns 1,208,224.6 1.00 Yes 0.1698 - 1424 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :real(...)leris [58] 107.52 ns 0.258 ns 0.215 ns 0.060 ns 107.30 ns 107.37 ns 107.49 ns 107.58 ns 108.09 ns 9,301,001.8 0.07 No 0.0356 - 225 B 0.14
RegexBenchmark .NET Framework 4.7.2 :real(...)leris [58] 1,614.95 ns 8.658 ns 8.098 ns 2.091 ns 1,603.13 ns 1,609.27 ns 1,614.27 ns 1,618.74 ns 1,630.59 ns 619,216.0 1.00 Yes 0.2575 - 1621 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :real(...)leris [58] 417.97 ns 1.692 ns 1.583 ns 0.409 ns 415.20 ns 417.07 ns 418.00 ns 418.92 ns 421.07 ns 2,392,506.4 0.13 No 0.0539 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :real(...)leris [58] 3,206.97 ns 11.028 ns 9.776 ns 2.613 ns 3,195.86 ns 3,200.83 ns 3,203.54 ns 3,209.05 ns 3,229.20 ns 311,820.8 1.00 Yes 0.2670 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :real(...)leris [58] 250.78 ns 1.265 ns 1.184 ns 0.306 ns 249.52 ns 249.84 ns 250.25 ns 251.77 ns 253.34 ns 3,987,502.9 0.05 No 0.0424 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :real(...)leris [58] 5,234.64 ns 12.893 ns 12.060 ns 3.114 ns 5,217.21 ns 5,224.75 ns 5,233.26 ns 5,242.70 ns 5,255.74 ns 191,035.0 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :real(...)leris [58] 252.33 ns 1.146 ns 1.016 ns 0.271 ns 251.02 ns 251.71 ns 252.01 ns 252.69 ns 254.54 ns 3,963,115.8 0.05 No 0.0424 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :real(...)leris [58] 5,228.83 ns 12.301 ns 10.905 ns 2.914 ns 5,209.34 ns 5,223.60 ns 5,226.13 ns 5,236.67 ns 5,250.65 ns 191,247.4 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :real(...)leris [58] 258.86 ns 1.290 ns 1.207 ns 0.312 ns 257.22 ns 258.08 ns 258.33 ns 259.86 ns 260.98 ns 3,863,119.9 0.05 No 0.0424 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :real(...)leris [58] 5,224.55 ns 19.133 ns 17.897 ns 4.621 ns 5,200.12 ns 5,211.42 ns 5,220.96 ns 5,238.82 ns 5,255.30 ns 191,403.9 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark .NET 5.0 :real(...) list [66] 72.83 ns 0.749 ns 0.701 ns 0.181 ns 71.59 ns 72.27 ns 72.88 ns 73.45 ns 73.85 ns 13,730,925.6 0.07 No 0.0277 - 232 B 0.15
RegexBenchmark .NET 5.0 :real(...) list [66] 1,013.40 ns 7.017 ns 6.221 ns 1.663 ns 999.19 ns 1,008.90 ns 1,016.12 ns 1,017.34 ns 1,022.40 ns 986,775.4 1.00 Yes 0.1793 - 1512 B 1.00
SpanDissectionBenchmark .NET 6.0 :real(...) list [66] 54.80 ns 0.318 ns 0.297 ns 0.077 ns 54.39 ns 54.51 ns 54.80 ns 55.06 ns 55.24 ns 18,248,578.5 0.07 No 0.0277 - 232 B 0.15
RegexBenchmark .NET 6.0 :real(...) list [66] 816.52 ns 4.278 ns 4.002 ns 1.033 ns 809.88 ns 813.59 ns 814.59 ns 820.70 ns 821.91 ns 1,224,704.8 1.00 Yes 0.1802 - 1512 B 1.00
SpanDissectionBenchmark .NET 7.0 :real(...) list [66] 49.49 ns 0.265 ns 0.221 ns 0.061 ns 49.17 ns 49.42 ns 49.49 ns 49.64 ns 49.91 ns 20,206,363.0 0.06 No 0.0277 - 232 B 0.16
RegexBenchmark .NET 7.0 :real(...) list [66] 809.75 ns 6.277 ns 5.871 ns 1.516 ns 798.04 ns 806.76 ns 807.66 ns 814.25 ns 819.62 ns 1,234,943.0 1.00 Yes 0.1726 - 1448 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :real(...) list [66] 107.72 ns 0.327 ns 0.306 ns 0.079 ns 107.26 ns 107.49 ns 107.68 ns 107.89 ns 108.33 ns 9,283,097.9 0.06 No 0.0370 - 233 B 0.14
RegexBenchmark .NET Framework 4.7.2 :real(...) list [66] 1,662.72 ns 3.607 ns 3.374 ns 0.871 ns 1,658.96 ns 1,660.33 ns 1,661.78 ns 1,663.88 ns 1,669.00 ns 601,424.3 1.00 Yes 0.2575 - 1629 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :real(...) list [66] 411.45 ns 1.544 ns 1.368 ns 0.366 ns 409.62 ns 410.57 ns 411.31 ns 412.14 ns 414.71 ns 2,430,431.6 0.13 No 0.0591 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :real(...) list [66] 3,188.79 ns 12.999 ns 12.159 ns 3.140 ns 3,172.08 ns 3,180.77 ns 3,188.21 ns 3,194.62 ns 3,214.49 ns 313,598.4 1.00 Yes 0.2747 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :real(...) list [66] 252.66 ns 1.372 ns 1.283 ns 0.331 ns 250.56 ns 251.86 ns 252.44 ns 253.44 ns 255.18 ns 3,957,935.8 0.05 No 0.0477 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :real(...) list [66] 5,223.15 ns 8.027 ns 6.267 ns 1.809 ns 5,212.58 ns 5,218.09 ns 5,224.32 ns 5,226.54 ns 5,232.88 ns 191,455.3 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :real(...) list [66] 252.73 ns 1.143 ns 1.070 ns 0.276 ns 251.69 ns 251.95 ns 252.32 ns 253.25 ns 255.03 ns 3,956,843.2 0.05 No 0.0477 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :real(...) list [66] 5,219.45 ns 11.659 ns 10.336 ns 2.762 ns 5,200.62 ns 5,212.02 ns 5,222.13 ns 5,227.16 ns 5,232.29 ns 191,591.1 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :real(...) list [66] 257.37 ns 1.457 ns 1.363 ns 0.352 ns 254.75 ns 256.98 ns 257.72 ns 258.32 ns 258.90 ns 3,885,393.0 0.05 No 0.0477 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :real(...) list [66] 5,210.81 ns 19.001 ns 15.867 ns 4.401 ns 5,189.22 ns 5,199.61 ns 5,207.69 ns 5,223.18 ns 5,243.48 ns 191,908.8 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark .NET 5.0 :tmi.(...)is :> [30] 60.00 ns 0.469 ns 0.438 ns 0.113 ns 59.27 ns 59.78 ns 59.93 ns 60.26 ns 60.94 ns 16,665,462.5 0.06 No 0.0172 - 144 B 0.10
RegexBenchmark .NET 5.0 :tmi.(...)is :> [30] 958.86 ns 5.966 ns 5.581 ns 1.441 ns 951.31 ns 954.78 ns 959.36 ns 962.31 ns 971.05 ns 1,042,905.5 1.00 Yes 0.1698 - 1424 B 1.00
SpanDissectionBenchmark .NET 6.0 :tmi.(...)is :> [30] 52.09 ns 0.429 ns 0.401 ns 0.104 ns 51.51 ns 51.72 ns 52.07 ns 52.28 ns 53.09 ns 19,199,114.6 0.07 No 0.0172 - 144 B 0.10
RegexBenchmark .NET 6.0 :tmi.(...)is :> [30] 775.54 ns 3.672 ns 3.434 ns 0.887 ns 771.89 ns 773.13 ns 774.09 ns 777.32 ns 782.00 ns 1,289,429.7 1.00 Yes 0.1698 - 1424 B 1.00
SpanDissectionBenchmark .NET 7.0 :tmi.(...)is :> [30] 45.87 ns 0.629 ns 0.589 ns 0.152 ns 44.79 ns 45.51 ns 45.96 ns 46.13 ns 46.93 ns 21,801,476.0 0.06 No 0.0172 - 144 B 0.11
RegexBenchmark .NET 7.0 :tmi.(...)is :> [30] 795.70 ns 5.459 ns 5.106 ns 1.318 ns 783.70 ns 793.39 ns 796.28 ns 798.99 ns 804.61 ns 1,256,751.6 1.00 Yes 0.1621 - 1360 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :tmi.(...)is :> [30] 89.92 ns 0.287 ns 0.224 ns 0.065 ns 89.38 ns 89.87 ns 89.97 ns 90.10 ns 90.14 ns 11,120,444.9 0.07 No 0.0267 - 168 B 0.11
RegexBenchmark .NET Framework 4.7.2 :tmi.(...)is :> [30] 1,217.24 ns 5.544 ns 5.186 ns 1.339 ns 1,210.33 ns 1,213.24 ns 1,216.68 ns 1,220.69 ns 1,225.51 ns 821,531.4 1.00 Yes 0.2422 - 1533 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 369.42 ns 1.407 ns 1.247 ns 0.333 ns 367.19 ns 368.39 ns 369.48 ns 370.04 ns 372.14 ns 2,706,975.3 0.15 No 0.0343 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 2,534.72 ns 9.207 ns 7.688 ns 2.132 ns 2,525.08 ns 2,529.02 ns 2,535.39 ns 2,538.91 ns 2,553.12 ns 394,520.2 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :tmi.(...)is :> [30] 220.90 ns 0.915 ns 0.856 ns 0.221 ns 219.55 ns 220.05 ns 221.18 ns 221.42 ns 222.13 ns 4,526,945.5 0.05 No 0.0267 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :tmi.(...)is :> [30] 4,517.94 ns 13.396 ns 12.530 ns 3.235 ns 4,503.59 ns 4,505.57 ns 4,517.45 ns 4,526.14 ns 4,544.65 ns 221,339.6 1.00 Yes 0.2213 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :tmi.(...)is :> [30] 218.40 ns 0.411 ns 0.344 ns 0.095 ns 217.77 ns 218.15 ns 218.46 ns 218.65 ns 218.93 ns 4,578,704.1 0.05 No 0.0267 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :tmi.(...)is :> [30] 4,512.61 ns 15.983 ns 14.169 ns 3.787 ns 4,494.86 ns 4,504.10 ns 4,507.08 ns 4,519.19 ns 4,547.45 ns 221,601.3 1.00 Yes 0.2213 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :tmi.(...)is :> [30] 223.18 ns 0.748 ns 0.663 ns 0.177 ns 222.39 ns 222.68 ns 223.10 ns 223.47 ns 224.65 ns 4,480,763.3 0.05 No 0.0267 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :tmi.(...)is :> [30] 4,610.12 ns 12.123 ns 10.747 ns 2.872 ns 4,595.95 ns 4,603.19 ns 4,609.45 ns 4,615.99 ns 4,630.39 ns 216,914.0 1.00 Yes 0.2213 - - NA
SpanDissectionBenchmark .NET 5.0 :tmi.(...)rship [80] 62.05 ns 0.205 ns 0.171 ns 0.047 ns 61.81 ns 61.93 ns 62.06 ns 62.13 ns 62.40 ns 16,117,056.4 0.06 No 0.0296 - 248 B 0.16
RegexBenchmark .NET 5.0 :tmi.(...)rship [80] 969.23 ns 3.069 ns 2.720 ns 0.727 ns 964.29 ns 968.05 ns 968.74 ns 970.91 ns 974.71 ns 1,031,745.9 1.00 Yes 0.1812 - 1528 B 1.00
SpanDissectionBenchmark .NET 6.0 :tmi.(...)rship [80] 56.79 ns 0.197 ns 0.174 ns 0.047 ns 56.43 ns 56.71 ns 56.75 ns 56.89 ns 57.10 ns 17,610,165.0 0.07 No 0.0296 - 248 B 0.16
RegexBenchmark .NET 6.0 :tmi.(...)rship [80] 808.88 ns 1.529 ns 1.194 ns 0.345 ns 807.32 ns 807.70 ns 809.21 ns 809.74 ns 810.46 ns 1,236,277.4 1.00 Yes 0.1822 - 1528 B 1.00
SpanDissectionBenchmark .NET 7.0 :tmi.(...)rship [80] 46.02 ns 0.242 ns 0.226 ns 0.058 ns 45.70 ns 45.86 ns 45.95 ns 46.25 ns 46.32 ns 21,728,173.8 0.06 No 0.0296 - 248 B 0.17
RegexBenchmark .NET 7.0 :tmi.(...)rship [80] 825.24 ns 5.542 ns 4.913 ns 1.313 ns 815.40 ns 822.00 ns 826.32 ns 828.41 ns 831.67 ns 1,211,764.2 1.00 Yes 0.1745 - 1464 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :tmi.(...)rship [80] 95.95 ns 0.491 ns 0.435 ns 0.116 ns 95.30 ns 95.65 ns 96.01 ns 96.11 ns 96.69 ns 10,422,121.2 0.05 No 0.0421 - 265 B 0.16
RegexBenchmark .NET Framework 4.7.2 :tmi.(...)rship [80] 1,762.00 ns 6.624 ns 6.196 ns 1.600 ns 1,751.08 ns 1,758.60 ns 1,762.54 ns 1,767.09 ns 1,772.93 ns 567,535.4 1.00 Yes 0.2575 - 1629 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 397.86 ns 2.382 ns 2.228 ns 0.575 ns 395.24 ns 396.14 ns 397.36 ns 399.27 ns 402.95 ns 2,513,466.0 0.12 No 0.0634 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 3,298.97 ns 12.572 ns 11.760 ns 3.036 ns 3,284.75 ns 3,288.78 ns 3,296.08 ns 3,307.22 ns 3,319.26 ns 303,124.9 1.00 Yes 0.2708 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :tmi.(...)rship [80] 234.04 ns 0.752 ns 0.704 ns 0.182 ns 232.92 ns 233.59 ns 233.99 ns 234.56 ns 235.38 ns 4,272,826.6 0.04 No 0.0520 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :tmi.(...)rship [80] 5,375.23 ns 12.422 ns 11.012 ns 2.943 ns 5,359.19 ns 5,368.25 ns 5,373.84 ns 5,383.42 ns 5,398.80 ns 186,038.7 1.00 Yes 0.2518 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :tmi.(...)rship [80] 232.36 ns 0.698 ns 0.619 ns 0.165 ns 231.61 ns 231.95 ns 232.18 ns 232.63 ns 233.47 ns 4,303,665.6 0.04 No 0.0520 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :tmi.(...)rship [80] 5,376.87 ns 25.312 ns 23.677 ns 6.113 ns 5,350.43 ns 5,359.12 ns 5,369.53 ns 5,395.85 ns 5,422.92 ns 185,982.0 1.00 Yes 0.2518 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :tmi.(...)rship [80] 235.64 ns 0.699 ns 0.620 ns 0.166 ns 234.63 ns 235.34 ns 235.61 ns 235.90 ns 236.71 ns 4,243,715.2 0.04 No 0.0520 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :tmi.(...)rship [80] 5,375.79 ns 19.105 ns 17.871 ns 4.614 ns 5,350.11 ns 5,364.60 ns 5,376.75 ns 5,385.66 ns 5,411.47 ns 186,019.3 1.00 Yes 0.2518 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)tle. [539] 125.82 ns 0.566 ns 0.530 ns 0.137 ns 124.91 ns 125.41 ns 125.83 ns 126.26 ns 126.74 ns 7,947,748.2 0.11 No 0.1423 - 1192 B 0.45
RegexBenchmark .NET 5.0 @bad(...)tle. [539] 1,168.28 ns 6.816 ns 6.375 ns 1.646 ns 1,154.88 ns 1,165.01 ns 1,169.76 ns 1,172.55 ns 1,177.40 ns 855,960.2 1.00 Yes 0.3147 - 2648 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)tle. [539] 107.46 ns 0.631 ns 0.559 ns 0.149 ns 106.81 ns 107.09 ns 107.22 ns 107.74 ns 108.58 ns 9,305,515.0 0.11 No 0.1425 - 1192 B 0.45
RegexBenchmark .NET 6.0 @bad(...)tle. [539] 963.98 ns 6.163 ns 5.464 ns 1.460 ns 958.12 ns 959.59 ns 962.98 ns 967.93 ns 974.34 ns 1,037,367.0 1.00 Yes 0.3147 - 2648 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)tle. [539] 94.27 ns 0.715 ns 0.597 ns 0.165 ns 92.84 ns 94.08 ns 94.26 ns 94.57 ns 95.16 ns 10,608,228.5 0.10 No 0.1425 - 1192 B 0.46
RegexBenchmark .NET 7.0 @bad(...)tle. [539] 944.91 ns 4.061 ns 3.391 ns 0.941 ns 939.15 ns 942.85 ns 944.09 ns 946.87 ns 952.19 ns 1,058,297.7 1.00 Yes 0.3080 - 2584 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)tle. [539] 166.59 ns 0.836 ns 0.741 ns 0.198 ns 165.56 ns 165.91 ns 166.73 ns 167.06 ns 167.80 ns 6,002,934.9 0.03 No 0.1912 - 1204 B 0.42
RegexBenchmark .NET Framework 4.7.2 @bad(...)tle. [539] 6,450.28 ns 28.456 ns 26.617 ns 6.873 ns 6,419.30 ns 6,430.09 ns 6,441.69 ns 6,463.07 ns 6,500.74 ns 155,032.0 1.00 Yes 0.4578 - 2881 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)tle. [539] 746.13 ns 3.053 ns 2.856 ns 0.737 ns 742.40 ns 743.79 ns 746.07 ns 748.06 ns 751.91 ns 1,340,255.1 0.07 No 0.3252 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)tle. [539] 10,055.89 ns 36.965 ns 34.577 ns 8.928 ns 9,994.84 ns 10,035.55 ns 10,056.47 ns 10,082.61 ns 10,106.19 ns 99,444.2 1.00 Yes 0.5646 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)tle. [539] 424.07 ns 1.363 ns 1.209 ns 0.323 ns 421.39 ns 423.45 ns 424.22 ns 424.56 ns 426.53 ns 2,358,119.1 0.03 No 0.2794 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)tle. [539] 12,151.01 ns 30.566 ns 28.592 ns 7.382 ns 12,093.51 ns 12,131.08 ns 12,154.60 ns 12,172.25 ns 12,198.88 ns 82,297.7 1.00 Yes 0.5188 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)tle. [539] 431.51 ns 1.978 ns 1.850 ns 0.478 ns 429.58 ns 429.81 ns 431.43 ns 432.79 ns 434.79 ns 2,317,469.2 0.04 No 0.2794 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)tle. [539] 12,187.10 ns 58.424 ns 54.650 ns 14.111 ns 12,121.90 ns 12,148.58 ns 12,169.73 ns 12,226.24 ns 12,319.06 ns 82,054.0 1.00 Yes 0.5188 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)tle. [539] 428.82 ns 1.127 ns 1.054 ns 0.272 ns 427.31 ns 428.10 ns 428.33 ns 429.88 ns 430.49 ns 2,331,971.3 0.04 No 0.2794 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)tle. [539] 12,203.69 ns 70.504 ns 65.949 ns 17.028 ns 12,086.21 ns 12,170.17 ns 12,197.80 ns 12,251.14 ns 12,315.50 ns 81,942.4 1.00 Yes 0.5188 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)sted [432] 115.29 ns 0.562 ns 0.498 ns 0.133 ns 114.61 ns 115.00 ns 115.16 ns 115.53 ns 116.48 ns 8,673,430.2 0.10 No 0.1166 - 976 B 0.40
RegexBenchmark .NET 5.0 @bad(...)sted [432] 1,175.64 ns 4.599 ns 3.840 ns 1.065 ns 1,167.09 ns 1,173.90 ns 1,176.22 ns 1,177.88 ns 1,181.81 ns 850,602.0 1.00 Yes 0.2899 - 2432 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)sted [432] 103.02 ns 1.042 ns 0.975 ns 0.252 ns 101.64 ns 102.35 ns 102.75 ns 103.79 ns 104.99 ns 9,706,956.0 0.11 No 0.1166 - 976 B 0.40
RegexBenchmark .NET 6.0 @bad(...)sted [432] 966.97 ns 8.693 ns 7.706 ns 2.060 ns 952.21 ns 965.40 ns 969.15 ns 971.56 ns 978.15 ns 1,034,161.3 1.00 Yes 0.2899 - 2432 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)sted [432] 89.67 ns 0.873 ns 0.729 ns 0.202 ns 87.82 ns 89.37 ns 89.69 ns 90.05 ns 90.97 ns 11,151,826.1 0.10 No 0.1166 - 976 B 0.41
RegexBenchmark .NET 7.0 @bad(...)sted [432] 941.50 ns 5.827 ns 5.165 ns 1.380 ns 928.27 ns 939.43 ns 940.83 ns 944.75 ns 951.12 ns 1,062,138.1 1.00 Yes 0.2823 0.0010 2368 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)sted [432] 161.42 ns 0.459 ns 0.429 ns 0.111 ns 160.86 ns 161.14 ns 161.32 ns 161.69 ns 162.27 ns 6,195,041.9 0.03 No 0.1566 - 987 B 0.37
RegexBenchmark .NET Framework 4.7.2 @bad(...)sted [432] 5,343.10 ns 27.029 ns 25.283 ns 6.528 ns 5,308.42 ns 5,325.16 ns 5,335.10 ns 5,360.45 ns 5,392.65 ns 187,157.3 1.00 Yes 0.4196 - 2664 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)sted [432] 697.35 ns 1.857 ns 1.450 ns 0.419 ns 695.20 ns 696.07 ns 697.14 ns 698.29 ns 699.78 ns 1,434,005.7 0.08 No 0.2441 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)sted [432] 8,515.39 ns 20.042 ns 18.747 ns 4.840 ns 8,476.70 ns 8,503.86 ns 8,512.12 ns 8,530.53 ns 8,546.02 ns 117,434.4 1.00 Yes 0.5035 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)sted [432] 416.83 ns 1.277 ns 1.194 ns 0.308 ns 414.71 ns 416.14 ns 416.56 ns 417.49 ns 419.35 ns 2,399,067.6 0.04 No 0.2441 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)sted [432] 10,623.48 ns 23.436 ns 20.775 ns 5.552 ns 10,595.47 ns 10,609.32 ns 10,618.73 ns 10,641.59 ns 10,657.75 ns 94,131.1 1.00 Yes 0.4883 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)sted [432] 426.47 ns 0.922 ns 0.862 ns 0.223 ns 425.51 ns 425.82 ns 426.07 ns 427.14 ns 428.00 ns 2,344,822.4 0.04 No 0.2441 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)sted [432] 10,622.52 ns 26.185 ns 24.493 ns 6.324 ns 10,586.21 ns 10,600.99 ns 10,623.01 ns 10,644.95 ns 10,662.80 ns 94,139.7 1.00 Yes 0.4883 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)sted [432] 422.84 ns 1.121 ns 1.049 ns 0.271 ns 421.13 ns 422.11 ns 422.85 ns 423.71 ns 424.49 ns 2,364,951.3 0.04 No 0.2441 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)sted [432] 10,645.36 ns 48.876 ns 45.719 ns 11.805 ns 10,580.24 ns 10,610.40 ns 10,627.33 ns 10,679.81 ns 10,744.03 ns 93,937.6 1.00 Yes 0.4883 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)Heya [361] 109.39 ns 0.468 ns 0.415 ns 0.111 ns 108.70 ns 109.14 ns 109.28 ns 109.67 ns 110.28 ns 9,141,593.3 0.09 No 0.0994 - 832 B 0.36
RegexBenchmark .NET 5.0 @bad(...)Heya [361] 1,166.85 ns 8.113 ns 7.589 ns 1.960 ns 1,159.02 ns 1,160.75 ns 1,164.33 ns 1,173.05 ns 1,183.90 ns 857,004.8 1.00 Yes 0.2728 - 2288 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)Heya [361] 95.95 ns 0.463 ns 0.386 ns 0.107 ns 95.25 ns 95.72 ns 95.84 ns 96.17 ns 96.60 ns 10,421,999.4 0.10 No 0.0994 - 832 B 0.36
RegexBenchmark .NET 6.0 @bad(...)Heya [361] 945.78 ns 6.895 ns 6.449 ns 1.665 ns 937.79 ns 941.68 ns 942.77 ns 950.34 ns 960.29 ns 1,057,323.3 1.00 Yes 0.2728 - 2288 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)Heya [361] 81.80 ns 0.470 ns 0.439 ns 0.113 ns 81.31 ns 81.42 ns 81.68 ns 82.10 ns 82.65 ns 12,225,416.2 0.09 No 0.0994 - 832 B 0.37
RegexBenchmark .NET 7.0 @bad(...)Heya [361] 930.91 ns 6.909 ns 6.463 ns 1.669 ns 923.57 ns 925.95 ns 929.64 ns 935.10 ns 945.19 ns 1,074,223.2 1.00 Yes 0.2651 0.0010 2224 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)Heya [361] 154.03 ns 1.188 ns 1.111 ns 0.287 ns 152.66 ns 153.26 ns 153.86 ns 154.78 ns 156.26 ns 6,492,321.1 0.03 No 0.1364 - 859 B 0.34
RegexBenchmark .NET Framework 4.7.2 @bad(...)Heya [361] 4,631.11 ns 26.638 ns 24.917 ns 6.433 ns 4,599.25 ns 4,611.26 ns 4,633.52 ns 4,643.00 ns 4,674.56 ns 215,931.2 1.00 Yes 0.3967 - 2519 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)Heya [361] 693.92 ns 3.345 ns 2.965 ns 0.793 ns 687.79 ns 691.99 ns 693.93 ns 696.36 ns 698.00 ns 1,441,079.3 0.09 No 0.2241 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)Heya [361] 7,546.03 ns 27.002 ns 23.936 ns 6.397 ns 7,520.26 ns 7,530.45 ns 7,539.25 ns 7,549.07 ns 7,600.00 ns 132,520.0 1.00 Yes 0.4883 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)Heya [361] 393.21 ns 1.513 ns 1.415 ns 0.365 ns 390.95 ns 392.38 ns 392.93 ns 394.12 ns 396.37 ns 2,543,187.8 0.04 No 0.1955 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)Heya [361] 9,675.52 ns 44.862 ns 41.964 ns 10.835 ns 9,607.38 ns 9,646.62 ns 9,669.84 ns 9,709.66 ns 9,735.53 ns 103,353.6 1.00 Yes 0.4272 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)Heya [361] 398.22 ns 1.539 ns 1.440 ns 0.372 ns 396.23 ns 397.20 ns 397.74 ns 399.17 ns 401.62 ns 2,511,182.0 0.04 No 0.1955 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)Heya [361] 9,645.55 ns 59.753 ns 55.893 ns 14.432 ns 9,597.15 ns 9,608.42 ns 9,619.38 ns 9,674.92 ns 9,762.70 ns 103,674.7 1.00 Yes 0.4272 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)Heya [361] 391.05 ns 1.644 ns 1.538 ns 0.397 ns 388.92 ns 389.82 ns 390.82 ns 392.49 ns 393.34 ns 2,557,242.0 0.04 No 0.1955 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)Heya [361] 9,628.28 ns 36.951 ns 34.564 ns 8.924 ns 9,574.26 ns 9,600.84 ns 9,623.46 ns 9,654.43 ns 9,680.11 ns 103,860.7 1.00 Yes 0.4272 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)op p [857] 148.89 ns 0.426 ns 0.332 ns 0.096 ns 148.05 ns 148.76 ns 148.92 ns 149.09 ns 149.31 ns 6,716,510.8 0.12 No 0.2179 - 1824 B 0.56
RegexBenchmark .NET 5.0 @bad(...)op p [857] 1,216.13 ns 7.116 ns 6.308 ns 1.686 ns 1,204.83 ns 1,212.34 ns 1,215.84 ns 1,219.22 ns 1,228.59 ns 822,279.3 1.00 Yes 0.3910 - 3280 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)op p [857] 138.70 ns 0.798 ns 0.707 ns 0.189 ns 137.53 ns 138.27 ns 138.60 ns 139.25 ns 139.89 ns 7,209,728.3 0.14 No 0.2179 - 1824 B 0.56
RegexBenchmark .NET 6.0 @bad(...)op p [857] 1,017.26 ns 4.483 ns 3.974 ns 1.062 ns 1,011.02 ns 1,014.11 ns 1,016.87 ns 1,019.58 ns 1,023.61 ns 983,032.4 1.00 Yes 0.3910 - 3280 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)op p [857] 118.08 ns 1.521 ns 1.270 ns 0.352 ns 114.56 ns 117.64 ns 118.07 ns 118.97 ns 119.46 ns 8,469,061.5 0.12 No 0.2179 - 1824 B 0.57
RegexBenchmark .NET 7.0 @bad(...)op p [857] 974.62 ns 6.019 ns 5.335 ns 1.426 ns 964.83 ns 971.46 ns 974.70 ns 976.93 ns 986.31 ns 1,026,039.2 1.00 Yes 0.3834 - 3216 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)op p [857] 207.18 ns 0.407 ns 0.340 ns 0.094 ns 206.56 ns 206.99 ns 207.14 ns 207.43 ns 207.80 ns 4,826,622.7 0.02 No 0.2944 - 1853 B 0.53
RegexBenchmark .NET Framework 4.7.2 @bad(...)op p [857] 9,586.35 ns 27.350 ns 24.245 ns 6.480 ns 9,550.36 ns 9,574.26 ns 9,578.89 ns 9,593.80 ns 9,638.97 ns 104,315.0 1.00 Yes 0.5493 - 3514 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)op p [857] 923.77 ns 4.163 ns 3.894 ns 1.005 ns 918.42 ns 920.45 ns 923.82 ns 927.04 ns 929.37 ns 1,082,515.9 0.06 No 0.4883 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)op p [857] 14,532.24 ns 21.024 ns 16.414 ns 4.738 ns 14,504.88 ns 14,521.43 ns 14,530.01 ns 14,540.92 ns 14,558.04 ns 68,812.5 1.00 Yes 0.7324 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)op p [857] 481.93 ns 2.280 ns 2.132 ns 0.551 ns 478.40 ns 480.30 ns 482.26 ns 483.12 ns 485.53 ns 2,075,006.3 0.03 No 0.4692 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)op p [857] 16,601.82 ns 31.216 ns 26.067 ns 7.230 ns 16,556.91 ns 16,585.70 ns 16,598.20 ns 16,615.40 ns 16,648.56 ns 60,234.4 1.00 Yes 0.6714 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)op p [857] 486.70 ns 2.013 ns 1.883 ns 0.486 ns 483.90 ns 485.14 ns 486.84 ns 488.13 ns 490.35 ns 2,054,663.7 0.03 No 0.4692 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)op p [857] 16,646.47 ns 48.634 ns 43.113 ns 11.522 ns 16,602.04 ns 16,615.49 ns 16,632.06 ns 16,660.53 ns 16,751.94 ns 60,072.8 1.00 Yes 0.6714 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)op p [857] 476.76 ns 1.952 ns 1.826 ns 0.472 ns 474.49 ns 475.42 ns 476.43 ns 477.75 ns 480.41 ns 2,097,475.9 0.03 No 0.4692 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)op p [857] 16,680.60 ns 55.550 ns 46.387 ns 12.865 ns 16,595.09 ns 16,662.17 ns 16,687.10 ns 16,701.66 ns 16,757.51 ns 59,949.9 1.00 Yes 0.6714 - - NA

IRC (chat) message tags deconstruction

Partial clarification on this can be found here.
However, this resultset also contains a whole of implementations that aren't covered in there, and thus I also recommend taking a look at the actual benchmark class. This one is also linked in the clarification above.

Click to expand!

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.2728/21H2/November2021Update)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-CIRMVA : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT AVX2
  • Job-NVAYXH : .NET 6.0.15 (6.0.1523.11507), X64 RyuJIT AVX2
  • Job-ZDMHFB : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
  • Job-ZSFKTD : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86 VectorSize=128
  • Job-UGEEKR : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-KUWVMX : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-LJOXDK : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
Method Runtime IrcTagsPart Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio RatioSD Baseline Gen0 Gen1 Allocated Alloc Ratio
SpanDissectionBenchmarkV3 .NET 5.0 badg(...)ype= [203] 589.5 ns 3.01 ns 2.67 ns 0.71 ns 585.0 ns 587.8 ns 588.6 ns 591.9 ns 593.7 ns 1,696,485.1 0.13 0.00 No 0.1965 - 1648 B 0.28
SpanDissectionBenchmarkBroken .NET 5.0 badg(...)ype= [203] 704.1 ns 3.83 ns 3.58 ns 0.93 ns 698.4 ns 702.0 ns 703.6 ns 706.9 ns 710.4 ns 1,420,200.0 0.16 0.00 No 0.2108 0.0010 1768 B 0.30
SpanDissectionBenchmarkV2 .NET 5.0 badg(...)ype= [203] 746.5 ns 4.48 ns 4.19 ns 1.08 ns 737.5 ns 744.1 ns 746.3 ns 748.9 ns 753.6 ns 1,339,602.9 0.16 0.00 No 0.2241 0.0010 1880 B 0.32
SpanDissectionBenchmarkV2Broken .NET 5.0 badg(...)ype= [203] 747.4 ns 1.32 ns 1.03 ns 0.30 ns 745.9 ns 746.7 ns 747.6 ns 748.0 ns 749.0 ns 1,337,949.4 0.17 0.00 No 0.2108 0.0010 1768 B 0.30
SpanDissectionBenchmark .NET 5.0 badg(...)ype= [203] 750.2 ns 3.58 ns 3.35 ns 0.87 ns 745.6 ns 748.4 ns 749.4 ns 752.1 ns 756.1 ns 1,333,018.0 0.17 0.00 No 0.2241 0.0010 1880 B 0.32
LinqSplitBenchmark .NET 5.0 badg(...)ype= [203] 1,724.7 ns 8.11 ns 7.58 ns 1.96 ns 1,712.6 ns 1,719.5 ns 1,722.4 ns 1,731.0 ns 1,736.6 ns 579,803.6 0.38 0.00 No 0.4578 0.0038 3840 B 0.65
ChatCoreBaselineBenchmark .NET 5.0 badg(...)ype= [203] 4,524.9 ns 21.67 ns 20.27 ns 5.23 ns 4,485.1 ns 4,510.9 ns 4,526.0 ns 4,533.1 ns 4,562.5 ns 220,998.6 1.00 0.00 Yes 0.7095 0.0076 5944 B 1.00
RegexDissectionBenchmark .NET 5.0 badg(...)ype= [203] 5,265.1 ns 29.88 ns 27.95 ns 7.22 ns 5,224.6 ns 5,243.7 ns 5,263.4 ns 5,284.5 ns 5,314.8 ns 189,930.4 1.16 0.01 No 1.1139 0.0305 9352 B 1.57
SpanDissectionBenchmarkV3 .NET 6.0 badg(...)ype= [203] 590.1 ns 4.53 ns 4.23 ns 1.09 ns 582.9 ns 586.8 ns 589.5 ns 592.3 ns 597.7 ns 1,694,737.1 0.16 0.00 No 0.1965 - 1648 B 0.28
SpanDissectionBenchmarkBroken .NET 6.0 badg(...)ype= [203] 664.8 ns 3.80 ns 3.37 ns 0.90 ns 659.8 ns 662.9 ns 664.4 ns 666.9 ns 670.5 ns 1,504,214.8 0.18 0.00 No 0.2108 0.0010 1768 B 0.30
SpanDissectionBenchmarkV2 .NET 6.0 badg(...)ype= [203] 674.1 ns 4.37 ns 3.87 ns 1.04 ns 667.5 ns 671.8 ns 673.9 ns 675.0 ns 682.3 ns 1,483,531.3 0.18 0.00 No 0.2241 0.0010 1880 B 0.32
SpanDissectionBenchmarkV2Broken .NET 6.0 badg(...)ype= [203] 679.6 ns 3.09 ns 2.89 ns 0.75 ns 676.2 ns 677.1 ns 678.4 ns 681.8 ns 685.2 ns 1,471,466.3 0.18 0.00 No 0.2108 0.0010 1768 B 0.30
SpanDissectionBenchmark .NET 6.0 badg(...)ype= [203] 694.9 ns 5.78 ns 5.41 ns 1.40 ns 687.0 ns 691.0 ns 694.6 ns 697.0 ns 705.9 ns 1,439,124.5 0.18 0.00 No 0.2241 0.0010 1880 B 0.32
LinqSplitBenchmark .NET 6.0 badg(...)ype= [203] 1,382.4 ns 8.90 ns 8.33 ns 2.15 ns 1,373.6 ns 1,375.3 ns 1,379.6 ns 1,385.9 ns 1,400.0 ns 723,394.1 0.36 0.00 No 0.4578 0.0038 3840 B 0.65
ChatCoreBaselineBenchmark .NET 6.0 badg(...)ype= [203] 3,790.3 ns 15.80 ns 14.78 ns 3.82 ns 3,765.9 ns 3,775.9 ns 3,790.8 ns 3,800.6 ns 3,814.7 ns 263,829.6 1.00 0.00 Yes 0.7095 0.0114 5944 B 1.00
RegexDissectionBenchmark .NET 6.0 badg(...)ype= [203] 4,777.0 ns 27.98 ns 24.81 ns 6.63 ns 4,744.6 ns 4,761.2 ns 4,771.3 ns 4,788.6 ns 4,832.2 ns 209,336.3 1.26 0.01 No 1.1139 0.0305 9352 B 1.57
SpanDissectionBenchmarkV3 .NET 7.0 badg(...)ype= [203] 580.0 ns 2.71 ns 2.53 ns 0.65 ns 577.0 ns 578.2 ns 579.0 ns 581.3 ns 586.0 ns 1,724,049.7 0.16 0.00 No 0.1965 0.0010 1648 B 0.28
SpanDissectionBenchmarkV2 .NET 7.0 badg(...)ype= [203] 639.1 ns 3.77 ns 3.35 ns 0.89 ns 633.0 ns 637.8 ns 638.9 ns 641.0 ns 645.7 ns 1,564,787.9 0.18 0.00 No 0.2241 0.0010 1880 B 0.32
SpanDissectionBenchmark .NET 7.0 badg(...)ype= [203] 658.1 ns 5.08 ns 4.76 ns 1.23 ns 652.0 ns 654.4 ns 657.1 ns 660.7 ns 667.7 ns 1,519,530.7 0.18 0.00 No 0.2241 0.0010 1880 B 0.32
SpanDissectionBenchmarkV2Broken .NET 7.0 badg(...)ype= [203] 665.5 ns 4.27 ns 4.00 ns 1.03 ns 660.2 ns 662.1 ns 664.8 ns 667.3 ns 673.6 ns 1,502,704.7 0.19 0.00 No 0.2108 0.0010 1768 B 0.30
SpanDissectionBenchmarkBroken .NET 7.0 badg(...)ype= [203] 752.9 ns 5.64 ns 5.00 ns 1.34 ns 741.6 ns 750.3 ns 752.8 ns 755.3 ns 762.9 ns 1,328,282.9 0.21 0.01 No 0.2108 0.0010 1768 B 0.30
LinqSplitBenchmark .NET 7.0 badg(...)ype= [203] 1,187.7 ns 6.28 ns 5.25 ns 1.46 ns 1,178.9 ns 1,183.6 ns 1,188.5 ns 1,191.2 ns 1,196.8 ns 841,951.3 0.33 0.01 No 0.4005 0.0038 3360 B 0.57
ChatCoreBaselineBenchmark .NET 7.0 badg(...)ype= [203] 3,563.0 ns 69.56 ns 80.10 ns 17.91 ns 3,475.0 ns 3,508.5 ns 3,527.7 ns 3,648.3 ns 3,705.1 ns 280,664.7 1.00 0.00 Yes 0.7095 0.0114 5944 B 1.00
RegexDissectionBenchmark .NET 7.0 badg(...)ype= [203] 3,781.6 ns 30.40 ns 28.44 ns 7.34 ns 3,727.5 ns 3,763.7 ns 3,775.1 ns 3,806.2 ns 3,822.8 ns 264,440.5 1.06 0.03 No 1.1177 0.0343 9352 B 1.57
SpanDissectionBenchmarkV3 .NET Framework 4.7.2 badg(...)ype= [203] 773.7 ns 4.56 ns 4.27 ns 1.10 ns 766.6 ns 771.0 ns 772.6 ns 777.3 ns 781.7 ns 1,292,418.1 0.05 0.00 No 0.2747 0.0010 1733 B 0.28
SpanDissectionBenchmarkBroken .NET Framework 4.7.2 badg(...)ype= [203] 870.8 ns 3.66 ns 3.43 ns 0.88 ns 865.6 ns 868.9 ns 869.8 ns 874.2 ns 876.5 ns 1,148,321.1 0.06 0.00 No 0.2966 0.0010 1869 B 0.31
SpanDissectionBenchmarkV2Broken .NET Framework 4.7.2 badg(...)ype= [203] 871.3 ns 4.97 ns 4.65 ns 1.20 ns 864.4 ns 868.0 ns 871.2 ns 873.7 ns 881.8 ns 1,147,650.7 0.06 0.00 No 0.2966 0.0010 1869 B 0.31
SpanDissectionBenchmarkV2 .NET Framework 4.7.2 badg(...)ype= [203] 883.7 ns 3.45 ns 3.06 ns 0.82 ns 879.6 ns 881.6 ns 883.0 ns 885.5 ns 888.9 ns 1,131,609.2 0.06 0.00 No 0.3157 0.0010 1990 B 0.33
SpanDissectionBenchmark .NET Framework 4.7.2 badg(...)ype= [203] 892.3 ns 5.61 ns 5.25 ns 1.35 ns 884.9 ns 888.3 ns 891.6 ns 895.6 ns 901.1 ns 1,120,753.5 0.06 0.00 No 0.3157 0.0010 1990 B 0.33
LinqSplitBenchmark .NET Framework 4.7.2 badg(...)ype= [203] 1,891.3 ns 11.36 ns 10.63 ns 2.74 ns 1,880.0 ns 1,883.6 ns 1,887.8 ns 1,898.2 ns 1,918.0 ns 528,748.1 0.13 0.00 No 0.9499 0.0076 5986 B 0.98
RegexDissectionBenchmark .NET Framework 4.7.2 badg(...)ype= [203] 7,784.3 ns 31.47 ns 26.28 ns 7.29 ns 7,729.4 ns 7,771.5 ns 7,780.7 ns 7,804.6 ns 7,836.0 ns 128,463.2 0.53 0.00 No 1.6479 0.0458 10407 B 1.70
ChatCoreBaselineBenchmark .NET Framework 4.7.2 badg(...)ype= [203] 14,616.0 ns 46.70 ns 43.68 ns 11.28 ns 14,562.2 ns 14,584.6 ns 14,613.1 ns 14,637.1 ns 14,705.7 ns 68,418.0 1.00 0.00 Yes 0.9613 0.0153 6122 B 1.00
SpanDissectionBenchmarkV3 Mono Unity 2019.4.28f1 badg(...)ype= [203] 2,067.0 ns 14.45 ns 12.81 ns 3.42 ns 2,046.8 ns 2,059.4 ns 2,067.1 ns 2,070.9 ns 2,093.6 ns 483,783.4 0.06 0.00 No 0.2899 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2019.4.28f1 badg(...)ype= [203] 2,542.9 ns 8.23 ns 7.70 ns 1.99 ns 2,534.0 ns 2,535.2 ns 2,543.7 ns 2,547.8 ns 2,555.1 ns 393,251.5 0.07 0.00 No 0.3242 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2019.4.28f1 badg(...)ype= [203] 2,724.0 ns 8.93 ns 7.91 ns 2.12 ns 2,708.5 ns 2,719.2 ns 2,724.5 ns 2,729.4 ns 2,739.3 ns 367,109.6 0.08 0.00 No 0.3395 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2019.4.28f1 badg(...)ype= [203] 2,741.4 ns 8.55 ns 8.00 ns 2.07 ns 2,728.9 ns 2,735.0 ns 2,743.2 ns 2,746.1 ns 2,755.2 ns 364,772.0 0.08 0.00 No 0.3242 - - NA
SpanDissectionBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [203] 2,751.4 ns 12.86 ns 11.40 ns 3.05 ns 2,731.3 ns 2,744.6 ns 2,751.3 ns 2,755.8 ns 2,774.0 ns 363,457.6 0.08 0.00 No 0.3395 - - NA
LinqSplitBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [203] 4,990.5 ns 27.49 ns 24.37 ns 6.51 ns 4,949.7 ns 4,975.5 ns 4,989.3 ns 5,004.9 ns 5,040.3 ns 200,381.7 0.15 0.00 No 1.1368 - - NA
RegexDissectionBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [203] 22,591.7 ns 52.79 ns 44.09 ns 12.23 ns 22,511.1 ns 22,571.2 ns 22,589.2 ns 22,602.2 ns 22,682.4 ns 44,264.1 0.66 0.00 No 1.6174 - - NA
ChatCoreBaselineBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [203] 34,326.9 ns 116.96 ns 109.40 ns 28.25 ns 34,174.0 ns 34,233.1 ns 34,319.0 ns 34,385.8 ns 34,533.1 ns 29,131.7 1.00 0.00 Yes 0.9766 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2021.2.0b4 badg(...)ype= [203] 1,690.9 ns 3.57 ns 3.16 ns 0.85 ns 1,685.9 ns 1,687.9 ns 1,691.2 ns 1,693.1 ns 1,695.7 ns 591,417.6 0.04 0.00 No 0.2918 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2021.2.0b4 badg(...)ype= [203] 1,965.6 ns 11.88 ns 11.12 ns 2.87 ns 1,952.1 ns 1,956.3 ns 1,962.8 ns 1,976.5 ns 1,986.1 ns 508,749.6 0.05 0.00 No 0.3242 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2021.2.0b4 badg(...)ype= [203] 1,984.5 ns 4.70 ns 3.93 ns 1.09 ns 1,979.7 ns 1,982.7 ns 1,983.5 ns 1,986.4 ns 1,993.0 ns 503,904.6 0.05 0.00 No 0.3242 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [203] 2,084.7 ns 8.64 ns 8.08 ns 2.09 ns 2,073.9 ns 2,077.1 ns 2,084.4 ns 2,091.4 ns 2,096.9 ns 479,685.0 0.05 0.00 No 0.3395 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2021.2.0b4 badg(...)ype= [203] 2,111.9 ns 9.80 ns 8.69 ns 2.32 ns 2,104.1 ns 2,105.3 ns 2,108.8 ns 2,116.2 ns 2,130.2 ns 473,515.9 0.05 0.00 No 0.3395 - - NA
LinqSplitBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [203] 4,174.6 ns 19.96 ns 17.69 ns 4.73 ns 4,154.0 ns 4,159.4 ns 4,177.4 ns 4,183.8 ns 4,216.0 ns 239,545.5 0.10 0.00 No 0.6790 - - NA
RegexDissectionBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [203] 19,873.2 ns 81.48 ns 76.22 ns 19.68 ns 19,787.0 ns 19,823.6 ns 19,853.4 ns 19,911.8 ns 20,036.7 ns 50,319.1 0.49 0.00 No 1.6174 - - NA
ChatCoreBaselineBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [203] 40,927.6 ns 107.68 ns 100.72 ns 26.01 ns 40,787.3 ns 40,841.1 ns 40,897.0 ns 41,022.7 ns 41,099.0 ns 24,433.4 1.00 0.00 Yes 0.9766 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2021.3.16f1 badg(...)ype= [203] 1,659.5 ns 8.41 ns 7.87 ns 2.03 ns 1,646.6 ns 1,654.6 ns 1,660.9 ns 1,662.5 ns 1,673.0 ns 602,600.3 0.04 0.00 No 0.2918 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2021.3.16f1 badg(...)ype= [203] 1,973.3 ns 5.13 ns 4.55 ns 1.21 ns 1,966.1 ns 1,969.6 ns 1,973.1 ns 1,976.3 ns 1,982.1 ns 506,767.8 0.05 0.00 No 0.3242 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2021.3.16f1 badg(...)ype= [203] 1,999.7 ns 13.10 ns 12.26 ns 3.16 ns 1,984.6 ns 1,987.5 ns 2,002.2 ns 2,005.9 ns 2,026.6 ns 500,066.5 0.05 0.00 No 0.3242 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2021.3.16f1 badg(...)ype= [203] 2,111.6 ns 4.71 ns 3.94 ns 1.09 ns 2,104.6 ns 2,109.0 ns 2,110.3 ns 2,115.4 ns 2,117.4 ns 473,572.5 0.05 0.00 No 0.3395 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [203] 2,115.7 ns 7.30 ns 6.47 ns 1.73 ns 2,106.1 ns 2,110.6 ns 2,115.3 ns 2,121.3 ns 2,125.6 ns 472,665.3 0.05 0.00 No 0.3395 - - NA
LinqSplitBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [203] 4,138.3 ns 11.57 ns 10.82 ns 2.79 ns 4,123.1 ns 4,129.7 ns 4,137.4 ns 4,144.7 ns 4,162.9 ns 241,644.6 0.10 0.00 No 0.6790 - - NA
RegexDissectionBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [203] 19,823.5 ns 73.72 ns 68.96 ns 17.80 ns 19,721.8 ns 19,767.6 ns 19,838.1 ns 19,874.7 ns 19,960.0 ns 50,445.1 0.48 0.00 No 1.6174 - - NA
ChatCoreBaselineBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [203] 40,883.7 ns 35.70 ns 29.81 ns 8.27 ns 40,837.6 ns 40,860.9 ns 40,874.1 ns 40,903.3 ns 40,939.9 ns 24,459.6 1.00 0.00 Yes 0.9766 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2022.1.0a12 badg(...)ype= [203] 1,670.6 ns 6.18 ns 5.78 ns 1.49 ns 1,663.9 ns 1,666.2 ns 1,669.0 ns 1,673.8 ns 1,684.1 ns 598,592.6 0.04 0.00 No 0.2918 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2022.1.0a12 badg(...)ype= [203] 1,996.7 ns 11.06 ns 10.34 ns 2.67 ns 1,980.9 ns 1,987.4 ns 2,000.3 ns 2,003.3 ns 2,010.7 ns 500,830.6 0.05 0.00 No 0.3242 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2022.1.0a12 badg(...)ype= [203] 2,005.0 ns 11.61 ns 10.29 ns 2.75 ns 1,990.3 ns 1,997.1 ns 2,004.0 ns 2,008.2 ns 2,025.7 ns 498,749.7 0.05 0.00 No 0.3242 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [203] 2,090.7 ns 12.12 ns 11.34 ns 2.93 ns 2,075.1 ns 2,081.1 ns 2,087.9 ns 2,098.8 ns 2,111.0 ns 478,299.3 0.05 0.00 No 0.3395 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2022.1.0a12 badg(...)ype= [203] 2,127.2 ns 6.26 ns 5.55 ns 1.48 ns 2,117.2 ns 2,124.6 ns 2,125.9 ns 2,128.9 ns 2,138.2 ns 470,101.6 0.05 0.00 No 0.3395 - - NA
LinqSplitBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [203] 4,127.1 ns 18.59 ns 16.48 ns 4.40 ns 4,111.5 ns 4,113.7 ns 4,120.3 ns 4,137.8 ns 4,160.3 ns 242,303.1 0.10 0.00 No 0.6790 - - NA
RegexDissectionBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [203] 20,043.9 ns 64.76 ns 60.58 ns 15.64 ns 19,916.0 ns 20,007.0 ns 20,046.9 ns 20,091.8 ns 20,130.5 ns 49,890.4 0.49 0.00 No 1.6174 - - NA
ChatCoreBaselineBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [203] 40,944.4 ns 186.42 ns 174.37 ns 45.02 ns 40,719.4 ns 40,793.0 ns 40,900.3 ns 41,069.4 ns 41,295.7 ns 24,423.3 1.00 0.00 Yes 0.9766 - - NA
SpanDissectionBenchmarkBroken .NET 5.0 badg(...)=mod [299] 838.7 ns 3.27 ns 2.73 ns 0.76 ns 835.2 ns 837.4 ns 837.8 ns 840.4 ns 845.2 ns 1,192,324.0 0.15 0.00 No 0.2470 0.0010 2072 B 0.23
SpanDissectionBenchmarkV3 .NET 5.0 badg(...)=mod [299] 839.0 ns 5.70 ns 5.33 ns 1.38 ns 833.6 ns 835.1 ns 837.1 ns 843.5 ns 851.3 ns 1,191,848.0 0.15 0.00 No 0.2565 0.0010 2152 B 0.24
SpanDissectionBenchmarkV2Broken .NET 5.0 badg(...)=mod [299] 845.5 ns 5.89 ns 5.51 ns 1.42 ns 838.0 ns 841.6 ns 845.2 ns 847.5 ns 855.1 ns 1,182,784.5 0.15 0.00 No 0.2470 0.0010 2072 B 0.23
SpanDissectionBenchmarkV2 .NET 5.0 badg(...)=mod [299] 882.2 ns 2.75 ns 2.58 ns 0.66 ns 878.8 ns 880.2 ns 881.3 ns 884.2 ns 888.1 ns 1,133,496.2 0.15 0.00 No 0.2613 0.0010 2192 B 0.24
SpanDissectionBenchmark .NET 5.0 badg(...)=mod [299] 884.5 ns 4.80 ns 4.49 ns 1.16 ns 878.9 ns 880.9 ns 882.3 ns 888.1 ns 892.7 ns 1,130,630.2 0.15 0.00 No 0.2613 0.0010 2192 B 0.24
LinqSplitBenchmark .NET 5.0 badg(...)=mod [299] 1,974.3 ns 9.85 ns 8.73 ns 2.33 ns 1,957.9 ns 1,969.6 ns 1,972.4 ns 1,978.6 ns 1,994.5 ns 506,506.4 0.34 0.00 No 0.5302 0.0038 4464 B 0.49
ChatCoreBaselineBenchmark .NET 5.0 badg(...)=mod [299] 5,729.5 ns 19.74 ns 17.50 ns 4.68 ns 5,696.6 ns 5,719.0 ns 5,730.3 ns 5,742.5 ns 5,758.6 ns 174,535.6 1.00 0.00 Yes 1.0834 0.0305 9120 B 1.00
RegexDissectionBenchmark .NET 5.0 badg(...)=mod [299] 6,898.5 ns 22.56 ns 21.10 ns 5.45 ns 6,869.4 ns 6,881.4 ns 6,897.3 ns 6,908.4 ns 6,939.6 ns 144,959.4 1.20 0.01 No 1.2131 0.0381 10200 B 1.12
SpanDissectionBenchmark .NET 6.0 badg(...)=mod [299] 765.0 ns 2.78 ns 2.60 ns 0.67 ns 760.6 ns 763.4 ns 765.3 ns 767.0 ns 769.2 ns 1,307,107.0 0.16 0.00 No 0.2613 0.0010 2192 B 0.24
SpanDissectionBenchmarkV3 .NET 6.0 badg(...)=mod [299] 830.6 ns 4.87 ns 4.56 ns 1.18 ns 824.3 ns 827.6 ns 829.6 ns 833.7 ns 840.5 ns 1,203,906.5 0.17 0.00 No 0.2565 0.0010 2152 B 0.24
SpanDissectionBenchmarkBroken .NET 6.0 badg(...)=mod [299] 833.6 ns 6.68 ns 6.24 ns 1.61 ns 826.5 ns 829.0 ns 831.3 ns 837.2 ns 845.3 ns 1,199,558.5 0.18 0.00 No 0.2470 0.0010 2072 B 0.23
SpanDissectionBenchmarkV2 .NET 6.0 badg(...)=mod [299] 834.4 ns 5.57 ns 5.21 ns 1.35 ns 827.3 ns 830.8 ns 832.4 ns 836.9 ns 843.2 ns 1,198,531.4 0.18 0.00 No 0.2613 0.0010 2192 B 0.24
SpanDissectionBenchmarkV2Broken .NET 6.0 badg(...)=mod [299] 838.6 ns 3.36 ns 2.97 ns 0.79 ns 833.4 ns 836.4 ns 838.9 ns 840.7 ns 842.3 ns 1,192,497.3 0.18 0.00 No 0.2470 0.0010 2072 B 0.23
LinqSplitBenchmark .NET 6.0 badg(...)=mod [299] 1,637.8 ns 7.27 ns 6.45 ns 1.72 ns 1,626.2 ns 1,632.4 ns 1,639.0 ns 1,641.8 ns 1,646.7 ns 610,587.5 0.34 0.00 No 0.5322 0.0057 4464 B 0.49
ChatCoreBaselineBenchmark .NET 6.0 badg(...)=mod [299] 4,765.5 ns 46.32 ns 41.06 ns 10.97 ns 4,721.2 ns 4,735.8 ns 4,756.6 ns 4,777.5 ns 4,865.3 ns 209,841.3 1.00 0.00 Yes 1.0834 0.0305 9120 B 1.00
RegexDissectionBenchmark .NET 6.0 badg(...)=mod [299] 6,442.1 ns 39.39 ns 36.84 ns 9.51 ns 6,385.0 ns 6,418.8 ns 6,436.0 ns 6,461.6 ns 6,519.3 ns 155,227.8 1.35 0.01 No 1.2131 0.0381 10200 B 1.12
SpanDissectionBenchmarkV2Broken .NET 7.0 badg(...)=mod [299] 728.9 ns 7.34 ns 6.87 ns 1.77 ns 713.9 ns 725.6 ns 728.9 ns 732.9 ns 741.6 ns 1,371,987.1 0.17 0.00 No 0.2470 0.0010 2072 B 0.23
SpanDissectionBenchmarkV2 .NET 7.0 badg(...)=mod [299] 757.2 ns 5.54 ns 5.18 ns 1.34 ns 743.3 ns 755.7 ns 755.9 ns 759.9 ns 764.7 ns 1,320,710.7 0.17 0.00 No 0.2613 0.0019 2192 B 0.24
SpanDissectionBenchmark .NET 7.0 badg(...)=mod [299] 776.1 ns 6.23 ns 5.82 ns 1.50 ns 768.1 ns 771.3 ns 775.5 ns 780.7 ns 787.3 ns 1,288,423.6 0.18 0.00 No 0.2613 0.0019 2192 B 0.24
SpanDissectionBenchmarkBroken .NET 7.0 badg(...)=mod [299] 788.9 ns 6.87 ns 6.43 ns 1.66 ns 774.1 ns 785.0 ns 789.4 ns 792.4 ns 799.6 ns 1,267,656.2 0.18 0.00 No 0.2470 0.0010 2072 B 0.23
SpanDissectionBenchmarkV3 .NET 7.0 badg(...)=mod [299] 832.6 ns 7.77 ns 6.89 ns 1.84 ns 818.2 ns 828.5 ns 832.4 ns 836.8 ns 843.9 ns 1,200,989.5 0.19 0.00 No 0.2565 0.0019 2152 B 0.24
LinqSplitBenchmark .NET 7.0 badg(...)=mod [299] 1,330.9 ns 11.05 ns 9.80 ns 2.62 ns 1,313.7 ns 1,325.1 ns 1,330.7 ns 1,338.8 ns 1,346.5 ns 751,363.9 0.30 0.00 No 0.4711 0.0038 3952 B 0.43
ChatCoreBaselineBenchmark .NET 7.0 badg(...)=mod [299] 4,415.8 ns 21.73 ns 19.27 ns 5.15 ns 4,393.5 ns 4,398.8 ns 4,411.3 ns 4,433.9 ns 4,443.3 ns 226,460.4 1.00 0.00 Yes 1.0834 0.0305 9120 B 1.00
RegexDissectionBenchmark .NET 7.0 badg(...)=mod [299] 4,796.1 ns 27.45 ns 25.67 ns 6.63 ns 4,738.1 ns 4,780.5 ns 4,794.8 ns 4,811.9 ns 4,836.6 ns 208,501.5 1.09 0.01 No 1.2131 0.0381 10200 B 1.12
SpanDissectionBenchmarkV2Broken .NET Framework 4.7.2 badg(...)=mod [299] 1,077.1 ns 7.36 ns 6.88 ns 1.78 ns 1,066.2 ns 1,072.0 ns 1,076.4 ns 1,081.8 ns 1,092.2 ns 928,446.1 0.08 0.00 No 0.3452 0.0019 2174 B 0.23
SpanDissectionBenchmarkV2 .NET Framework 4.7.2 badg(...)=mod [299] 1,089.2 ns 3.80 ns 3.37 ns 0.90 ns 1,084.0 ns 1,087.0 ns 1,089.3 ns 1,091.7 ns 1,095.7 ns 918,146.5 0.09 0.00 No 0.3681 0.0019 2319 B 0.25
SpanDissectionBenchmarkBroken .NET Framework 4.7.2 badg(...)=mod [299] 1,091.3 ns 5.86 ns 5.48 ns 1.41 ns 1,083.8 ns 1,087.6 ns 1,089.1 ns 1,095.7 ns 1,103.1 ns 916,371.6 0.09 0.00 No 0.3452 0.0019 2174 B 0.23
SpanDissectionBenchmark .NET Framework 4.7.2 badg(...)=mod [299] 1,109.8 ns 4.21 ns 3.51 ns 0.97 ns 1,103.9 ns 1,108.0 ns 1,110.2 ns 1,112.0 ns 1,115.9 ns 901,088.8 0.09 0.00 No 0.3681 0.0019 2319 B 0.25
SpanDissectionBenchmarkV3 .NET Framework 4.7.2 badg(...)=mod [299] 1,112.8 ns 3.96 ns 3.51 ns 0.94 ns 1,106.4 ns 1,110.5 ns 1,112.0 ns 1,114.8 ns 1,119.4 ns 898,646.1 0.09 0.00 No 0.3605 0.0019 2271 B 0.24
LinqSplitBenchmark .NET Framework 4.7.2 badg(...)=mod [299] 2,203.2 ns 11.00 ns 10.29 ns 2.66 ns 2,192.0 ns 2,196.0 ns 2,197.9 ns 2,211.2 ns 2,224.0 ns 453,875.5 0.17 0.00 No 1.1826 0.0153 7454 B 0.80
RegexDissectionBenchmark .NET Framework 4.7.2 badg(...)=mod [299] 10,026.7 ns 31.90 ns 26.64 ns 7.39 ns 9,978.0 ns 10,021.2 ns 10,025.9 ns 10,040.9 ns 10,064.2 ns 99,733.6 0.79 0.00 No 1.8005 0.0610 11337 B 1.21
ChatCoreBaselineBenchmark .NET Framework 4.7.2 badg(...)=mod [299] 12,714.2 ns 34.28 ns 28.62 ns 7.94 ns 12,658.5 ns 12,703.2 ns 12,717.5 ns 12,724.2 ns 12,764.9 ns 78,652.2 1.00 0.00 Yes 1.4801 0.0458 9339 B 1.00
SpanDissectionBenchmarkV3 Mono Unity 2019.4.28f1 badg(...)=mod [299] 3,169.1 ns 16.53 ns 14.66 ns 3.92 ns 3,147.1 ns 3,158.5 ns 3,168.1 ns 3,177.9 ns 3,194.1 ns 315,551.8 0.14 0.00 No 0.3967 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2019.4.28f1 badg(...)=mod [299] 3,230.5 ns 12.75 ns 11.93 ns 3.08 ns 3,208.7 ns 3,224.1 ns 3,231.4 ns 3,236.2 ns 3,250.5 ns 309,547.9 0.14 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2019.4.28f1 badg(...)=mod [299] 3,301.2 ns 10.62 ns 9.42 ns 2.52 ns 3,283.7 ns 3,296.1 ns 3,301.4 ns 3,309.7 ns 3,313.8 ns 302,922.7 0.14 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2019.4.28f1 badg(...)=mod [299] 3,386.4 ns 14.93 ns 12.47 ns 3.46 ns 3,365.1 ns 3,380.1 ns 3,384.2 ns 3,396.0 ns 3,412.7 ns 295,296.9 0.15 0.00 No 0.4044 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2019.4.28f1 badg(...)=mod [299] 3,435.7 ns 16.09 ns 15.05 ns 3.89 ns 3,419.6 ns 3,421.7 ns 3,434.8 ns 3,444.9 ns 3,466.2 ns 291,060.6 0.15 0.00 No 0.4044 - - NA
LinqSplitBenchmark Mono Unity 2019.4.28f1 badg(...)=mod [299] 6,005.9 ns 18.70 ns 16.58 ns 4.43 ns 5,970.1 ns 5,995.8 ns 6,005.3 ns 6,017.0 ns 6,033.4 ns 166,502.0 0.26 0.00 No 1.4648 - - NA
ChatCoreBaselineBenchmark Mono Unity 2019.4.28f1 badg(...)=mod [299] 22,892.9 ns 109.65 ns 102.57 ns 26.48 ns 22,741.5 ns 22,827.2 ns 22,888.9 ns 22,949.7 ns 23,114.1 ns 43,681.6 1.00 0.00 Yes 1.4954 - - NA
RegexDissectionBenchmark Mono Unity 2019.4.28f1 badg(...)=mod [299] 31,892.9 ns 83.51 ns 78.12 ns 20.17 ns 31,769.2 ns 31,829.4 ns 31,915.5 ns 31,953.7 ns 32,019.7 ns 31,354.9 1.39 0.01 No 1.7700 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2021.2.0b4 badg(...)=mod [299] 2,408.0 ns 6.21 ns 5.81 ns 1.50 ns 2,399.5 ns 2,403.4 ns 2,407.2 ns 2,412.1 ns 2,419.6 ns 415,274.0 0.08 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2021.2.0b4 badg(...)=mod [299] 2,424.1 ns 11.91 ns 11.14 ns 2.88 ns 2,408.4 ns 2,417.7 ns 2,420.0 ns 2,432.4 ns 2,448.0 ns 412,522.0 0.08 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 badg(...)=mod [299] 2,522.0 ns 9.07 ns 8.48 ns 2.19 ns 2,511.5 ns 2,516.0 ns 2,519.9 ns 2,528.1 ns 2,535.9 ns 396,516.3 0.08 0.00 No 0.4044 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2021.2.0b4 badg(...)=mod [299] 2,542.4 ns 8.65 ns 8.09 ns 2.09 ns 2,524.0 ns 2,538.8 ns 2,543.7 ns 2,547.3 ns 2,553.0 ns 393,330.7 0.08 0.00 No 0.4044 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2021.2.0b4 badg(...)=mod [299] 2,615.8 ns 12.41 ns 11.61 ns 3.00 ns 2,597.8 ns 2,609.2 ns 2,617.2 ns 2,622.3 ns 2,637.2 ns 382,286.6 0.08 0.00 No 0.3967 - - NA
LinqSplitBenchmark Mono Unity 2021.2.0b4 badg(...)=mod [299] 4,783.2 ns 12.02 ns 11.24 ns 2.90 ns 4,766.0 ns 4,775.2 ns 4,785.4 ns 4,790.3 ns 4,802.3 ns 209,066.6 0.15 0.00 No 0.8087 - - NA
RegexDissectionBenchmark Mono Unity 2021.2.0b4 badg(...)=mod [299] 30,403.5 ns 91.96 ns 81.52 ns 21.79 ns 30,281.1 ns 30,346.5 ns 30,386.6 ns 30,443.0 ns 30,559.1 ns 32,891.0 0.98 0.00 No 1.7700 - - NA
ChatCoreBaselineBenchmark Mono Unity 2021.2.0b4 badg(...)=mod [299] 30,906.5 ns 69.53 ns 58.06 ns 16.10 ns 30,773.2 ns 30,896.5 ns 30,918.6 ns 30,938.1 ns 30,998.0 ns 32,355.6 1.00 0.00 Yes 1.4648 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2021.3.16f1 badg(...)=mod [299] 2,421.5 ns 8.82 ns 7.82 ns 2.09 ns 2,406.6 ns 2,416.4 ns 2,419.9 ns 2,427.2 ns 2,434.4 ns 412,959.8 0.08 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2021.3.16f1 badg(...)=mod [299] 2,452.1 ns 8.10 ns 7.58 ns 1.96 ns 2,438.3 ns 2,446.5 ns 2,451.3 ns 2,455.9 ns 2,466.5 ns 407,819.2 0.08 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2021.3.16f1 badg(...)=mod [299] 2,545.9 ns 5.39 ns 4.77 ns 1.28 ns 2,537.2 ns 2,544.2 ns 2,545.1 ns 2,549.1 ns 2,554.2 ns 392,793.9 0.08 0.00 No 0.3967 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 badg(...)=mod [299] 2,553.3 ns 7.48 ns 7.00 ns 1.81 ns 2,544.3 ns 2,547.1 ns 2,555.2 ns 2,557.6 ns 2,567.1 ns 391,654.7 0.08 0.00 No 0.4044 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2021.3.16f1 badg(...)=mod [299] 2,587.9 ns 8.44 ns 7.48 ns 2.00 ns 2,576.1 ns 2,583.3 ns 2,587.3 ns 2,594.5 ns 2,599.4 ns 386,417.9 0.08 0.00 No 0.4044 - - NA
LinqSplitBenchmark Mono Unity 2021.3.16f1 badg(...)=mod [299] 4,749.7 ns 20.21 ns 18.90 ns 4.88 ns 4,723.6 ns 4,735.9 ns 4,746.8 ns 4,762.6 ns 4,787.1 ns 210,538.5 0.15 0.00 No 0.8087 - - NA
RegexDissectionBenchmark Mono Unity 2021.3.16f1 badg(...)=mod [299] 30,331.7 ns 105.08 ns 98.29 ns 25.38 ns 30,208.1 ns 30,255.3 ns 30,318.0 ns 30,400.1 ns 30,559.8 ns 32,968.8 0.97 0.00 No 1.7700 - - NA
ChatCoreBaselineBenchmark Mono Unity 2021.3.16f1 badg(...)=mod [299] 31,140.7 ns 101.55 ns 90.02 ns 24.06 ns 31,024.6 ns 31,071.4 ns 31,149.2 ns 31,178.6 ns 31,341.8 ns 32,112.3 1.00 0.00 Yes 1.4648 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2022.1.0a12 badg(...)=mod [299] 2,448.9 ns 15.60 ns 14.59 ns 3.77 ns 2,430.1 ns 2,439.0 ns 2,447.2 ns 2,461.2 ns 2,473.2 ns 408,350.0 0.08 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2022.1.0a12 badg(...)=mod [299] 2,504.4 ns 6.07 ns 5.07 ns 1.41 ns 2,497.0 ns 2,502.0 ns 2,503.6 ns 2,505.7 ns 2,515.7 ns 399,300.9 0.08 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 badg(...)=mod [299] 2,538.7 ns 9.84 ns 8.72 ns 2.33 ns 2,527.8 ns 2,534.1 ns 2,535.6 ns 2,539.6 ns 2,559.5 ns 393,895.3 0.08 0.00 No 0.4044 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2022.1.0a12 badg(...)=mod [299] 2,558.2 ns 10.68 ns 9.99 ns 2.58 ns 2,541.9 ns 2,550.6 ns 2,562.0 ns 2,563.6 ns 2,576.4 ns 390,900.0 0.08 0.00 No 0.3967 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2022.1.0a12 badg(...)=mod [299] 2,581.6 ns 8.30 ns 7.76 ns 2.00 ns 2,568.2 ns 2,575.6 ns 2,582.5 ns 2,587.0 ns 2,594.2 ns 387,352.0 0.08 0.00 No 0.4044 - - NA
LinqSplitBenchmark Mono Unity 2022.1.0a12 badg(...)=mod [299] 4,776.8 ns 21.11 ns 19.75 ns 5.10 ns 4,749.5 ns 4,761.7 ns 4,768.1 ns 4,792.1 ns 4,811.4 ns 209,343.5 0.15 0.00 No 0.8087 - - NA
RegexDissectionBenchmark Mono Unity 2022.1.0a12 badg(...)=mod [299] 30,210.1 ns 73.29 ns 61.20 ns 16.97 ns 30,089.6 ns 30,169.0 ns 30,216.7 ns 30,248.5 ns 30,299.4 ns 33,101.5 0.97 0.00 No 1.7700 - - NA
ChatCoreBaselineBenchmark Mono Unity 2022.1.0a12 badg(...)=mod [299] 31,165.8 ns 114.98 ns 101.93 ns 27.24 ns 30,986.6 ns 31,099.2 ns 31,159.1 ns 31,246.2 ns 31,307.8 ns 32,086.4 1.00 0.00 Yes 1.4648 - - NA
SpanDissectionBenchmarkV3 .NET 5.0 badg(...)ype= [294] 802.4 ns 4.44 ns 4.15 ns 1.07 ns 796.0 ns 799.7 ns 802.8 ns 804.9 ns 810.4 ns 1,246,269.5 0.11 0.00 No 0.2470 0.0010 2072 B 0.24
SpanDissectionBenchmarkBroken .NET 5.0 badg(...)ype= [294] 861.4 ns 4.74 ns 4.20 ns 1.12 ns 856.6 ns 858.2 ns 860.4 ns 863.1 ns 870.6 ns 1,160,956.6 0.12 0.00 No 0.2460 0.0010 2064 B 0.24
SpanDissectionBenchmarkV2Broken .NET 5.0 badg(...)ype= [294] 875.1 ns 1.52 ns 1.19 ns 0.34 ns 873.2 ns 874.3 ns 875.3 ns 876.2 ns 876.4 ns 1,142,685.7 0.12 0.00 No 0.2460 0.0010 2064 B 0.24
SpanDissectionBenchmarkV2 .NET 5.0 badg(...)ype= [294] 877.2 ns 5.04 ns 4.47 ns 1.19 ns 871.7 ns 874.2 ns 875.3 ns 879.7 ns 885.8 ns 1,140,018.2 0.12 0.00 No 0.2604 0.0010 2184 B 0.26
SpanDissectionBenchmark .NET 5.0 badg(...)ype= [294] 885.0 ns 7.46 ns 6.97 ns 1.80 ns 875.7 ns 879.1 ns 883.9 ns 889.9 ns 897.9 ns 1,129,983.2 0.12 0.00 No 0.2604 0.0010 2184 B 0.26
LinqSplitBenchmark .NET 5.0 badg(...)ype= [294] 1,903.8 ns 16.95 ns 15.85 ns 4.09 ns 1,878.2 ns 1,894.5 ns 1,902.7 ns 1,917.2 ns 1,928.3 ns 525,262.7 0.26 0.00 No 0.5264 0.0038 4408 B 0.52
RegexDissectionBenchmark .NET 5.0 badg(...)ype= [294] 6,843.1 ns 30.30 ns 26.86 ns 7.18 ns 6,797.8 ns 6,822.9 ns 6,840.7 ns 6,862.3 ns 6,888.3 ns 146,133.2 0.94 0.01 No 1.2131 0.0381 10160 B 1.19
ChatCoreBaselineBenchmark .NET 5.0 badg(...)ype= [294] 7,305.0 ns 25.58 ns 22.67 ns 6.06 ns 7,272.3 ns 7,288.9 ns 7,306.1 ns 7,324.4 ns 7,340.1 ns 136,893.0 1.00 0.00 Yes 1.0147 0.0229 8536 B 1.00
SpanDissectionBenchmarkV3 .NET 6.0 badg(...)ype= [294] 735.0 ns 5.22 ns 4.89 ns 1.26 ns 728.4 ns 731.1 ns 735.3 ns 737.7 ns 745.6 ns 1,360,592.3 0.16 0.00 No 0.2470 0.0010 2072 B 0.24
SpanDissectionBenchmarkV2Broken .NET 6.0 badg(...)ype= [294] 774.6 ns 5.00 ns 4.68 ns 1.21 ns 765.9 ns 771.9 ns 772.6 ns 778.8 ns 782.0 ns 1,290,960.5 0.17 0.00 No 0.2460 0.0010 2064 B 0.24
SpanDissectionBenchmark .NET 6.0 badg(...)ype= [294] 779.5 ns 6.31 ns 5.59 ns 1.50 ns 770.9 ns 776.8 ns 779.4 ns 782.1 ns 791.7 ns 1,282,944.5 0.17 0.00 No 0.2604 0.0010 2184 B 0.26
SpanDissectionBenchmarkV2 .NET 6.0 badg(...)ype= [294] 782.0 ns 4.81 ns 4.50 ns 1.16 ns 775.2 ns 778.2 ns 782.5 ns 783.9 ns 790.4 ns 1,278,779.7 0.17 0.00 No 0.2604 0.0010 2184 B 0.26
SpanDissectionBenchmarkBroken .NET 6.0 badg(...)ype= [294] 798.3 ns 5.23 ns 4.64 ns 1.24 ns 790.5 ns 795.4 ns 798.0 ns 799.9 ns 808.0 ns 1,252,724.8 0.17 0.00 No 0.2460 0.0010 2064 B 0.24
LinqSplitBenchmark .NET 6.0 badg(...)ype= [294] 1,530.0 ns 7.49 ns 7.00 ns 1.81 ns 1,523.2 ns 1,524.5 ns 1,527.4 ns 1,533.2 ns 1,545.0 ns 653,611.9 0.33 0.00 No 0.5264 0.0057 4408 B 0.52
ChatCoreBaselineBenchmark .NET 6.0 badg(...)ype= [294] 4,632.7 ns 24.80 ns 21.99 ns 5.88 ns 4,600.4 ns 4,616.9 ns 4,631.1 ns 4,648.3 ns 4,679.0 ns 215,858.2 1.00 0.00 Yes 1.0147 0.0229 8536 B 1.00
RegexDissectionBenchmark .NET 6.0 badg(...)ype= [294] 6,200.3 ns 27.48 ns 24.36 ns 6.51 ns 6,158.9 ns 6,187.6 ns 6,195.8 ns 6,212.3 ns 6,253.0 ns 161,283.8 1.34 0.01 No 1.2131 0.0381 10160 B 1.19
SpanDissectionBenchmarkV2Broken .NET 7.0 badg(...)ype= [294] 721.5 ns 5.44 ns 4.82 ns 1.29 ns 712.9 ns 718.1 ns 721.8 ns 723.2 ns 730.6 ns 1,386,005.0 0.16 0.00 No 0.2460 0.0010 2064 B 0.24
SpanDissectionBenchmark .NET 7.0 badg(...)ype= [294] 767.5 ns 10.04 ns 9.39 ns 2.43 ns 750.5 ns 760.7 ns 769.9 ns 772.7 ns 785.7 ns 1,302,965.3 0.17 0.00 No 0.2604 0.0019 2184 B 0.26
SpanDissectionBenchmarkBroken .NET 7.0 badg(...)ype= [294] 777.1 ns 7.29 ns 6.82 ns 1.76 ns 764.1 ns 772.5 ns 777.6 ns 782.5 ns 787.7 ns 1,286,773.9 0.17 0.00 No 0.2460 0.0010 2064 B 0.24
SpanDissectionBenchmarkV3 .NET 7.0 badg(...)ype= [294] 789.9 ns 2.34 ns 1.83 ns 0.53 ns 785.8 ns 789.3 ns 789.9 ns 790.8 ns 792.9 ns 1,265,953.9 0.18 0.00 No 0.2470 0.0010 2072 B 0.24
SpanDissectionBenchmarkV2 .NET 7.0 badg(...)ype= [294] 864.2 ns 3.97 ns 3.10 ns 0.89 ns 855.4 ns 863.5 ns 864.8 ns 865.8 ns 867.6 ns 1,157,202.8 0.19 0.00 No 0.2604 0.0019 2184 B 0.26
LinqSplitBenchmark .NET 7.0 badg(...)ype= [294] 1,308.0 ns 6.37 ns 5.65 ns 1.51 ns 1,300.2 ns 1,303.8 ns 1,308.0 ns 1,311.5 ns 1,319.0 ns 764,532.8 0.29 0.00 No 0.4654 0.0038 3896 B 0.46
ChatCoreBaselineBenchmark .NET 7.0 badg(...)ype= [294] 4,449.5 ns 23.99 ns 21.26 ns 5.68 ns 4,406.2 ns 4,436.2 ns 4,454.3 ns 4,460.9 ns 4,491.5 ns 224,742.5 1.00 0.00 Yes 1.0147 0.0305 8536 B 1.00
RegexDissectionBenchmark .NET 7.0 badg(...)ype= [294] 4,646.4 ns 13.64 ns 11.39 ns 3.16 ns 4,628.3 ns 4,637.1 ns 4,646.2 ns 4,655.4 ns 4,662.9 ns 215,220.2 1.04 0.01 No 1.2131 0.0381 10160 B 1.19
SpanDissectionBenchmarkV2Broken .NET Framework 4.7.2 badg(...)ype= [294] 1,052.2 ns 5.93 ns 5.26 ns 1.41 ns 1,045.1 ns 1,049.2 ns 1,049.9 ns 1,054.3 ns 1,064.2 ns 950,389.5 0.07 0.00 No 0.3452 0.0019 2174 B 0.25
SpanDissectionBenchmarkBroken .NET Framework 4.7.2 badg(...)ype= [294] 1,055.2 ns 5.82 ns 5.16 ns 1.38 ns 1,047.8 ns 1,051.9 ns 1,054.6 ns 1,057.3 ns 1,065.1 ns 947,679.1 0.08 0.00 No 0.3452 0.0019 2174 B 0.25
SpanDissectionBenchmarkV2 .NET Framework 4.7.2 badg(...)ype= [294] 1,069.3 ns 4.68 ns 4.37 ns 1.13 ns 1,063.4 ns 1,065.8 ns 1,068.7 ns 1,071.3 ns 1,076.7 ns 935,212.0 0.08 0.00 No 0.3681 0.0019 2319 B 0.26
SpanDissectionBenchmarkV3 .NET Framework 4.7.2 badg(...)ype= [294] 1,073.6 ns 5.73 ns 5.36 ns 1.38 ns 1,064.3 ns 1,070.3 ns 1,071.0 ns 1,076.8 ns 1,085.6 ns 931,483.9 0.08 0.00 No 0.3471 0.0019 2190 B 0.25
SpanDissectionBenchmark .NET Framework 4.7.2 badg(...)ype= [294] 1,086.8 ns 4.08 ns 3.61 ns 0.97 ns 1,082.1 ns 1,084.2 ns 1,085.5 ns 1,088.9 ns 1,094.7 ns 920,170.0 0.08 0.00 No 0.3681 0.0019 2319 B 0.26
LinqSplitBenchmark .NET Framework 4.7.2 badg(...)ype= [294] 2,191.8 ns 12.52 ns 11.10 ns 2.97 ns 2,180.7 ns 2,182.5 ns 2,190.6 ns 2,196.0 ns 2,220.7 ns 456,238.7 0.16 0.00 No 1.1711 0.0114 7374 B 0.84
RegexDissectionBenchmark .NET Framework 4.7.2 badg(...)ype= [294] 9,913.1 ns 73.42 ns 68.68 ns 17.73 ns 9,824.6 ns 9,859.6 ns 9,904.7 ns 9,967.3 ns 10,061.2 ns 100,876.6 0.71 0.01 No 1.7853 0.0610 11305 B 1.29
ChatCoreBaselineBenchmark .NET Framework 4.7.2 badg(...)ype= [294] 14,056.7 ns 79.55 ns 74.41 ns 19.21 ns 13,949.5 ns 13,994.1 ns 14,046.5 ns 14,114.0 ns 14,200.8 ns 71,140.5 1.00 0.00 Yes 1.3885 0.0305 8754 B 1.00
SpanDissectionBenchmarkV3 Mono Unity 2019.4.28f1 badg(...)ype= [294] 3,070.5 ns 16.50 ns 15.43 ns 3.98 ns 3,041.5 ns 3,058.6 ns 3,070.3 ns 3,081.2 ns 3,098.5 ns 325,675.0 0.11 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2019.4.28f1 badg(...)ype= [294] 3,162.1 ns 21.59 ns 20.20 ns 5.21 ns 3,124.4 ns 3,151.8 ns 3,157.2 ns 3,172.8 ns 3,200.4 ns 316,248.7 0.11 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2019.4.28f1 badg(...)ype= [294] 3,236.0 ns 8.18 ns 6.83 ns 1.90 ns 3,226.0 ns 3,231.5 ns 3,236.2 ns 3,239.9 ns 3,247.3 ns 309,023.7 0.12 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [294] 3,380.8 ns 16.97 ns 15.04 ns 4.02 ns 3,354.3 ns 3,375.3 ns 3,383.1 ns 3,393.1 ns 3,399.3 ns 295,788.2 0.12 0.00 No 0.4005 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2019.4.28f1 badg(...)ype= [294] 3,400.4 ns 21.93 ns 20.51 ns 5.30 ns 3,370.5 ns 3,385.2 ns 3,396.5 ns 3,412.9 ns 3,435.1 ns 294,080.9 0.12 0.00 No 0.4005 - - NA
LinqSplitBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [294] 5,846.7 ns 33.35 ns 31.20 ns 8.06 ns 5,782.0 ns 5,828.4 ns 5,839.3 ns 5,867.3 ns 5,903.6 ns 171,035.5 0.21 0.00 No 1.4648 - - NA
ChatCoreBaselineBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [294] 27,854.6 ns 60.36 ns 53.50 ns 14.30 ns 27,769.3 ns 27,812.0 ns 27,859.5 ns 27,885.2 ns 27,954.3 ns 35,900.7 1.00 0.00 Yes 1.4038 - - NA
RegexDissectionBenchmark Mono Unity 2019.4.28f1 badg(...)ype= [294] 31,405.3 ns 111.72 ns 104.50 ns 26.98 ns 31,269.6 ns 31,331.4 ns 31,384.6 ns 31,455.2 ns 31,633.3 ns 31,841.8 1.13 0.00 No 1.7700 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2021.2.0b4 badg(...)ype= [294] 2,379.6 ns 8.19 ns 7.67 ns 1.98 ns 2,367.7 ns 2,374.5 ns 2,380.6 ns 2,385.5 ns 2,391.2 ns 420,239.2 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2021.2.0b4 badg(...)ype= [294] 2,389.0 ns 8.49 ns 7.52 ns 2.01 ns 2,379.3 ns 2,382.3 ns 2,387.2 ns 2,395.2 ns 2,401.8 ns 418,585.9 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2021.2.0b4 badg(...)ype= [294] 2,444.2 ns 5.84 ns 5.18 ns 1.38 ns 2,432.3 ns 2,441.6 ns 2,444.7 ns 2,447.5 ns 2,451.7 ns 409,132.8 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [294] 2,477.8 ns 7.15 ns 5.97 ns 1.66 ns 2,470.2 ns 2,472.2 ns 2,477.2 ns 2,481.3 ns 2,487.9 ns 403,588.4 0.07 0.00 No 0.4005 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2021.2.0b4 badg(...)ype= [294] 2,480.0 ns 9.03 ns 8.00 ns 2.14 ns 2,469.1 ns 2,474.2 ns 2,480.8 ns 2,482.9 ns 2,495.0 ns 403,231.8 0.07 0.00 No 0.4005 - - NA
LinqSplitBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [294] 4,743.8 ns 22.25 ns 20.82 ns 5.37 ns 4,717.6 ns 4,728.5 ns 4,739.9 ns 4,753.6 ns 4,780.2 ns 210,803.6 0.13 0.00 No 0.7935 - - NA
RegexDissectionBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [294] 29,818.8 ns 106.50 ns 99.62 ns 25.72 ns 29,691.9 ns 29,737.6 ns 29,797.9 ns 29,856.0 ns 29,999.7 ns 33,535.9 0.82 0.00 No 1.7700 - - NA
ChatCoreBaselineBenchmark Mono Unity 2021.2.0b4 badg(...)ype= [294] 36,236.1 ns 200.34 ns 187.40 ns 48.39 ns 35,956.9 ns 36,106.1 ns 36,220.6 ns 36,380.6 ns 36,582.1 ns 27,596.8 1.00 0.00 Yes 1.4038 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2021.3.16f1 badg(...)ype= [294] 2,377.6 ns 11.42 ns 10.69 ns 2.76 ns 2,360.2 ns 2,369.0 ns 2,382.1 ns 2,386.6 ns 2,393.1 ns 420,586.4 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2021.3.16f1 badg(...)ype= [294] 2,389.7 ns 14.80 ns 13.84 ns 3.57 ns 2,368.5 ns 2,378.7 ns 2,393.2 ns 2,396.3 ns 2,412.3 ns 418,470.5 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2021.3.16f1 badg(...)ype= [294] 2,460.2 ns 8.00 ns 7.48 ns 1.93 ns 2,449.8 ns 2,454.6 ns 2,459.4 ns 2,467.4 ns 2,471.9 ns 406,472.5 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [294] 2,498.3 ns 12.86 ns 12.03 ns 3.10 ns 2,482.0 ns 2,486.8 ns 2,500.7 ns 2,506.0 ns 2,520.1 ns 400,270.6 0.07 0.00 No 0.4005 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2021.3.16f1 badg(...)ype= [294] 2,558.6 ns 7.46 ns 6.97 ns 1.80 ns 2,549.8 ns 2,553.2 ns 2,558.0 ns 2,561.7 ns 2,572.3 ns 390,838.3 0.07 0.00 No 0.4005 - - NA
LinqSplitBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [294] 4,708.9 ns 20.53 ns 19.20 ns 4.96 ns 4,678.6 ns 4,698.4 ns 4,701.7 ns 4,722.5 ns 4,742.0 ns 212,364.8 0.13 0.00 No 0.7935 - - NA
RegexDissectionBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [294] 29,654.6 ns 74.25 ns 69.45 ns 17.93 ns 29,547.8 ns 29,599.3 ns 29,649.7 ns 29,697.4 ns 29,817.6 ns 33,721.6 0.82 0.00 No 1.7700 - - NA
ChatCoreBaselineBenchmark Mono Unity 2021.3.16f1 badg(...)ype= [294] 36,165.9 ns 87.12 ns 72.75 ns 20.18 ns 36,066.0 ns 36,103.0 ns 36,156.9 ns 36,210.3 ns 36,305.9 ns 27,650.3 1.00 0.00 Yes 1.4038 - - NA
SpanDissectionBenchmarkV3 Mono Unity 2022.1.0a12 badg(...)ype= [294] 2,369.8 ns 10.24 ns 9.58 ns 2.47 ns 2,356.2 ns 2,362.3 ns 2,369.6 ns 2,375.6 ns 2,389.8 ns 421,978.0 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkBroken Mono Unity 2022.1.0a12 badg(...)ype= [294] 2,393.9 ns 4.63 ns 4.33 ns 1.12 ns 2,385.8 ns 2,390.8 ns 2,393.0 ns 2,397.1 ns 2,400.6 ns 417,723.0 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmarkV2Broken Mono Unity 2022.1.0a12 badg(...)ype= [294] 2,412.8 ns 7.73 ns 7.23 ns 1.87 ns 2,401.9 ns 2,406.3 ns 2,414.0 ns 2,418.9 ns 2,423.5 ns 414,449.7 0.07 0.00 No 0.3891 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [294] 2,492.4 ns 15.90 ns 14.88 ns 3.84 ns 2,471.8 ns 2,483.9 ns 2,490.3 ns 2,499.4 ns 2,521.9 ns 401,222.8 0.07 0.00 No 0.4005 - - NA
SpanDissectionBenchmarkV2 Mono Unity 2022.1.0a12 badg(...)ype= [294] 2,513.2 ns 14.58 ns 13.63 ns 3.52 ns 2,499.1 ns 2,502.4 ns 2,507.6 ns 2,523.7 ns 2,539.2 ns 397,897.7 0.07 0.00 No 0.4005 - - NA
LinqSplitBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [294] 4,709.0 ns 12.75 ns 11.30 ns 3.02 ns 4,683.5 ns 4,703.2 ns 4,711.8 ns 4,715.5 ns 4,724.1 ns 212,358.2 0.13 0.00 No 0.7935 - - NA
RegexDissectionBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [294] 29,685.6 ns 68.46 ns 64.04 ns 16.53 ns 29,556.3 ns 29,650.5 ns 29,679.8 ns 29,731.2 ns 29,801.3 ns 33,686.3 0.82 0.00 No 1.7700 - - NA
ChatCoreBaselineBenchmark Mono Unity 2022.1.0a12 badg(...)ype= [294] 36,117.1 ns 168.38 ns 157.50 ns 40.67 ns 35,879.2 ns 36,007.7 ns 36,107.7 ns 36,206.5 ns 36,424.7 ns 27,687.7 1.00 0.00 Yes 1.4038 - - NA

IRC (chat) message compound deconstruction

Clarification on this can be found here.

Click to expand!

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.2728/21H2/November2021Update)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-CIRMVA : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT AVX2
  • Job-NVAYXH : .NET 6.0.15 (6.0.1523.11507), X64 RyuJIT AVX2
  • Job-ZDMHFB : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
  • Job-ZSFKTD : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86 VectorSize=128
  • Job-UGEEKR : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-KUWVMX : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-LJOXDK : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
Method Runtime IrcMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen0 Gen1 Allocated Alloc Ratio
SpanDissectionBenchmark .NET 5.0 :real(...)leris [56] 55.07 ns 0.531 ns 0.471 ns 0.126 ns 54.17 ns 54.86 ns 55.11 ns 55.39 ns 55.72 ns 18,157,473.61 0.06 No 0.0210 - 176 B 0.11
RegexBenchmark .NET 5.0 :real(...)leris [56] 971.95 ns 4.661 ns 4.360 ns 1.126 ns 961.95 ns 968.93 ns 972.14 ns 974.43 ns 980.04 ns 1,028,857.06 1.00 Yes 0.1907 - 1600 B 1.00
SpanDissectionBenchmark .NET 6.0 :real(...)leris [56] 46.14 ns 0.462 ns 0.410 ns 0.109 ns 45.60 ns 45.87 ns 46.03 ns 46.31 ns 46.95 ns 21,673,874.68 0.06 No 0.0210 - 176 B 0.11
RegexBenchmark .NET 6.0 :real(...)leris [56] 762.50 ns 3.715 ns 3.475 ns 0.897 ns 757.89 ns 759.99 ns 761.37 ns 765.40 ns 769.93 ns 1,311,468.56 1.00 Yes 0.1907 - 1600 B 1.00
SpanDissectionBenchmark .NET 7.0 :real(...)leris [56] 40.53 ns 0.330 ns 0.308 ns 0.080 ns 40.08 ns 40.24 ns 40.55 ns 40.80 ns 40.99 ns 24,673,380.58 0.05 No 0.0210 - 176 B 0.11
RegexBenchmark .NET 7.0 :real(...)leris [56] 775.49 ns 2.891 ns 2.704 ns 0.698 ns 769.89 ns 774.50 ns 775.08 ns 777.27 ns 780.56 ns 1,289,499.44 1.00 Yes 0.1831 - 1536 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :real(...)leris [56] 81.90 ns 0.420 ns 0.393 ns 0.102 ns 81.37 ns 81.69 ns 81.83 ns 82.20 ns 82.63 ns 12,209,351.63 0.06 No 0.0318 - 201 B 0.11
RegexBenchmark .NET Framework 4.7.2 :real(...)leris [56] 1,459.83 ns 5.279 ns 4.680 ns 1.251 ns 1,453.45 ns 1,456.90 ns 1,458.73 ns 1,463.39 ns 1,467.61 ns 685,011.97 1.00 Yes 0.2899 - 1829 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :real(...)leris [56] 315.30 ns 1.834 ns 1.715 ns 0.443 ns 312.90 ns 313.95 ns 315.43 ns 316.77 ns 318.63 ns 3,171,538.33 0.11 No 0.0443 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :real(...)leris [56] 2,831.20 ns 11.760 ns 11.000 ns 2.840 ns 2,811.33 ns 2,825.06 ns 2,829.51 ns 2,839.33 ns 2,852.08 ns 353,207.48 1.00 Yes 0.3052 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :real(...)leris [56] 187.66 ns 0.607 ns 0.568 ns 0.147 ns 186.62 ns 187.24 ns 187.60 ns 188.08 ns 188.62 ns 5,328,825.88 0.04 No 0.0365 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :real(...)leris [56] 4,469.29 ns 14.541 ns 12.890 ns 3.445 ns 4,450.01 ns 4,461.22 ns 4,468.29 ns 4,473.48 ns 4,500.41 ns 223,749.18 1.00 Yes 0.2594 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :real(...)leris [56] 186.31 ns 0.705 ns 0.659 ns 0.170 ns 185.21 ns 185.86 ns 186.19 ns 186.85 ns 187.24 ns 5,367,374.46 0.04 No 0.0365 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :real(...)leris [56] 4,475.28 ns 12.753 ns 11.929 ns 3.080 ns 4,456.58 ns 4,465.69 ns 4,477.17 ns 4,480.21 ns 4,494.54 ns 223,449.63 1.00 Yes 0.2594 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :real(...)leris [56] 187.94 ns 0.918 ns 0.813 ns 0.217 ns 186.68 ns 187.34 ns 187.77 ns 188.64 ns 189.25 ns 5,320,767.39 0.04 No 0.0365 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :real(...)leris [56] 4,474.56 ns 12.710 ns 10.614 ns 2.944 ns 4,460.09 ns 4,466.35 ns 4,474.04 ns 4,481.16 ns 4,498.58 ns 223,485.59 1.00 Yes 0.2594 - - NA
SpanDissectionBenchmark .NET 5.0 :real(...)leris [58] 73.37 ns 0.594 ns 0.556 ns 0.144 ns 72.68 ns 72.85 ns 73.39 ns 73.72 ns 74.50 ns 13,630,444.29 0.07 No 0.0248 - 208 B 0.14
RegexBenchmark .NET 5.0 :real(...)leris [58] 1,030.50 ns 3.661 ns 3.245 ns 0.867 ns 1,025.88 ns 1,027.83 ns 1,029.82 ns 1,032.41 ns 1,037.46 ns 970,406.46 1.00 Yes 0.1774 - 1488 B 1.00
SpanDissectionBenchmark .NET 6.0 :real(...)leris [58] 56.70 ns 0.729 ns 0.646 ns 0.173 ns 55.47 ns 56.43 ns 56.84 ns 57.00 ns 57.64 ns 17,637,309.21 0.07 No 0.0248 - 208 B 0.14
RegexBenchmark .NET 6.0 :real(...)leris [58] 852.31 ns 3.931 ns 3.677 ns 0.950 ns 846.46 ns 849.50 ns 851.77 ns 855.33 ns 857.79 ns 1,173,275.74 1.00 Yes 0.1774 - 1488 B 1.00
SpanDissectionBenchmark .NET 7.0 :real(...)leris [58] 52.32 ns 0.212 ns 0.198 ns 0.051 ns 52.06 ns 52.17 ns 52.25 ns 52.42 ns 52.73 ns 19,113,947.64 0.06 No 0.0249 - 208 B 0.15
RegexBenchmark .NET 7.0 :real(...)leris [58] 843.50 ns 4.522 ns 4.009 ns 1.071 ns 833.93 ns 841.39 ns 843.02 ns 846.53 ns 849.96 ns 1,185,534.08 1.00 Yes 0.1698 - 1424 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :real(...)leris [58] 114.39 ns 0.380 ns 0.356 ns 0.092 ns 113.80 ns 114.13 ns 114.43 ns 114.60 ns 114.97 ns 8,742,349.21 0.07 No 0.0356 - 225 B 0.14
RegexBenchmark .NET Framework 4.7.2 :real(...)leris [58] 1,628.20 ns 6.031 ns 5.642 ns 1.457 ns 1,619.48 ns 1,625.25 ns 1,626.89 ns 1,632.79 ns 1,636.80 ns 614,174.99 1.00 Yes 0.2575 - 1621 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :real(...)leris [58] 433.02 ns 1.699 ns 1.506 ns 0.403 ns 430.18 ns 431.83 ns 433.23 ns 434.34 ns 434.88 ns 2,309,343.72 0.14 No 0.0539 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :real(...)leris [58] 3,201.25 ns 13.218 ns 12.365 ns 3.193 ns 3,184.05 ns 3,191.45 ns 3,200.49 ns 3,210.14 ns 3,224.80 ns 312,377.94 1.00 Yes 0.2670 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :real(...)leris [58] 257.93 ns 1.208 ns 1.130 ns 0.292 ns 256.43 ns 256.88 ns 258.12 ns 258.69 ns 260.37 ns 3,877,026.36 0.05 No 0.0424 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :real(...)leris [58] 5,260.55 ns 14.728 ns 13.056 ns 3.489 ns 5,238.80 ns 5,251.97 ns 5,261.14 ns 5,270.18 ns 5,282.68 ns 190,094.12 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :real(...)leris [58] 262.79 ns 1.189 ns 1.054 ns 0.282 ns 260.93 ns 261.97 ns 262.59 ns 263.64 ns 264.77 ns 3,805,323.85 0.05 No 0.0424 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :real(...)leris [58] 5,253.73 ns 24.315 ns 22.744 ns 5.872 ns 5,219.85 ns 5,235.62 ns 5,249.90 ns 5,271.87 ns 5,295.97 ns 190,341.13 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :real(...)leris [58] 262.04 ns 1.154 ns 1.079 ns 0.279 ns 260.68 ns 261.16 ns 261.90 ns 262.56 ns 264.10 ns 3,816,152.03 0.05 No 0.0424 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :real(...)leris [58] 5,248.38 ns 19.529 ns 16.308 ns 4.523 ns 5,227.04 ns 5,238.26 ns 5,248.53 ns 5,254.54 ns 5,282.67 ns 190,535.02 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark .NET 5.0 :real(...) list [66] 70.02 ns 0.279 ns 0.247 ns 0.066 ns 69.42 ns 69.92 ns 70.09 ns 70.19 ns 70.33 ns 14,280,888.88 0.07 No 0.0277 - 232 B 0.15
RegexBenchmark .NET 5.0 :real(...) list [66] 993.00 ns 7.547 ns 7.059 ns 1.823 ns 985.35 ns 987.62 ns 990.86 ns 997.63 ns 1,007.91 ns 1,007,052.38 1.00 Yes 0.1793 - 1512 B 1.00
SpanDissectionBenchmark .NET 6.0 :real(...) list [66] 55.17 ns 0.541 ns 0.506 ns 0.131 ns 54.49 ns 54.72 ns 55.24 ns 55.53 ns 56.07 ns 18,124,989.56 0.07 No 0.0277 - 232 B 0.15
RegexBenchmark .NET 6.0 :real(...) list [66] 845.81 ns 3.206 ns 2.842 ns 0.760 ns 842.06 ns 843.42 ns 845.96 ns 847.31 ns 852.09 ns 1,182,300.98 1.00 Yes 0.1802 - 1512 B 1.00
SpanDissectionBenchmark .NET 7.0 :real(...) list [66] 51.59 ns 0.251 ns 0.234 ns 0.061 ns 51.23 ns 51.42 ns 51.53 ns 51.77 ns 52.01 ns 19,382,016.42 0.06 No 0.0277 - 232 B 0.16
RegexBenchmark .NET 7.0 :real(...) list [66] 818.54 ns 6.281 ns 5.875 ns 1.517 ns 807.22 ns 814.17 ns 818.82 ns 822.02 ns 830.59 ns 1,221,686.39 1.00 Yes 0.1726 - 1448 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :real(...) list [66] 115.97 ns 0.753 ns 0.704 ns 0.182 ns 114.82 ns 115.47 ns 116.04 ns 116.37 ns 117.52 ns 8,623,120.78 0.07 No 0.0370 - 233 B 0.14
RegexBenchmark .NET Framework 4.7.2 :real(...) list [66] 1,669.25 ns 4.713 ns 4.408 ns 1.138 ns 1,663.21 ns 1,666.31 ns 1,668.22 ns 1,673.56 ns 1,676.48 ns 599,073.15 1.00 Yes 0.2575 - 1629 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :real(...) list [66] 431.23 ns 1.507 ns 1.336 ns 0.357 ns 428.92 ns 430.63 ns 431.16 ns 431.85 ns 433.67 ns 2,318,956.88 0.14 No 0.0591 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :real(...) list [66] 3,170.07 ns 9.572 ns 8.953 ns 2.312 ns 3,150.81 ns 3,166.84 ns 3,171.97 ns 3,175.63 ns 3,184.13 ns 315,450.21 1.00 Yes 0.2747 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :real(...) list [66] 256.59 ns 1.753 ns 1.554 ns 0.415 ns 254.75 ns 255.60 ns 256.34 ns 257.38 ns 260.11 ns 3,897,252.00 0.05 No 0.0477 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :real(...) list [66] 5,234.72 ns 17.704 ns 15.694 ns 4.194 ns 5,206.92 ns 5,223.31 ns 5,232.65 ns 5,245.98 ns 5,265.98 ns 191,032.13 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :real(...) list [66] 258.12 ns 0.904 ns 0.845 ns 0.218 ns 256.96 ns 257.53 ns 257.88 ns 258.79 ns 260.03 ns 3,874,128.08 0.05 No 0.0477 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :real(...) list [66] 5,226.22 ns 16.708 ns 15.629 ns 4.035 ns 5,201.94 ns 5,218.12 ns 5,225.04 ns 5,234.05 ns 5,255.60 ns 191,342.96 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :real(...) list [66] 263.63 ns 0.916 ns 0.856 ns 0.221 ns 262.38 ns 263.09 ns 263.56 ns 264.23 ns 265.30 ns 3,793,135.88 0.05 No 0.0477 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :real(...) list [66] 5,218.95 ns 12.975 ns 12.137 ns 3.134 ns 5,202.63 ns 5,211.47 ns 5,215.90 ns 5,227.70 ns 5,242.68 ns 191,609.39 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark .NET 5.0 :tmi.(...)is :> [30] 62.64 ns 0.485 ns 0.454 ns 0.117 ns 62.06 ns 62.21 ns 62.74 ns 62.89 ns 63.42 ns 15,965,259.72 0.06 No 0.0172 - 144 B 0.10
RegexBenchmark .NET 5.0 :tmi.(...)is :> [30] 964.91 ns 2.896 ns 2.709 ns 0.699 ns 961.40 ns 962.24 ns 965.59 ns 966.89 ns 970.00 ns 1,036,363.19 1.00 Yes 0.1698 - 1424 B 1.00
SpanDissectionBenchmark .NET 6.0 :tmi.(...)is :> [30] 53.41 ns 0.658 ns 0.615 ns 0.159 ns 52.04 ns 53.32 ns 53.48 ns 53.76 ns 54.28 ns 18,723,563.02 0.07 No 0.0172 - 144 B 0.10
RegexBenchmark .NET 6.0 :tmi.(...)is :> [30] 772.20 ns 4.413 ns 3.912 ns 1.046 ns 766.79 ns 769.68 ns 771.95 ns 774.40 ns 780.73 ns 1,295,006.07 1.00 Yes 0.1698 - 1424 B 1.00
SpanDissectionBenchmark .NET 7.0 :tmi.(...)is :> [30] 47.23 ns 0.213 ns 0.178 ns 0.049 ns 46.97 ns 47.13 ns 47.20 ns 47.29 ns 47.62 ns 21,173,951.63 0.06 No 0.0172 - 144 B 0.11
RegexBenchmark .NET 7.0 :tmi.(...)is :> [30] 807.99 ns 5.463 ns 4.843 ns 1.294 ns 799.58 ns 804.23 ns 807.34 ns 811.24 ns 817.98 ns 1,237,645.94 1.00 Yes 0.1621 - 1360 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :tmi.(...)is :> [30] 98.70 ns 0.343 ns 0.286 ns 0.079 ns 98.27 ns 98.52 ns 98.75 ns 98.84 ns 99.33 ns 10,131,619.66 0.08 No 0.0267 - 168 B 0.11
RegexBenchmark .NET Framework 4.7.2 :tmi.(...)is :> [30] 1,212.75 ns 2.974 ns 2.322 ns 0.670 ns 1,206.81 ns 1,211.61 ns 1,213.31 ns 1,214.46 ns 1,215.46 ns 824,573.05 1.00 Yes 0.2422 - 1533 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 384.41 ns 1.476 ns 1.309 ns 0.350 ns 382.66 ns 383.26 ns 384.53 ns 385.18 ns 386.96 ns 2,601,382.92 0.15 No 0.0343 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :tmi.(...)is :> [30] 2,484.37 ns 9.767 ns 9.136 ns 2.359 ns 2,474.39 ns 2,477.93 ns 2,481.14 ns 2,490.63 ns 2,502.95 ns 402,516.50 1.00 Yes 0.2441 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :tmi.(...)is :> [30] 223.69 ns 0.437 ns 0.387 ns 0.103 ns 223.14 ns 223.44 ns 223.63 ns 223.85 ns 224.40 ns 4,470,491.81 0.05 No 0.0267 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :tmi.(...)is :> [30] 4,503.43 ns 9.630 ns 8.536 ns 2.281 ns 4,491.53 ns 4,496.88 ns 4,502.90 ns 4,508.57 ns 4,520.91 ns 222,052.73 1.00 Yes 0.2213 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :tmi.(...)is :> [30] 215.37 ns 0.650 ns 0.576 ns 0.154 ns 214.35 ns 215.04 ns 215.34 ns 215.78 ns 216.26 ns 4,643,166.13 0.05 No 0.0267 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :tmi.(...)is :> [30] 4,505.15 ns 13.028 ns 12.186 ns 3.146 ns 4,489.84 ns 4,495.88 ns 4,500.83 ns 4,510.71 ns 4,529.12 ns 221,968.18 1.00 Yes 0.2213 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :tmi.(...)is :> [30] 222.91 ns 0.376 ns 0.334 ns 0.089 ns 222.39 ns 222.71 ns 222.94 ns 223.14 ns 223.61 ns 4,486,042.94 0.05 No 0.0267 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :tmi.(...)is :> [30] 4,490.60 ns 9.062 ns 7.567 ns 2.099 ns 4,476.85 ns 4,486.19 ns 4,491.71 ns 4,496.38 ns 4,499.97 ns 222,687.34 1.00 Yes 0.2213 - - NA
SpanDissectionBenchmark .NET 5.0 :tmi.(...)rship [80] 63.72 ns 0.203 ns 0.159 ns 0.046 ns 63.47 ns 63.59 ns 63.73 ns 63.80 ns 64.06 ns 15,693,476.80 0.06 No 0.0296 - 248 B 0.16
RegexBenchmark .NET 5.0 :tmi.(...)rship [80] 1,023.21 ns 3.883 ns 3.442 ns 0.920 ns 1,019.19 ns 1,021.27 ns 1,022.12 ns 1,023.57 ns 1,029.56 ns 977,313.95 1.00 Yes 0.1812 - 1528 B 1.00
SpanDissectionBenchmark .NET 6.0 :tmi.(...)rship [80] 55.60 ns 0.460 ns 0.408 ns 0.109 ns 54.79 ns 55.31 ns 55.65 ns 55.81 ns 56.49 ns 17,987,194.67 0.07 No 0.0296 - 248 B 0.16
RegexBenchmark .NET 6.0 :tmi.(...)rship [80] 831.17 ns 3.409 ns 3.189 ns 0.823 ns 827.27 ns 828.51 ns 830.83 ns 833.03 ns 838.76 ns 1,203,125.05 1.00 Yes 0.1822 - 1528 B 1.00
SpanDissectionBenchmark .NET 7.0 :tmi.(...)rship [80] 48.22 ns 0.185 ns 0.155 ns 0.043 ns 47.99 ns 48.10 ns 48.22 ns 48.32 ns 48.54 ns 20,739,128.39 0.06 No 0.0296 - 248 B 0.17
RegexBenchmark .NET 7.0 :tmi.(...)rship [80] 834.55 ns 3.713 ns 3.291 ns 0.880 ns 827.54 ns 832.79 ns 834.79 ns 835.82 ns 840.09 ns 1,198,251.98 1.00 Yes 0.1745 - 1464 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 :tmi.(...)rship [80] 101.40 ns 0.553 ns 0.491 ns 0.131 ns 100.54 ns 101.05 ns 101.46 ns 101.54 ns 102.35 ns 9,862,211.96 0.06 No 0.0421 - 265 B 0.16
RegexBenchmark .NET Framework 4.7.2 :tmi.(...)rship [80] 1,758.87 ns 3.623 ns 3.025 ns 0.839 ns 1,751.55 ns 1,758.39 ns 1,759.16 ns 1,760.06 ns 1,764.13 ns 568,547.69 1.00 Yes 0.2575 - 1629 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 405.16 ns 3.505 ns 3.278 ns 0.846 ns 399.69 ns 403.12 ns 403.97 ns 407.67 ns 410.37 ns 2,468,185.33 0.12 No 0.0634 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 :tmi.(...)rship [80] 3,296.79 ns 10.002 ns 8.867 ns 2.370 ns 3,283.04 ns 3,291.08 ns 3,295.29 ns 3,302.85 ns 3,315.80 ns 303,325.51 1.00 Yes 0.2708 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 :tmi.(...)rship [80] 236.65 ns 0.506 ns 0.449 ns 0.120 ns 235.96 ns 236.34 ns 236.55 ns 237.02 ns 237.56 ns 4,225,674.75 0.04 No 0.0520 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 :tmi.(...)rship [80] 5,398.05 ns 15.703 ns 13.920 ns 3.720 ns 5,371.65 ns 5,391.85 ns 5,397.19 ns 5,407.32 ns 5,423.58 ns 185,251.92 1.00 Yes 0.2518 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 :tmi.(...)rship [80] 241.29 ns 0.406 ns 0.339 ns 0.094 ns 240.83 ns 241.13 ns 241.24 ns 241.39 ns 242.00 ns 4,144,445.49 0.04 No 0.0520 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 :tmi.(...)rship [80] 5,365.66 ns 18.658 ns 16.540 ns 4.420 ns 5,340.91 ns 5,350.56 ns 5,367.34 ns 5,374.97 ns 5,395.39 ns 186,370.49 1.00 Yes 0.2518 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 :tmi.(...)rship [80] 245.18 ns 0.692 ns 0.647 ns 0.167 ns 244.34 ns 244.70 ns 245.08 ns 245.62 ns 246.57 ns 4,078,560.97 0.04 No 0.0520 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 :tmi.(...)rship [80] 5,484.17 ns 19.594 ns 18.328 ns 4.732 ns 5,462.74 ns 5,469.61 ns 5,479.79 ns 5,494.83 ns 5,521.43 ns 182,342.94 1.00 Yes 0.2518 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)tle. [539] 716.35 ns 3.309 ns 2.933 ns 0.784 ns 709.90 ns 714.69 ns 717.40 ns 718.12 ns 720.31 ns 1,395,961.01 0.01 No 0.2918 0.0010 2448 B 0.30
RegexBenchmark .NET 5.0 @bad(...)tle. [539] 64,229.50 ns 581.972 ns 544.377 ns 140.558 ns 63,477.53 ns 63,864.62 ns 63,985.61 ns 64,579.02 ns 65,395.75 ns 15,569.17 1.00 Yes 0.9766 - 8200 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)tle. [539] 684.94 ns 3.263 ns 3.053 ns 0.788 ns 680.65 ns 682.42 ns 684.85 ns 686.72 ns 690.59 ns 1,459,987.26 0.01 No 0.2918 0.0010 2448 B 0.30
RegexBenchmark .NET 6.0 @bad(...)tle. [539] 62,061.24 ns 291.801 ns 272.951 ns 70.476 ns 61,589.37 ns 61,869.67 ns 62,029.13 ns 62,267.55 ns 62,553.21 ns 16,113.12 1.00 Yes 0.9766 - 8200 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)tle. [539] 618.53 ns 4.066 ns 3.604 ns 0.963 ns 610.22 ns 616.81 ns 618.77 ns 620.51 ns 625.02 ns 1,616,741.87 0.05 No 0.2918 0.0010 2448 B 0.30
RegexBenchmark .NET 7.0 @bad(...)tle. [539] 11,755.67 ns 52.474 ns 46.516 ns 12.432 ns 11,674.35 ns 11,734.66 ns 11,752.86 ns 11,778.07 ns 11,839.47 ns 85,065.32 1.00 Yes 0.9613 0.0153 8136 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)tle. [539] 972.87 ns 6.898 ns 6.115 ns 1.634 ns 964.92 ns 968.27 ns 970.97 ns 977.11 ns 986.65 ns 1,027,885.88 0.001 No 0.4044 0.0019 2552 B 0.30
RegexBenchmark .NET Framework 4.7.2 @bad(...)tle. [539] 1,453,169.25 ns 6,889.197 ns 6,107.094 ns 1,632.189 ns 1,445,628.71 ns 1,449,024.07 ns 1,451,595.02 ns 1,457,357.18 ns 1,467,123.05 ns 688.15 1.000 Yes - - 8624 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)tle. [539] 2,687.01 ns 8.573 ns 7.599 ns 2.031 ns 2,674.66 ns 2,681.97 ns 2,687.57 ns 2,692.68 ns 2,699.02 ns 372,160.73 0.001 No 0.4921 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)tle. [539] 4,562,510.16 ns 9,724.755 ns 9,096.542 ns 2,348.717 ns 4,545,848.44 ns 4,557,729.30 ns 4,563,310.94 ns 4,569,338.28 ns 4,575,826.56 ns 219.18 1.000 Yes - - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)tle. [539] 2,061.04 ns 10.667 ns 9.978 ns 2.576 ns 2,047.24 ns 2,052.35 ns 2,060.66 ns 2,068.00 ns 2,083.37 ns 485,192.76 0.000 No 0.4883 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)tle. [539] 4,886,644.41 ns 10,849.258 ns 9,059.621 ns 2,512.687 ns 4,874,060.94 ns 4,880,617.97 ns 4,887,060.94 ns 4,893,356.25 ns 4,904,221.88 ns 204.64 1.000 Yes - - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)tle. [539] 2,021.76 ns 8.500 ns 7.951 ns 2.053 ns 2,008.83 ns 2,015.64 ns 2,021.29 ns 2,026.02 ns 2,034.67 ns 494,617.69 0.000 No 0.4883 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)tle. [539] 4,923,142.50 ns 14,034.403 ns 13,127.789 ns 3,389.581 ns 4,907,928.13 ns 4,911,985.16 ns 4,921,243.75 ns 4,928,032.03 ns 4,948,722.66 ns 203.12 1.000 Yes - - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)tle. [539] 2,019.59 ns 4.662 ns 3.893 ns 1.080 ns 2,014.37 ns 2,017.88 ns 2,019.36 ns 2,021.99 ns 2,029.08 ns 495,148.82 0.000 No 0.4883 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)tle. [539] 4,896,388.73 ns 12,361.789 ns 10,958.404 ns 2,928.757 ns 4,881,761.72 ns 4,888,321.29 ns 4,896,376.95 ns 4,902,843.55 ns 4,918,364.06 ns 204.23 1.000 Yes - - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)sted [432] 944.74 ns 3.365 ns 2.983 ns 0.797 ns 940.94 ns 942.34 ns 944.39 ns 946.47 ns 951.11 ns 1,058,491.82 0.06 No 0.3033 0.0010 2544 B 0.23
RegexBenchmark .NET 5.0 @bad(...)sted [432] 16,168.77 ns 131.029 ns 122.564 ns 31.646 ns 15,974.30 ns 16,070.27 ns 16,168.05 ns 16,235.02 ns 16,368.00 ns 61,847.62 1.00 Yes 1.2817 0.0305 10968 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)sted [432] 934.93 ns 8.292 ns 7.757 ns 2.003 ns 923.59 ns 927.81 ns 934.31 ns 942.93 ns 944.88 ns 1,069,602.44 0.07 No 0.3033 0.0010 2544 B 0.23
RegexBenchmark .NET 6.0 @bad(...)sted [432] 14,367.43 ns 50.795 ns 47.514 ns 12.268 ns 14,270.31 ns 14,339.46 ns 14,361.54 ns 14,400.81 ns 14,442.05 ns 69,601.86 1.00 Yes 1.2970 0.0305 10968 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)sted [432] 807.77 ns 8.236 ns 7.301 ns 1.951 ns 791.43 ns 806.42 ns 809.51 ns 811.96 ns 820.28 ns 1,237,976.18 0.10 No 0.3033 0.0019 2544 B 0.23
RegexBenchmark .NET 7.0 @bad(...)sted [432] 7,898.13 ns 39.177 ns 36.647 ns 9.462 ns 7,850.35 ns 7,866.93 ns 7,886.60 ns 7,926.62 ns 7,964.99 ns 126,612.31 1.00 Yes 1.2970 0.0305 10904 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)sted [432] 1,316.06 ns 3.570 ns 2.981 ns 0.827 ns 1,312.44 ns 1,313.98 ns 1,315.26 ns 1,318.24 ns 1,322.66 ns 759,843.33 0.006 No 0.4253 0.0019 2680 B 0.23
RegexBenchmark .NET Framework 4.7.2 @bad(...)sted [432] 205,498.50 ns 665.441 ns 589.896 ns 157.656 ns 204,567.09 ns 205,064.75 ns 205,512.57 ns 205,839.39 ns 206,723.41 ns 4,866.22 1.000 Yes 1.7090 - 11426 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)sted [432] 3,844.62 ns 25.477 ns 23.831 ns 6.153 ns 3,803.93 ns 3,825.44 ns 3,846.24 ns 3,862.72 ns 3,886.77 ns 260,103.63 0.006 No 0.4959 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)sted [432] 622,995.40 ns 1,593.575 ns 1,412.663 ns 377.550 ns 621,489.65 ns 622,087.23 ns 622,472.90 ns 623,803.32 ns 626,447.66 ns 1,605.15 1.000 Yes 0.9766 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)sted [432] 2,946.64 ns 12.953 ns 12.116 ns 3.128 ns 2,929.16 ns 2,937.17 ns 2,944.29 ns 2,959.05 ns 2,964.57 ns 339,369.21 0.004 No 0.4883 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)sted [432] 678,192.08 ns 1,495.333 ns 1,398.735 ns 361.152 ns 675,232.23 ns 677,356.84 ns 678,300.00 ns 678,953.47 ns 680,746.88 ns 1,474.51 1.000 Yes 0.9766 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)sted [432] 2,965.25 ns 9.471 ns 8.859 ns 2.287 ns 2,953.52 ns 2,957.64 ns 2,966.43 ns 2,970.26 ns 2,982.61 ns 337,239.65 0.004 No 0.4883 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)sted [432] 673,873.38 ns 1,756.514 ns 1,643.044 ns 424.232 ns 671,561.72 ns 672,688.18 ns 673,475.39 ns 674,930.52 ns 676,875.00 ns 1,483.96 1.000 Yes 0.9766 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)sted [432] 2,952.73 ns 10.962 ns 10.254 ns 2.648 ns 2,938.75 ns 2,941.32 ns 2,955.60 ns 2,958.98 ns 2,971.32 ns 338,670.15 0.004 No 0.4883 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)sted [432] 677,137.36 ns 1,353.234 ns 1,130.012 ns 313.409 ns 675,647.27 ns 676,216.70 ns 676,850.39 ns 677,763.57 ns 679,787.79 ns 1,476.81 1.000 Yes 0.9766 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)Heya [361] 917.64 ns 3.834 ns 3.586 ns 0.926 ns 911.35 ns 915.46 ns 917.48 ns 919.99 ns 923.08 ns 1,089,757.46 0.10 No 0.2775 0.0010 2328 B 0.23
RegexBenchmark .NET 5.0 @bad(...)Heya [361] 9,297.74 ns 44.852 ns 41.955 ns 10.833 ns 9,248.66 ns 9,263.37 ns 9,288.39 ns 9,329.88 ns 9,368.01 ns 107,553.02 1.00 Yes 1.2207 0.0305 10248 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)Heya [361] 868.46 ns 8.107 ns 7.584 ns 1.958 ns 855.99 ns 862.87 ns 869.15 ns 873.95 ns 882.43 ns 1,151,468.68 0.11 No 0.2775 0.0010 2328 B 0.23
RegexBenchmark .NET 6.0 @bad(...)Heya [361] 8,206.49 ns 66.890 ns 62.569 ns 16.155 ns 8,104.71 ns 8,168.48 ns 8,194.80 ns 8,239.87 ns 8,342.83 ns 121,854.80 1.00 Yes 1.2207 0.0305 10248 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)Heya [361] 773.73 ns 6.955 ns 6.166 ns 1.648 ns 758.99 ns 771.21 ns 772.66 ns 776.58 ns 784.46 ns 1,292,437.04 0.12 No 0.2775 0.0010 2328 B 0.23
RegexBenchmark .NET 7.0 @bad(...)Heya [361] 6,467.67 ns 34.740 ns 32.496 ns 8.390 ns 6,431.94 ns 6,446.86 ns 6,452.15 ns 6,492.76 ns 6,523.72 ns 154,615.09 1.00 Yes 1.2131 0.0305 10184 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)Heya [361] 1,267.16 ns 7.815 ns 7.310 ns 1.888 ns 1,257.37 ns 1,263.22 ns 1,265.59 ns 1,272.99 ns 1,278.48 ns 789,167.00 0.02 No 0.3929 0.0019 2479 B 0.23
RegexBenchmark .NET Framework 4.7.2 @bad(...)Heya [361] 58,875.85 ns 835.233 ns 740.412 ns 197.883 ns 58,004.45 ns 58,255.55 ns 58,896.92 ns 59,308.42 ns 60,617.89 ns 16,984.89 1.00 Yes 1.6479 - 10704 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)Heya [361] 3,649.28 ns 11.095 ns 9.836 ns 2.629 ns 3,632.49 ns 3,643.01 ns 3,649.71 ns 3,651.96 ns 3,667.65 ns 274,026.84 0.02 No 0.4539 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)Heya [361] 159,918.53 ns 542.371 ns 507.334 ns 130.993 ns 159,098.12 ns 159,631.90 ns 159,805.96 ns 160,303.91 ns 160,724.58 ns 6,253.18 1.00 Yes 1.7090 - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)Heya [361] 2,743.28 ns 9.665 ns 9.041 ns 2.334 ns 2,729.54 ns 2,736.19 ns 2,741.96 ns 2,749.43 ns 2,761.38 ns 364,526.64 0.02 No 0.4311 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)Heya [361] 179,613.47 ns 395.128 ns 329.950 ns 91.512 ns 179,198.58 ns 179,343.43 ns 179,558.74 ns 179,843.97 ns 180,365.09 ns 5,567.51 1.00 Yes 1.7090 - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)Heya [361] 2,739.92 ns 6.629 ns 5.876 ns 1.571 ns 2,732.91 ns 2,736.21 ns 2,738.36 ns 2,742.66 ns 2,752.46 ns 364,974.21 0.02 No 0.4311 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)Heya [361] 179,824.31 ns 502.883 ns 445.793 ns 119.143 ns 179,273.36 ns 179,512.60 ns 179,813.33 ns 180,043.58 ns 180,822.80 ns 5,560.98 1.00 Yes 1.7090 - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)Heya [361] 2,784.02 ns 9.145 ns 8.554 ns 2.209 ns 2,772.23 ns 2,777.76 ns 2,783.33 ns 2,788.39 ns 2,799.19 ns 359,193.43 0.02 No 0.4311 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)Heya [361] 180,082.64 ns 787.006 ns 736.166 ns 190.077 ns 179,116.14 ns 179,426.54 ns 179,935.77 ns 180,704.88 ns 181,334.89 ns 5,553.01 1.00 Yes 1.7090 - - NA
SpanDissectionBenchmark .NET 5.0 @bad(...)op p [857] 968.34 ns 6.017 ns 5.024 ns 1.394 ns 959.81 ns 965.95 ns 969.03 ns 971.68 ns 976.63 ns 1,032,697.36 0.006 No 0.3967 0.0019 3320 B 0.30
RegexBenchmark .NET 5.0 @bad(...)op p [857] 163,525.50 ns 800.312 ns 709.456 ns 189.610 ns 162,636.65 ns 163,209.38 ns 163,357.29 ns 164,012.54 ns 165,152.56 ns 6,115.25 1.000 Yes 1.2207 - 11240 B 1.00
SpanDissectionBenchmark .NET 6.0 @bad(...)op p [857] 914.46 ns 6.027 ns 5.637 ns 1.456 ns 906.23 ns 911.04 ns 913.34 ns 917.35 ns 925.68 ns 1,093,540.81 0.006 No 0.3967 0.0019 3320 B 0.30
RegexBenchmark .NET 6.0 @bad(...)op p [857] 158,430.68 ns 804.933 ns 752.935 ns 194.407 ns 157,155.40 ns 157,848.63 ns 158,206.64 ns 158,998.77 ns 159,713.38 ns 6,311.91 1.000 Yes 1.2207 - 11240 B 1.00
SpanDissectionBenchmark .NET 7.0 @bad(...)op p [857] 793.23 ns 6.277 ns 5.871 ns 1.516 ns 783.33 ns 789.75 ns 794.02 ns 795.82 ns 802.04 ns 1,260,666.73 0.04 No 0.3967 0.0029 3320 B 0.30
RegexBenchmark .NET 7.0 @bad(...)op p [857] 20,388.37 ns 76.520 ns 59.742 ns 17.246 ns 20,312.42 ns 20,342.43 ns 20,378.12 ns 20,419.94 ns 20,518.98 ns 49,047.57 1.00 Yes 1.3123 0.0305 11176 B 1.00
SpanDissectionBenchmark .NET Framework 4.7.2 @bad(...)op p [857] 1,319.05 ns 4.160 ns 3.474 ns 0.963 ns 1,312.95 ns 1,317.58 ns 1,319.15 ns 1,320.60 ns 1,324.85 ns 758,123.61 0.000 No 0.5512 0.0038 3474 B 0.30
RegexBenchmark .NET Framework 4.7.2 @bad(...)op p [857] 4,253,192.35 ns 14,278.333 ns 12,657.370 ns 3,382.824 ns 4,230,893.75 ns 4,241,937.50 ns 4,257,342.19 ns 4,261,264.06 ns 4,277,481.25 ns 235.12 1.000 Yes - - 11712 B 1.00
SpanDissectionBenchmark Mono Unity 2019.4.28f1 @bad(...)op p [857] 3,857.85 ns 20.874 ns 18.504 ns 4.945 ns 3,822.37 ns 3,846.41 ns 3,857.99 ns 3,866.49 ns 3,893.73 ns 259,211.66 0.000 No 0.7324 - - NA
RegexBenchmark Mono Unity 2019.4.28f1 @bad(...)op p [857] 13,455,141.29 ns 48,750.459 ns 43,216.013 ns 11,549.965 ns 13,369,373.44 ns 13,431,530.08 ns 13,448,502.34 ns 13,474,909.77 ns 13,534,709.38 ns 74.32 1.000 Yes - - - NA
SpanDissectionBenchmark Mono Unity 2021.2.0b4 @bad(...)op p [857] 2,884.63 ns 9.894 ns 9.255 ns 2.390 ns 2,872.09 ns 2,876.30 ns 2,883.90 ns 2,890.71 ns 2,900.05 ns 346,665.36 0.000 No 0.6790 - - NA
RegexBenchmark Mono Unity 2021.2.0b4 @bad(...)op p [857] 14,478,004.38 ns 56,648.417 ns 52,988.964 ns 13,681.692 ns 14,399,860.94 ns 14,436,900.78 ns 14,466,106.25 ns 14,513,038.28 ns 14,580,132.81 ns 69.07 1.000 Yes - - - NA
SpanDissectionBenchmark Mono Unity 2021.3.16f1 @bad(...)op p [857] 2,858.78 ns 14.614 ns 13.670 ns 3.530 ns 2,840.46 ns 2,849.25 ns 2,854.79 ns 2,866.84 ns 2,889.77 ns 349,799.70 0.000 No 0.6790 - - NA
RegexBenchmark Mono Unity 2021.3.16f1 @bad(...)op p [857] 14,532,065.36 ns 31,812.926 ns 29,757.830 ns 7,683.439 ns 14,477,738.28 ns 14,508,409.38 ns 14,527,692.97 ns 14,558,826.56 ns 14,568,353.91 ns 68.81 1.000 Yes - - - NA
SpanDissectionBenchmark Mono Unity 2022.1.0a12 @bad(...)op p [857] 2,883.67 ns 12.036 ns 11.258 ns 2.907 ns 2,867.44 ns 2,875.76 ns 2,881.96 ns 2,891.42 ns 2,902.20 ns 346,780.61 0.000 No 0.6790 - - NA
RegexBenchmark Mono Unity 2022.1.0a12 @bad(...)op p [857] 14,368,185.49 ns 33,435.216 ns 29,639.448 ns 7,921.476 ns 14,311,371.88 ns 14,356,071.88 ns 14,364,121.09 ns 14,390,336.72 ns 14,411,393.75 ns 69.60 1.000 Yes - - - NA

Multi IRC (chat) message deconstruction

Clarification on this can be found here.

Click to expand!

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.2728/21H2/November2021Update)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-CIRMVA : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT AVX2
  • Job-NVAYXH : .NET 6.0.15 (6.0.1523.11507), X64 RyuJIT AVX2
  • Job-ZDMHFB : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
  • Job-ZSFKTD : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86 VectorSize=128
  • Job-UGEEKR : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-KUWVMX : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-LJOXDK : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
Method Runtime RawIrcMultiMessage Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio Baseline Gen0 Gen1 Allocated Alloc Ratio
InlineSpanBasedSplitBenchmarkV2 .NET 5.0 :tmi(...)TE\r\n [528] 1,135.4 ns 4.13 ns 3.66 ns 0.98 ns 1,130.4 ns 1,132.8 ns 1,134.5 ns 1,137.3 ns 1,142.4 ns 880,780.1 0.70 No 0.2728 - 2288 B 0.61
InlineSpanBasedSplitBenchmarkV1 .NET 5.0 :tmi(...)TE\r\n [528] 1,463.6 ns 3.52 ns 2.94 ns 0.82 ns 1,458.6 ns 1,462.2 ns 1,464.0 ns 1,465.4 ns 1,468.1 ns 683,226.3 0.91 No 0.2728 - 2288 B 0.61
IntermediateStringSplitBenchmark .NET 5.0 :tmi(...)TE\r\n [528] 1,611.6 ns 12.64 ns 11.82 ns 3.05 ns 1,598.0 ns 1,601.0 ns 1,610.9 ns 1,619.6 ns 1,633.2 ns 620,507.0 1.00 Yes 0.4501 0.0019 3768 B 1.00
InlineSpanBasedSplitBenchmarkV2 .NET 6.0 :tmi(...)TE\r\n [528] 977.0 ns 3.89 ns 3.45 ns 0.92 ns 972.6 ns 974.7 ns 976.3 ns 978.3 ns 984.3 ns 1,023,587.1 0.78 No 0.2728 - 2288 B 0.61
InlineSpanBasedSplitBenchmarkV1 .NET 6.0 :tmi(...)TE\r\n [528] 1,166.3 ns 5.72 ns 4.77 ns 1.32 ns 1,155.7 ns 1,164.4 ns 1,166.9 ns 1,169.1 ns 1,173.5 ns 857,427.0 0.93 No 0.2728 - 2288 B 0.61
IntermediateStringSplitBenchmark .NET 6.0 :tmi(...)TE\r\n [528] 1,253.8 ns 6.51 ns 5.77 ns 1.54 ns 1,245.8 ns 1,250.0 ns 1,251.2 ns 1,256.5 ns 1,265.0 ns 797,544.7 1.00 Yes 0.4501 0.0019 3768 B 1.00
InlineSpanBasedSplitBenchmarkV2 .NET 7.0 :tmi(...)TE\r\n [528] 846.5 ns 4.68 ns 4.38 ns 1.13 ns 842.5 ns 843.1 ns 845.2 ns 848.8 ns 855.7 ns 1,181,315.8 0.81 No 0.2728 - 2288 B 0.61
IntermediateStringSplitBenchmark .NET 7.0 :tmi(...)TE\r\n [528] 1,047.3 ns 2.99 ns 2.50 ns 0.69 ns 1,042.7 ns 1,046.1 ns 1,047.8 ns 1,048.7 ns 1,051.9 ns 954,864.1 1.00 Yes 0.4501 0.0019 3768 B 1.00
InlineSpanBasedSplitBenchmarkV1 .NET 7.0 :tmi(...)TE\r\n [528] 1,095.8 ns 8.48 ns 7.93 ns 2.05 ns 1,084.4 ns 1,090.6 ns 1,093.0 ns 1,103.1 ns 1,108.6 ns 912,554.1 1.05 No 0.2728 - 2288 B 0.61
InlineSpanBasedSplitBenchmarkV2 .NET Framework 4.7.2 :tmi(...)TE\r\n [528] 1,738.1 ns 5.70 ns 4.76 ns 1.32 ns 1,731.0 ns 1,735.9 ns 1,737.4 ns 1,742.6 ns 1,743.8 ns 575,351.0 0.72 No 0.3967 - 2503 B 0.41
InlineSpanBasedSplitBenchmarkV1 .NET Framework 4.7.2 :tmi(...)TE\r\n [528] 1,951.2 ns 4.45 ns 3.72 ns 1.03 ns 1,945.3 ns 1,948.4 ns 1,952.5 ns 1,953.4 ns 1,956.3 ns 512,516.8 0.81 No 0.3967 - 2503 B 0.41
IntermediateStringSplitBenchmark .NET Framework 4.7.2 :tmi(...)TE\r\n [528] 2,402.7 ns 20.79 ns 19.45 ns 5.02 ns 2,372.5 ns 2,389.9 ns 2,402.5 ns 2,420.3 ns 2,431.5 ns 416,195.5 1.00 Yes 0.9766 0.0076 6146 B 1.00
InlineSpanBasedSplitBenchmarkV2 Mono Unity 2019.4.28f1 :tmi(...)TE\r\n [528] 4,807.1 ns 18.44 ns 16.35 ns 4.37 ns 4,779.0 ns 4,798.7 ns 4,805.7 ns 4,815.2 ns 4,843.5 ns 208,023.7 0.74 No 0.4883 - - NA
InlineSpanBasedSplitBenchmarkV1 Mono Unity 2019.4.28f1 :tmi(...)TE\r\n [528] 5,105.3 ns 25.13 ns 22.28 ns 5.95 ns 5,073.5 ns 5,089.7 ns 5,102.4 ns 5,114.6 ns 5,153.6 ns 195,874.4 0.78 No 0.4883 - - NA
IntermediateStringSplitBenchmark Mono Unity 2019.4.28f1 :tmi(...)TE\r\n [528] 6,536.6 ns 39.03 ns 36.50 ns 9.43 ns 6,449.4 ns 6,522.2 ns 6,534.0 ns 6,559.7 ns 6,595.9 ns 152,985.0 1.00 Yes 1.3199 - - NA
InlineSpanBasedSplitBenchmarkV2 Mono Unity 2021.2.0b4 :tmi(...)TE\r\n [528] 3,490.9 ns 32.85 ns 30.73 ns 7.93 ns 3,431.7 ns 3,469.5 ns 3,488.5 ns 3,514.7 ns 3,542.7 ns 286,458.1 0.83 No 0.4349 - - NA
InlineSpanBasedSplitBenchmarkV1 Mono Unity 2021.2.0b4 :tmi(...)TE\r\n [528] 3,938.1 ns 15.97 ns 14.94 ns 3.86 ns 3,913.5 ns 3,926.1 ns 3,937.9 ns 3,946.4 ns 3,970.9 ns 253,928.7 0.94 No 0.4349 - - NA
IntermediateStringSplitBenchmark Mono Unity 2021.2.0b4 :tmi(...)TE\r\n [528] 4,195.9 ns 12.46 ns 10.40 ns 2.89 ns 4,177.3 ns 4,190.9 ns 4,198.2 ns 4,202.1 ns 4,214.4 ns 238,325.5 1.00 Yes 0.7553 - - NA
InlineSpanBasedSplitBenchmarkV2 Mono Unity 2021.3.16f1 :tmi(...)TE\r\n [528] 3,486.4 ns 14.11 ns 13.20 ns 3.41 ns 3,468.9 ns 3,476.3 ns 3,484.8 ns 3,494.3 ns 3,513.2 ns 286,829.7 0.84 No 0.4349 - - NA
InlineSpanBasedSplitBenchmarkV1 Mono Unity 2021.3.16f1 :tmi(...)TE\r\n [528] 3,908.2 ns 13.17 ns 12.32 ns 3.18 ns 3,886.4 ns 3,897.7 ns 3,911.2 ns 3,916.6 ns 3,924.7 ns 255,874.2 0.94 No 0.4349 - - NA
IntermediateStringSplitBenchmark Mono Unity 2021.3.16f1 :tmi(...)TE\r\n [528] 4,160.8 ns 18.22 ns 17.04 ns 4.40 ns 4,126.7 ns 4,150.8 ns 4,158.9 ns 4,175.4 ns 4,184.9 ns 240,335.6 1.00 Yes 0.7553 - - NA
InlineSpanBasedSplitBenchmarkV2 Mono Unity 2022.1.0a12 :tmi(...)TE\r\n [528] 3,460.4 ns 11.79 ns 11.03 ns 2.85 ns 3,446.5 ns 3,453.5 ns 3,455.0 ns 3,469.4 ns 3,477.5 ns 288,987.4 0.82 No 0.4349 - - NA
InlineSpanBasedSplitBenchmarkV1 Mono Unity 2022.1.0a12 :tmi(...)TE\r\n [528] 3,826.8 ns 28.27 ns 25.06 ns 6.70 ns 3,788.4 ns 3,805.4 ns 3,826.3 ns 3,842.9 ns 3,880.2 ns 261,313.3 0.91 No 0.4349 - - NA
IntermediateStringSplitBenchmark Mono Unity 2022.1.0a12 :tmi(...)TE\r\n [528] 4,199.5 ns 17.70 ns 16.55 ns 4.27 ns 4,178.1 ns 4,187.1 ns 4,196.1 ns 4,209.9 ns 4,237.4 ns 238,123.4 1.00 Yes 0.7553 - - NA

Emoji parsing

Clarification on this can be found here.

Click to expand!

BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19044.2728/21H2/November2021Update)
AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores

  • [Host] : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-CIRMVA : .NET 5.0.17 (5.0.1722.21314), X64 RyuJIT AVX2
  • Job-NVAYXH : .NET 6.0.15 (6.0.1523.11507), X64 RyuJIT AVX2
  • Job-ZDMHFB : .NET 7.0.2 (7.0.222.60605), X64 RyuJIT AVX2
  • Job-ZSFKTD : .NET Framework 4.8 (4.8.4614.0), X64 RyuJIT VectorSize=256
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86 VectorSize=128
  • Job-UGEEKR : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-KUWVMX : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
  • Job-LJOXDK : Mono 6.13.0 (Visual Studio), X86 VectorSize=128
Method Runtime Message Mean Error StdDev StdErr Min Q1 Median Q3 Max Op/s Ratio RatioSD Baseline Gen0 Gen1 Allocated Alloc Ratio
CatCoreTwemojiReimplementationBenchmark .NET 5.0 I 🧑 Twemoji! πŸ₯³ 314.7 ns 2.19 ns 2.05 ns 0.53 ns 312.1 ns 313.3 ns 314.2 ns 316.2 ns 318.7 ns 3,177,623.1 0.15 0.00 No 0.0753 - 632 B 0.32
FrwTwemojiAdjustedBenchmark .NET 5.0 I 🧑 Twemoji! πŸ₯³ 1,958.2 ns 10.69 ns 10.00 ns 2.58 ns 1,942.9 ns 1,954.0 ns 1,957.1 ns 1,963.5 ns 1,976.4 ns 510,666.7 0.92 0.01 No 0.2174 - 1848 B 0.94
FrwTwemojiBaselineBenchmark .NET 5.0 I 🧑 Twemoji! πŸ₯³ 2,130.3 ns 18.07 ns 16.90 ns 4.36 ns 2,108.7 ns 2,118.6 ns 2,126.1 ns 2,137.3 ns 2,163.8 ns 469,414.2 1.00 0.00 Yes 0.2327 - 1960 B 1.00
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark .NET 6.0 I 🧑 Twemoji! πŸ₯³ 310.4 ns 1.61 ns 1.43 ns 0.38 ns 308.2 ns 309.6 ns 310.2 ns 311.4 ns 312.8 ns 3,221,671.6 0.16 0.00 No 0.0753 - 632 B 0.32
FrwTwemojiAdjustedBenchmark .NET 6.0 I 🧑 Twemoji! πŸ₯³ 1,725.5 ns 6.01 ns 5.62 ns 1.45 ns 1,717.4 ns 1,721.9 ns 1,723.3 ns 1,729.8 ns 1,734.4 ns 579,526.8 0.91 0.01 No 0.2193 - 1848 B 0.94
FrwTwemojiBaselineBenchmark .NET 6.0 I 🧑 Twemoji! πŸ₯³ 1,905.8 ns 12.31 ns 11.52 ns 2.97 ns 1,891.7 ns 1,897.6 ns 1,903.6 ns 1,911.9 ns 1,927.1 ns 524,720.3 1.00 0.00 Yes 0.2327 - 1960 B 1.00
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark .NET 7.0 I 🧑 Twemoji! πŸ₯³ 269.5 ns 1.69 ns 1.50 ns 0.40 ns 267.7 ns 268.3 ns 269.8 ns 270.4 ns 273.1 ns 3,709,992.7 0.21 0.00 No 0.0753 - 632 B 0.33
FrwTwemojiAdjustedBenchmark .NET 7.0 I 🧑 Twemoji! πŸ₯³ 1,131.9 ns 8.82 ns 7.82 ns 2.09 ns 1,118.8 ns 1,127.5 ns 1,132.8 ns 1,136.9 ns 1,143.8 ns 883,477.2 0.88 0.01 No 0.2193 - 1848 B 0.97
FrwTwemojiBaselineBenchmark .NET 7.0 I 🧑 Twemoji! πŸ₯³ 1,285.4 ns 8.31 ns 7.78 ns 2.01 ns 1,276.2 ns 1,279.6 ns 1,284.1 ns 1,291.8 ns 1,297.8 ns 777,989.9 1.00 0.00 Yes 0.2270 - 1912 B 1.00
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark .NET Framework 4.7.2 I 🧑 Twemoji! πŸ₯³ 335.2 ns 1.90 ns 1.78 ns 0.46 ns 331.7 ns 334.3 ns 334.8 ns 336.1 ns 338.6 ns 2,983,648.2 0.08 0.00 No 0.1044 - 658 B 0.27
FrwTwemojiAdjustedBenchmark .NET Framework 4.7.2 I 🧑 Twemoji! πŸ₯³ 3,900.5 ns 20.70 ns 18.35 ns 4.90 ns 3,877.3 ns 3,887.3 ns 3,897.0 ns 3,912.2 ns 3,934.3 ns 256,378.5 0.91 0.00 No 0.3052 - 1934 B 0.80
FrwTwemojiBaselineBenchmark .NET Framework 4.7.2 I 🧑 Twemoji! πŸ₯³ 4,300.5 ns 8.27 ns 6.46 ns 1.86 ns 4,286.9 ns 4,297.2 ns 4,301.0 ns 4,306.6 ns 4,308.0 ns 232,532.6 1.00 0.00 Yes 0.3815 - 2415 B 1.00
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark Mono Unity 2019.4.28f1 I 🧑 Twemoji! πŸ₯³ 698.2 ns 3.29 ns 2.91 ns 0.78 ns 690.8 ns 697.3 ns 698.7 ns 700.2 ns 702.4 ns 1,432,170.8 0.06 0.00 No 0.1259 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2019.4.28f1 I 🧑 Twemoji! πŸ₯³ 10,090.0 ns 24.33 ns 21.57 ns 5.76 ns 10,055.7 ns 10,079.8 ns 10,088.3 ns 10,103.2 ns 10,135.2 ns 99,107.7 0.93 0.00 No 0.3357 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2019.4.28f1 I 🧑 Twemoji! πŸ₯³ 10,855.8 ns 46.50 ns 43.49 ns 11.23 ns 10,780.7 ns 10,824.0 ns 10,849.5 ns 10,885.3 ns 10,948.8 ns 92,116.8 1.00 0.00 Yes 0.4120 - - NA
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark Mono Unity 2021.2.0b4 I 🧑 Twemoji! πŸ₯³ 579.4 ns 4.25 ns 3.98 ns 1.03 ns 573.7 ns 576.0 ns 578.4 ns 582.8 ns 586.9 ns 1,725,969.7 0.05 0.00 No 0.1259 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2021.2.0b4 I 🧑 Twemoji! πŸ₯³ 10,674.6 ns 48.68 ns 43.15 ns 11.53 ns 10,592.2 ns 10,658.3 ns 10,671.8 ns 10,699.3 ns 10,765.3 ns 93,680.6 0.98 0.01 No 0.3357 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2021.2.0b4 I 🧑 Twemoji! πŸ₯³ 10,907.7 ns 74.98 ns 70.14 ns 18.11 ns 10,756.6 ns 10,879.6 ns 10,916.2 ns 10,961.5 ns 10,995.0 ns 91,678.4 1.00 0.00 Yes 0.3662 - - NA
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark Mono Unity 2021.3.16f1 I 🧑 Twemoji! πŸ₯³ 575.5 ns 5.07 ns 4.74 ns 1.22 ns 568.5 ns 571.7 ns 575.5 ns 579.0 ns 585.7 ns 1,737,607.4 0.05 0.00 No 0.1259 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2021.3.16f1 I 🧑 Twemoji! πŸ₯³ 10,621.3 ns 79.41 ns 70.39 ns 18.81 ns 10,533.9 ns 10,571.5 ns 10,610.4 ns 10,670.3 ns 10,783.7 ns 94,150.1 0.98 0.01 No 0.3357 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2021.3.16f1 I 🧑 Twemoji! πŸ₯³ 10,873.1 ns 87.69 ns 82.03 ns 21.18 ns 10,776.1 ns 10,812.7 ns 10,850.6 ns 10,917.9 ns 11,068.3 ns 91,970.1 1.00 0.00 Yes 0.3662 - - NA
I 🧑 Twemoji! πŸ₯³
CatCoreTwemojiReimplementationBenchmark Mono Unity 2022.1.0a12 I 🧑 Twemoji! πŸ₯³ 585.4 ns 1.45 ns 1.35 ns 0.35 ns 583.0 ns 584.4 ns 585.0 ns 586.5 ns 587.6 ns 1,708,301.1 0.05 0.00 No 0.1259 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2022.1.0a12 I 🧑 Twemoji! πŸ₯³ 10,656.0 ns 59.09 ns 55.27 ns 14.27 ns 10,566.1 ns 10,607.3 ns 10,653.5 ns 10,704.4 ns 10,734.0 ns 93,843.6 0.97 0.01 No 0.3357 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2022.1.0a12 I 🧑 Twemoji! πŸ₯³ 10,997.4 ns 44.22 ns 41.36 ns 10.68 ns 10,928.2 ns 10,961.1 ns 10,997.4 ns 11,028.8 ns 11,060.7 ns 90,930.2 1.00 0.00 Yes 0.3662 - - NA
CatCoreTwemojiReimplementationBenchmark .NET 5.0 I've (...)🍚🍜 [56] 1,605.8 ns 10.62 ns 9.94 ns 2.57 ns 1,593.4 ns 1,597.3 ns 1,603.5 ns 1,613.8 ns 1,624.7 ns 622,730.0 0.10 0.00 No 0.5589 0.0076 4680 B 0.33
FrwTwemojiAdjustedBenchmark .NET 5.0 I've (...)🍚🍜 [56] 14,668.2 ns 34.39 ns 30.48 ns 8.15 ns 14,619.1 ns 14,641.4 ns 14,672.0 ns 14,687.3 ns 14,722.2 ns 68,174.5 0.89 0.00 No 1.6022 0.0458 13416 B 0.94
FrwTwemojiBaselineBenchmark .NET 5.0 I've (...)🍚🍜 [56] 16,547.7 ns 47.76 ns 42.34 ns 11.32 ns 16,488.8 ns 16,527.8 ns 16,537.5 ns 16,570.2 ns 16,628.3 ns 60,431.3 1.00 0.00 Yes 1.7090 0.0610 14312 B 1.00
CatCoreTwemojiReimplementationBenchmark .NET 6.0 I've (...)🍚🍜 [56] 1,634.4 ns 12.62 ns 11.81 ns 3.05 ns 1,617.8 ns 1,624.5 ns 1,637.1 ns 1,640.8 ns 1,659.2 ns 611,836.8 0.10 0.00 No 0.5589 0.0076 4680 B 0.33
FrwTwemojiAdjustedBenchmark .NET 6.0 I've (...)🍚🍜 [56] 13,811.6 ns 36.66 ns 34.29 ns 8.85 ns 13,760.8 ns 13,786.9 ns 13,810.5 ns 13,843.5 ns 13,866.7 ns 72,402.7 0.87 0.00 No 1.6022 0.0458 13416 B 0.94
FrwTwemojiBaselineBenchmark .NET 6.0 I've (...)🍚🍜 [56] 15,896.9 ns 53.80 ns 50.32 ns 12.99 ns 15,837.6 ns 15,857.8 ns 15,881.4 ns 15,929.8 ns 16,009.1 ns 62,905.4 1.00 0.00 Yes 1.7090 0.0610 14312 B 1.00
CatCoreTwemojiReimplementationBenchmark .NET 7.0 I've (...)🍚🍜 [56] 1,420.3 ns 11.09 ns 10.38 ns 2.68 ns 1,393.5 ns 1,416.2 ns 1,418.1 ns 1,427.5 ns 1,437.6 ns 704,084.7 0.11 0.00 No 0.5589 0.0076 4680 B 0.34
FrwTwemojiAdjustedBenchmark .NET 7.0 I've (...)🍚🍜 [56] 10,936.4 ns 74.72 ns 69.89 ns 18.05 ns 10,778.5 ns 10,900.4 ns 10,951.3 ns 10,986.9 ns 11,015.7 ns 91,438.1 0.88 0.01 No 1.6022 0.0458 13416 B 0.96
FrwTwemojiBaselineBenchmark .NET 7.0 I've (...)🍚🍜 [56] 12,460.9 ns 40.02 ns 35.48 ns 9.48 ns 12,409.1 ns 12,436.2 ns 12,453.7 ns 12,478.4 ns 12,535.5 ns 80,251.3 1.00 0.00 Yes 1.6632 0.0610 13928 B 1.00
CatCoreTwemojiReimplementationBenchmark .NET Framework 4.7.2 I've (...)🍚🍜 [56] 1,791.9 ns 20.65 ns 17.25 ns 4.78 ns 1,775.6 ns 1,784.9 ns 1,787.1 ns 1,789.9 ns 1,834.9 ns 558,071.1 0.05 0.00 No 0.7668 0.0114 4830 B 0.27
FrwTwemojiAdjustedBenchmark .NET Framework 4.7.2 I've (...)🍚🍜 [56] 30,147.9 ns 251.91 ns 235.63 ns 60.84 ns 29,817.7 ns 29,916.6 ns 30,185.7 ns 30,326.1 ns 30,576.8 ns 33,169.8 0.89 0.01 No 2.1973 0.0610 13873 B 0.78
FrwTwemojiBaselineBenchmark .NET Framework 4.7.2 I've (...)🍚🍜 [56] 33,779.2 ns 161.70 ns 143.35 ns 38.31 ns 33,605.7 ns 33,691.1 ns 33,737.1 ns 33,874.4 ns 34,054.3 ns 29,604.0 1.00 0.00 Yes 2.8076 0.0610 17724 B 1.00
CatCoreTwemojiReimplementationBenchmark Mono Unity 2019.4.28f1 I've (...)🍚🍜 [56] 4,180.6 ns 17.89 ns 16.74 ns 4.32 ns 4,160.7 ns 4,164.7 ns 4,180.0 ns 4,190.1 ns 4,211.6 ns 239,201.6 0.05 0.00 No 0.9460 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2019.4.28f1 I've (...)🍚🍜 [56] 83,534.1 ns 120.54 ns 106.85 ns 28.56 ns 83,330.5 ns 83,503.7 ns 83,543.8 ns 83,604.1 ns 83,706.1 ns 11,971.2 0.93 0.00 No 2.4414 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2019.4.28f1 I've (...)🍚🍜 [56] 89,402.0 ns 206.04 ns 192.73 ns 49.76 ns 89,169.6 ns 89,246.2 ns 89,367.9 ns 89,534.6 ns 89,769.1 ns 11,185.4 1.00 0.00 Yes 3.0518 - - NA
CatCoreTwemojiReimplementationBenchmark Mono Unity 2021.2.0b4 I've (...)🍚🍜 [56] 3,477.7 ns 7.99 ns 7.08 ns 1.89 ns 3,468.6 ns 3,474.5 ns 3,476.3 ns 3,480.6 ns 3,492.2 ns 287,544.8 0.04 0.00 No 0.9460 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2021.2.0b4 I've (...)🍚🍜 [56] 85,870.6 ns 135.97 ns 127.19 ns 32.84 ns 85,597.6 ns 85,794.4 ns 85,880.4 ns 85,916.8 ns 86,062.4 ns 11,645.4 0.98 0.00 No 2.4414 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2021.2.0b4 I've (...)🍚🍜 [56] 87,748.6 ns 104.66 ns 97.90 ns 25.28 ns 87,587.2 ns 87,672.2 ns 87,768.7 ns 87,788.4 ns 87,936.8 ns 11,396.2 1.00 0.00 Yes 2.5635 - - NA
CatCoreTwemojiReimplementationBenchmark Mono Unity 2021.3.16f1 I've (...)🍚🍜 [56] 3,489.9 ns 9.49 ns 8.41 ns 2.25 ns 3,478.3 ns 3,484.5 ns 3,486.1 ns 3,496.6 ns 3,504.0 ns 286,544.8 0.04 0.00 No 0.9460 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2021.3.16f1 I've (...)🍚🍜 [56] 85,808.4 ns 195.23 ns 163.03 ns 45.22 ns 85,413.2 ns 85,786.7 ns 85,825.7 ns 85,890.8 ns 86,044.4 ns 11,653.9 0.97 0.00 No 2.4414 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2021.3.16f1 I've (...)🍚🍜 [56] 88,192.8 ns 233.94 ns 218.83 ns 56.50 ns 87,767.1 ns 88,063.1 ns 88,240.5 ns 88,324.2 ns 88,577.7 ns 11,338.8 1.00 0.00 Yes 2.5635 - - NA
CatCoreTwemojiReimplementationBenchmark Mono Unity 2022.1.0a12 I've (...)🍚🍜 [56] 3,505.1 ns 7.92 ns 6.61 ns 1.83 ns 3,497.9 ns 3,501.7 ns 3,502.3 ns 3,505.5 ns 3,522.2 ns 285,297.5 0.04 0.00 No 0.9460 - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2022.1.0a12 I've (...)🍚🍜 [56] 85,148.3 ns 245.62 ns 229.75 ns 59.32 ns 84,770.3 ns 84,956.6 ns 85,230.6 ns 85,297.0 ns 85,644.9 ns 11,744.2 0.97 0.00 No 2.4414 - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2022.1.0a12 I've (...)🍚🍜 [56] 87,939.6 ns 141.45 ns 132.31 ns 34.16 ns 87,733.3 ns 87,844.6 ns 87,924.8 ns 88,017.2 ns 88,176.0 ns 11,371.4 1.00 0.00 Yes 2.5635 - - NA
FrwTwemojiBaselineBenchmark .NET 5.0 Lore(...)sum. [574] 4,372.2 ns 19.67 ns 18.40 ns 4.75 ns 4,338.5 ns 4,360.7 ns 4,374.9 ns 4,384.0 ns 4,404.6 ns 228,715.7 1.00 0.00 Yes 0.0153 - 152 B 1.00
FrwTwemojiAdjustedBenchmark .NET 5.0 Lore(...)sum. [574] 4,377.4 ns 20.67 ns 19.33 ns 4.99 ns 4,352.3 ns 4,359.8 ns 4,376.1 ns 4,392.6 ns 4,407.4 ns 228,448.7 1.00 0.01 No 0.0153 - 152 B 1.00
CatCoreTwemojiReimplementationBenchmark .NET 5.0 Lore(...)sum. [574] 8,112.8 ns 17.31 ns 14.46 ns 4.01 ns 8,080.2 ns 8,105.6 ns 8,116.7 ns 8,121.6 ns 8,136.1 ns 123,261.8 1.86 0.01 No - - 32 B 0.21
FrwTwemojiBaselineBenchmark .NET 6.0 Lore(...)sum. [574] 4,453.7 ns 10.82 ns 9.59 ns 2.56 ns 4,440.1 ns 4,445.7 ns 4,454.5 ns 4,458.1 ns 4,470.8 ns 224,534.9 1.00 0.00 Yes 0.0153 - 152 B 1.00
FrwTwemojiAdjustedBenchmark .NET 6.0 Lore(...)sum. [574] 4,598.8 ns 9.90 ns 8.78 ns 2.35 ns 4,582.1 ns 4,593.7 ns 4,600.6 ns 4,605.3 ns 4,612.0 ns 217,448.8 1.03 0.00 No 0.0153 - 152 B 1.00
CatCoreTwemojiReimplementationBenchmark .NET 6.0 Lore(...)sum. [574] 7,511.3 ns 79.02 ns 73.92 ns 19.09 ns 7,278.6 ns 7,497.5 ns 7,511.2 ns 7,548.7 ns 7,620.6 ns 133,132.7 1.69 0.01 No - - 32 B 0.21
FrwTwemojiAdjustedBenchmark .NET 7.0 Lore(...)sum. [574] 2,012.0 ns 15.34 ns 14.35 ns 3.71 ns 1,987.8 ns 1,999.4 ns 2,012.4 ns 2,024.1 ns 2,032.5 ns 497,013.9 0.99 0.01 No 0.0153 - 152 B 1.00
FrwTwemojiBaselineBenchmark .NET 7.0 Lore(...)sum. [574] 2,026.4 ns 12.35 ns 11.56 ns 2.98 ns 2,005.0 ns 2,017.0 ns 2,028.5 ns 2,035.4 ns 2,045.9 ns 493,488.9 1.00 0.00 Yes 0.0153 - 152 B 1.00
CatCoreTwemojiReimplementationBenchmark .NET 7.0 Lore(...)sum. [574] 6,369.8 ns 27.17 ns 24.08 ns 6.44 ns 6,334.8 ns 6,353.1 ns 6,363.4 ns 6,382.0 ns 6,424.5 ns 156,989.6 3.14 0.02 No - - 32 B 0.21
CatCoreTwemojiReimplementationBenchmark .NET Framework 4.7.2 Lore(...)sum. [574] 8,575.3 ns 63.45 ns 56.25 ns 15.03 ns 8,508.1 ns 8,535.5 ns 8,566.5 ns 8,597.8 ns 8,700.6 ns 116,614.4 0.50 0.00 No - - 40 B 0.22
FrwTwemojiBaselineBenchmark .NET Framework 4.7.2 Lore(...)sum. [574] 17,212.8 ns 103.61 ns 80.89 ns 23.35 ns 17,112.1 ns 17,157.8 ns 17,192.6 ns 17,249.1 ns 17,409.3 ns 58,096.3 1.00 0.00 Yes - - 185 B 1.00
FrwTwemojiAdjustedBenchmark .NET Framework 4.7.2 Lore(...)sum. [574] 17,391.6 ns 224.14 ns 198.70 ns 53.10 ns 17,123.5 ns 17,256.9 ns 17,348.3 ns 17,540.9 ns 17,789.1 ns 57,498.9 1.01 0.01 No - - 185 B 1.00
CatCoreTwemojiReimplementationBenchmark Mono Unity 2019.4.28f1 Lore(...)sum. [574] 10,074.6 ns 26.06 ns 24.37 ns 6.29 ns 10,021.7 ns 10,065.3 ns 10,077.5 ns 10,086.2 ns 10,109.5 ns 99,259.7 0.24 0.00 No - - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2019.4.28f1 Lore(...)sum. [574] 42,777.5 ns 135.51 ns 126.75 ns 32.73 ns 42,617.6 ns 42,667.8 ns 42,783.4 ns 42,839.7 ns 43,035.0 ns 23,376.8 1.00 0.00 No - - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2019.4.28f1 Lore(...)sum. [574] 42,837.5 ns 152.02 ns 126.95 ns 35.21 ns 42,646.4 ns 42,727.1 ns 42,828.9 ns 42,944.7 ns 43,024.6 ns 23,344.1 1.00 0.00 Yes - - - NA
CatCoreTwemojiReimplementationBenchmark Mono Unity 2021.2.0b4 Lore(...)sum. [574] 9,664.6 ns 41.02 ns 38.37 ns 9.91 ns 9,609.3 ns 9,634.8 ns 9,656.9 ns 9,685.1 ns 9,737.0 ns 103,470.4 0.21 0.00 No - - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2021.2.0b4 Lore(...)sum. [574] 45,911.1 ns 92.45 ns 81.95 ns 21.90 ns 45,795.0 ns 45,858.0 ns 45,889.0 ns 45,913.1 ns 46,054.6 ns 21,781.2 0.99 0.00 No - - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2021.2.0b4 Lore(...)sum. [574] 46,265.8 ns 97.48 ns 76.10 ns 21.97 ns 46,104.6 ns 46,230.7 ns 46,296.7 ns 46,321.8 ns 46,350.5 ns 21,614.2 1.00 0.00 Yes - - - NA
CatCoreTwemojiReimplementationBenchmark Mono Unity 2021.3.16f1 Lore(...)sum. [574] 9,548.3 ns 31.04 ns 29.03 ns 7.50 ns 9,493.8 ns 9,528.9 ns 9,543.3 ns 9,567.2 ns 9,605.0 ns 104,731.1 0.21 0.00 No - - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2021.3.16f1 Lore(...)sum. [574] 45,886.4 ns 124.25 ns 110.14 ns 29.44 ns 45,689.6 ns 45,834.2 ns 45,875.0 ns 45,959.5 ns 46,082.5 ns 21,793.0 0.99 0.00 No - - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2021.3.16f1 Lore(...)sum. [574] 46,322.4 ns 70.48 ns 65.93 ns 17.02 ns 46,219.6 ns 46,278.7 ns 46,314.3 ns 46,360.2 ns 46,449.5 ns 21,587.8 1.00 0.00 Yes - - - NA
CatCoreTwemojiReimplementationBenchmark Mono Unity 2022.1.0a12 Lore(...)sum. [574] 9,535.9 ns 46.82 ns 43.80 ns 11.31 ns 9,473.6 ns 9,508.7 ns 9,536.4 ns 9,569.1 ns 9,621.7 ns 104,867.4 0.21 0.00 No - - - NA
FrwTwemojiBaselineBenchmark Mono Unity 2022.1.0a12 Lore(...)sum. [574] 45,837.5 ns 141.57 ns 110.52 ns 31.91 ns 45,672.5 ns 45,735.7 ns 45,866.6 ns 45,889.4 ns 46,002.7 ns 21,816.2 1.00 0.00 Yes - - - NA
FrwTwemojiAdjustedBenchmark Mono Unity 2022.1.0a12 Lore(...)sum. [574] 46,272.3 ns 132.58 ns 124.02 ns 32.02 ns 46,064.5 ns 46,191.2 ns 46,252.8 ns 46,353.5 ns 46,453.0 ns 21,611.2 1.01 0.00 No - - - NA