Skip to content

Benchmarks

Eris edited this page May 5, 2022 · 27 revisions

This page will show the results of benchmarks that were written to test the performance of CatCore, and serves as a comparison with the old ChatCore implementation as well. The initial resultsets will be a subset of the ones that apply to Beat Saber (scoped to the specific version of the Unity Mono runtime).
However, I'll also be providing the full benchmark run results below though, those results consists of runs against runtimes listed below:

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

Explanation

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

  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])
  RatioSD   : Standard deviation 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 spend 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 to these numbers to be as HIGH as possible.

Those should give you a pretty good idea on how to interprete 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 ran.
  • Gen 0, Gen 1, Allocated: Those columns indicate how much garbage is being generated during the runs of the methods. You want those to be as LOW as possible, as a garbage collection trigger is often the cause of a lagspike.

Mono Unity 2019.4.28f1 (Beat Saber)

The main part 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 not exactly fool-proof 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, while the fourth 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 main parts.

(this part is a work-in-progress so sorry for the cliffhanger πŸ˜…)

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 on 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 wasn't the only thing that was heavily improved in this area. The other key points that were also addressed, is it's 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 the new implementation was updated in the meantime to support Unicode 14.0 emojis, while the old implementation is still lagging behind, tests below were tested against the Unicode 13.1 Emoji references)
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.

  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

Emoji parsing

Clarification on this can be found here.

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-CIRMVA : .NET 5.0.16 (5.0.1622.16705), X64 RyuJIT
  • Job-NVAYXH : .NET 6.0.4 (6.0.422.16404), X64 RyuJIT
  • Job-ZSFKTD : .NET Framework 4.8 (4.8.4470.0), X64 RyuJIT
  • Job-XTWDPN : Mono 5.11.0 (Visual Studio), X86
  • Job-UGEEKR : Mono 6.13.0 (Visual Studio), X86
  • Job-LJOXDK : Mono 6.13.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-CIRMVA .NET 5.0 I 🧑 Twemoji! πŸ₯³ 294.0 ns 2.12 ns 1.98 ns 0.51 ns 291.1 ns 292.1 ns 294.4 ns 295.2 ns 297.3 ns 3,401,719.5 0.13 No 0.0658 - 552 B
FrwTwemojiAdjustedBenchmark Job-CIRMVA .NET 5.0 I 🧑 Twemoji! πŸ₯³ 1,981.4 ns 19.10 ns 17.87 ns 4.61 ns 1,957.2 ns 1,971.6 ns 1,979.3 ns 1,989.5 ns 2,015.8 ns 504,706.1 0.89 No 0.2193 0.0019 1,848 B
FrwTwemojiBaselineBenchmark Job-CIRMVA .NET 5.0 I 🧑 Twemoji! πŸ₯³ 2,220.5 ns 13.70 ns 12.82 ns 3.31 ns 2,200.2 ns 2,210.2 ns 2,216.5 ns 2,232.3 ns 2,246.0 ns 450,348.2 1.00 Yes 0.2327 - 1,960 B
CatCoreTwemojiReimplementationBenchmark Job-NVAYXH .NET 6.0 I 🧑 Twemoji! πŸ₯³ 297.8 ns 1.62 ns 1.44 ns 0.38 ns 294.6 ns 297.1 ns 297.8 ns 298.3 ns 300.2 ns 3,357,554.5 0.15 No 0.0658 - 552 B
FrwTwemojiAdjustedBenchmark Job-NVAYXH .NET 6.0 I 🧑 Twemoji! πŸ₯³ 1,851.6 ns 6.29 ns 5.88 ns 1.52 ns 1,842.4 ns 1,847.1 ns 1,849.5 ns 1,856.3 ns 1,862.3 ns 540,085.2 0.91 No 0.2193 - 1,848 B
FrwTwemojiBaselineBenchmark Job-NVAYXH .NET 6.0 I 🧑 Twemoji! πŸ₯³ 2,045.6 ns 11.16 ns 9.89 ns 2.64 ns 2,022.8 ns 2,041.9 ns 2,044.8 ns 2,049.8 ns 2,063.3 ns 488,856.3 1.00 Yes 0.2327 0.0019 1,960 B
CatCoreTwemojiReimplementationBenchmark Job-ZSFKTD .NET Framework 4.7.2 I 🧑 Twemoji! πŸ₯³ 323.6 ns 0.81 ns 0.72 ns 0.19 ns 322.3 ns 323.3 ns 323.6 ns 324.1 ns 324.7 ns 3,090,164.0 0.07 No 0.0887 - 562 B
FrwTwemojiAdjustedBenchmark Job-ZSFKTD .NET Framework 4.7.2 I 🧑 Twemoji! πŸ₯³ 3,874.8 ns 20.45 ns 17.07 ns 4.74 ns 3,851.9 ns 3,859.4 ns 3,876.3 ns 3,887.6 ns 3,900.9 ns 258,081.1 0.89 No 0.3052 - 1,934 B
FrwTwemojiBaselineBenchmark Job-ZSFKTD .NET Framework 4.7.2 I 🧑 Twemoji! πŸ₯³ 4,360.7 ns 26.21 ns 23.23 ns 6.21 ns 4,337.3 ns 4,341.6 ns 4,355.4 ns 4,373.8 ns 4,413.7 ns 229,319.4 1.00 Yes 0.3738 - 2,415 B
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-UGEEKR Mono Unity 2021.2.0b4 I 🧑 Twemoji! πŸ₯³ 522.9 ns 3.39 ns 3.01 ns 0.80 ns 517.8 ns 521.3 ns 522.5 ns 524.2 ns 528.6 ns 1,912,566.3 0.05 No 0.1049 - -
FrwTwemojiAdjustedBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 I 🧑 Twemoji! πŸ₯³ 10,112.4 ns 22.78 ns 19.02 ns 5.28 ns 10,080.7 ns 10,102.9 ns 10,115.1 ns 10,122.6 ns 10,148.2 ns 98,888.3 0.96 No 0.3357 - -
FrwTwemojiBaselineBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 I 🧑 Twemoji! πŸ₯³ 10,533.9 ns 23.61 ns 22.08 ns 5.70 ns 10,502.1 ns 10,513.7 ns 10,539.6 ns 10,551.7 ns 10,564.9 ns 94,931.9 1.00 Yes 0.3662 - -
CatCoreTwemojiReimplementationBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 I 🧑 Twemoji! πŸ₯³ 521.0 ns 1.60 ns 1.50 ns 0.39 ns 518.7 ns 520.1 ns 521.4 ns 522.3 ns 523.4 ns 1,919,268.2 0.05 No 0.1049 - -
FrwTwemojiAdjustedBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 I 🧑 Twemoji! πŸ₯³ 10,191.3 ns 21.50 ns 19.06 ns 5.09 ns 10,157.3 ns 10,178.6 ns 10,191.1 ns 10,202.5 ns 10,227.4 ns 98,123.1 0.96 No 0.3357 - -
FrwTwemojiBaselineBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 I 🧑 Twemoji! πŸ₯³ 10,582.1 ns 69.83 ns 65.32 ns 16.87 ns 10,483.7 ns 10,536.9 ns 10,563.8 ns 10,617.9 ns 10,709.9 ns 94,499.3 1.00 Yes 0.3662 - -
CatCoreTwemojiReimplementationBenchmark Job-CIRMVA .NET 5.0 I've (...)🍚🍜 [56] 1,596.0 ns 4.54 ns 4.24 ns 1.10 ns 1,585.8 ns 1,593.8 ns 1,596.7 ns 1,598.8 ns 1,602.1 ns 626,569.3 0.09 No 0.4826 0.0134 4,040 B
FrwTwemojiAdjustedBenchmark Job-CIRMVA .NET 5.0 I've (...)🍚🍜 [56] 15,326.5 ns 57.04 ns 53.36 ns 13.78 ns 15,241.2 ns 15,292.1 ns 15,314.0 ns 15,357.5 ns 15,434.6 ns 65,246.3 0.88 No 1.6022 0.0916 13,416 B
FrwTwemojiBaselineBenchmark Job-CIRMVA .NET 5.0 I've (...)🍚🍜 [56] 17,368.4 ns 162.87 ns 152.35 ns 39.34 ns 17,158.7 ns 17,264.0 ns 17,304.0 ns 17,464.1 ns 17,676.5 ns 57,575.9 1.00 Yes 1.7090 0.0916 14,312 B
CatCoreTwemojiReimplementationBenchmark Job-NVAYXH .NET 6.0 I've (...)🍚🍜 [56] 1,637.9 ns 4.78 ns 3.99 ns 1.11 ns 1,630.7 ns 1,636.2 ns 1,637.5 ns 1,639.8 ns 1,646.0 ns 610,530.7 0.10 No 0.4826 0.0134 4,040 B
FrwTwemojiAdjustedBenchmark Job-NVAYXH .NET 6.0 I've (...)🍚🍜 [56] 14,441.9 ns 50.19 ns 44.50 ns 11.89 ns 14,382.6 ns 14,404.3 ns 14,435.3 ns 14,485.1 ns 14,511.3 ns 69,243.0 0.90 No 1.6022 0.0763 13,416 B
FrwTwemojiBaselineBenchmark Job-NVAYXH .NET 6.0 I've (...)🍚🍜 [56] 16,080.2 ns 53.03 ns 44.28 ns 12.28 ns 16,015.5 ns 16,045.6 ns 16,079.3 ns 16,115.4 ns 16,148.8 ns 62,188.3 1.00 Yes 1.7090 0.0916 14,312 B
CatCoreTwemojiReimplementationBenchmark Job-ZSFKTD .NET Framework 4.7.2 I've (...)🍚🍜 [56] 1,772.6 ns 7.80 ns 6.92 ns 1.85 ns 1,760.0 ns 1,768.4 ns 1,771.5 ns 1,775.3 ns 1,788.9 ns 564,138.3 0.05 No 0.6428 0.0153 4,060 B
FrwTwemojiAdjustedBenchmark Job-ZSFKTD .NET Framework 4.7.2 I've (...)🍚🍜 [56] 29,607.0 ns 184.99 ns 163.99 ns 43.83 ns 29,396.0 ns 29,498.4 ns 29,554.7 ns 29,729.2 ns 29,916.4 ns 33,775.8 0.87 No 2.1667 0.0916 13,873 B
FrwTwemojiBaselineBenchmark Job-ZSFKTD .NET Framework 4.7.2 I've (...)🍚🍜 [56] 33,960.9 ns 185.15 ns 164.13 ns 43.87 ns 33,648.3 ns 33,853.6 ns 33,977.1 ns 34,029.7 ns 34,293.1 ns 29,445.7 1.00 Yes 2.7466 0.1221 17,724 B
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-UGEEKR Mono Unity 2021.2.0b4 I've (...)🍚🍜 [56] 3,159.0 ns 5.67 ns 5.30 ns 1.37 ns 3,147.9 ns 3,156.1 ns 3,159.5 ns 3,162.0 ns 3,170.7 ns 316,556.1 0.04 No 0.7820 - -
FrwTwemojiAdjustedBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 I've (...)🍚🍜 [56] 82,950.7 ns 346.85 ns 307.47 ns 82.17 ns 82,574.9 ns 82,732.2 ns 82,884.1 ns 83,173.2 ns 83,640.6 ns 12,055.4 0.97 No 2.4414 - -
FrwTwemojiBaselineBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 I've (...)🍚🍜 [56] 85,485.1 ns 194.25 ns 172.20 ns 46.02 ns 85,207.4 ns 85,380.4 ns 85,430.9 ns 85,622.2 ns 85,759.7 ns 11,697.9 1.00 Yes 2.5635 - -
CatCoreTwemojiReimplementationBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 I've (...)🍚🍜 [56] 3,161.4 ns 11.75 ns 9.81 ns 2.72 ns 3,145.8 ns 3,156.4 ns 3,159.4 ns 3,162.7 ns 3,183.0 ns 316,314.3 0.04 No 0.7820 - -
FrwTwemojiAdjustedBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 I've (...)🍚🍜 [56] 83,066.5 ns 265.36 ns 248.22 ns 64.09 ns 82,642.1 ns 82,904.2 ns 83,083.8 ns 83,289.4 ns 83,431.3 ns 12,038.5 0.97 No 2.4414 - -
FrwTwemojiBaselineBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 I've (...)🍚🍜 [56] 85,489.2 ns 431.14 ns 360.02 ns 99.85 ns 84,971.8 ns 85,247.1 ns 85,470.9 ns 85,852.7 ns 86,159.2 ns 11,697.4 1.00 Yes 2.5635 - -
FrwTwemojiAdjustedBenchmark Job-CIRMVA .NET 5.0 Lore(...)sum. [574] 4,237.0 ns 12.83 ns 12.00 ns 3.10 ns 4,224.3 ns 4,227.4 ns 4,232.2 ns 4,249.8 ns 4,256.8 ns 236,018.3 1.00 No 0.0153 - 152 B
FrwTwemojiBaselineBenchmark Job-CIRMVA .NET 5.0 Lore(...)sum. [574] 4,240.2 ns 16.90 ns 15.81 ns 4.08 ns 4,216.9 ns 4,227.4 ns 4,236.5 ns 4,252.2 ns 4,270.7 ns 235,836.5 1.00 Yes 0.0153 - 152 B
CatCoreTwemojiReimplementationBenchmark Job-CIRMVA .NET 5.0 Lore(...)sum. [574] 6,132.2 ns 28.89 ns 27.03 ns 6.98 ns 6,092.3 ns 6,109.1 ns 6,140.6 ns 6,156.0 ns 6,168.5 ns 163,074.3 1.45 No - - 32 B
FrwTwemojiBaselineBenchmark Job-NVAYXH .NET 6.0 Lore(...)sum. [574] 4,327.8 ns 6.50 ns 5.43 ns 1.51 ns 4,321.8 ns 4,324.7 ns 4,326.2 ns 4,328.6 ns 4,340.4 ns 231,066.8 1.00 Yes 0.0153 - 152 B
FrwTwemojiAdjustedBenchmark Job-NVAYXH .NET 6.0 Lore(...)sum. [574] 4,336.9 ns 19.15 ns 15.99 ns 4.44 ns 4,320.2 ns 4,325.4 ns 4,327.2 ns 4,346.0 ns 4,366.0 ns 230,581.5 1.00 No 0.0153 - 152 B
CatCoreTwemojiReimplementationBenchmark Job-NVAYXH .NET 6.0 Lore(...)sum. [574] 5,481.0 ns 17.89 ns 16.73 ns 4.32 ns 5,451.7 ns 5,469.6 ns 5,484.5 ns 5,491.4 ns 5,504.2 ns 182,449.8 1.27 No - - 32 B
CatCoreTwemojiReimplementationBenchmark Job-ZSFKTD .NET Framework 4.7.2 Lore(...)sum. [574] 7,455.3 ns 44.34 ns 41.48 ns 10.71 ns 7,388.0 ns 7,426.9 ns 7,455.8 ns 7,478.3 ns 7,532.0 ns 134,133.6 0.44 No - - 40 B
FrwTwemojiBaselineBenchmark Job-ZSFKTD .NET Framework 4.7.2 Lore(...)sum. [574] 17,084.6 ns 121.57 ns 113.72 ns 29.36 ns 16,916.0 ns 17,007.7 ns 17,073.2 ns 17,143.7 ns 17,310.6 ns 58,532.3 1.00 Yes - - 185 B
FrwTwemojiAdjustedBenchmark Job-ZSFKTD .NET Framework 4.7.2 Lore(...)sum. [574] 17,174.3 ns 147.16 ns 130.45 ns 34.86 ns 16,994.9 ns 17,076.8 ns 17,153.3 ns 17,210.3 ns 17,443.6 ns 58,226.7 1.01 No - - 185 B
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 - - -
CatCoreTwemojiReimplementationBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 Lore(...)sum. [574] 9,367.4 ns 24.10 ns 22.54 ns 5.82 ns 9,328.1 ns 9,350.7 ns 9,367.5 ns 9,381.9 ns 9,410.3 ns 106,752.7 0.20 No - - -
FrwTwemojiAdjustedBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 Lore(...)sum. [574] 46,129.3 ns 132.19 ns 117.18 ns 31.32 ns 45,980.1 ns 46,018.8 ns 46,143.7 ns 46,183.9 ns 46,373.3 ns 21,678.2 1.00 No - - -
FrwTwemojiBaselineBenchmark Job-UGEEKR Mono Unity 2021.2.0b4 Lore(...)sum. [574] 46,193.9 ns 79.22 ns 74.10 ns 19.13 ns 46,064.0 ns 46,159.0 ns 46,187.3 ns 46,244.5 ns 46,335.6 ns 21,647.9 1.00 Yes - - -
CatCoreTwemojiReimplementationBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 Lore(...)sum. [574] 9,399.0 ns 26.19 ns 21.87 ns 6.07 ns 9,369.0 ns 9,382.5 ns 9,399.3 ns 9,405.3 ns 9,442.0 ns 106,393.9 0.20 No - - -
FrwTwemojiAdjustedBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 Lore(...)sum. [574] 46,148.2 ns 113.44 ns 100.56 ns 26.88 ns 46,033.1 ns 46,081.9 ns 46,118.0 ns 46,201.9 ns 46,345.5 ns 21,669.3 1.00 No - - -
FrwTwemojiBaselineBenchmark Job-LJOXDK Mono Unity 2022.1.0a12 Lore(...)sum. [574] 46,209.8 ns 181.44 ns 169.72 ns 43.82 ns 45,954.2 ns 46,082.9 ns 46,175.9 ns 46,356.5 ns 46,542.4 ns 21,640.5 1.00 Yes - - -

Clone this wiki locally