From 5e2c30914bf4a1d748f03faa962b0d0419198780 Mon Sep 17 00:00:00 2001 From: walon Date: Thu, 28 Mar 2024 18:52:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=80=A7=E8=83=BD=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/basic/performance.md | 1005 ++++++++++++---- ...ptimization.md => advancedoptimization.md} | 14 +- docs/business/basiccodeoptimization.md | 50 - docs/business/basicoptimization.md | 34 + docs/business/intro.md | 4 +- .../current/basic/performance.md | 1071 +++++++++++++---- ...ptimization.md => advancedoptimization.md} | 17 +- .../current/business/basiccodeoptimization.md | 50 - .../current/business/basicoptimization.md | 34 + .../current/business/intro.md | 4 +- sidebars.js | 3 +- .../numeric_business_vs_aot_div_aot.jpg | Bin 0 -> 56874 bytes static/img/benchmark/numeric_datas.jpg | Bin 0 -> 129183 bytes .../numeric_dialog_business_div_aot.jpg | Bin 0 -> 48469 bytes .../numeric_dialog_business_div_community.jpg | Bin 0 -> 41013 bytes .../img/benchmark/numeric_dialog_costtime.jpg | Bin 0 -> 51264 bytes 16 files changed, 1691 insertions(+), 595 deletions(-) rename docs/business/{advancedcodeoptimization.md => advancedoptimization.md} (61%) delete mode 100644 docs/business/basiccodeoptimization.md create mode 100644 docs/business/basicoptimization.md rename i18n/en/docusaurus-plugin-content-docs/current/business/{advancedcodeoptimization.md => advancedoptimization.md} (60%) delete mode 100644 i18n/en/docusaurus-plugin-content-docs/current/business/basiccodeoptimization.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/business/basicoptimization.md create mode 100644 static/img/benchmark/numeric_business_vs_aot_div_aot.jpg create mode 100644 static/img/benchmark/numeric_datas.jpg create mode 100644 static/img/benchmark/numeric_dialog_business_div_aot.jpg create mode 100644 static/img/benchmark/numeric_dialog_business_div_community.jpg create mode 100644 static/img/benchmark/numeric_dialog_costtime.jpg diff --git a/docs/basic/performance.md b/docs/basic/performance.md index e1fff2f9b..c46a1cefc 100644 --- a/docs/basic/performance.md +++ b/docs/basic/performance.md @@ -4,30 +4,35 @@ ## 测试报告 -社区版本的HybridCLR除了数值计算跟lua持平之外,其他方面数据均大幅(数倍到数十倍)优于lua方案。 +社区版本的HybridCLR除了**数值计算**跟AOT有较明显差距外,其他方面差距不大。因此对于大多数项目来说,游戏综合性能跟全原生版本差距不大。 -**商业版本**的HybridCLR大幅优化了数值计算性能,有近300%的性能提升,其他大多数普通指令也有50%-200%的性能提升,对性能有严苛要求的开发者可以联系我们[商业化服务](../business/intro.md)。 +**商业版本**的HybridCLR大幅优化了数值计算性能,性能是社区版本的280%-735%,对性能有严苛要求的开发者可以联系我们[商业化服务](../business/intro.md)。 -以下是社区版本的HybridCLR在iphone 11及小米5C手机下的实机测试报告,测试代码附录最后。 +以下是OnePlus 9R ArmV8 实机测试报告,测试代码附录最后。 -:::caution -注意,test2、test8、test9的测试用例极不合理,AOT情况下会被编译器完全优化掉,导致时间为0。真实差距 -应该在10-30倍之间。 -::: +### AOT耗时 vs 商业化版本耗时 vs 社区版本耗时 (越小越好) -AOT 行是原生il2cpp的数据。HotFix 行是HybridCLR的数据。Lua 行是xlua的数据。 +![data](/img/benchmark/numeric_datas.jpg) -![iphone11](/img/hybridclr/benchmark_iphone11.png) +### 商业化版本耗时/AOT耗时 vs 社区版本耗时/AOT耗时 (越小越好) -![xiaomi5c](/img/hybridclr/benchmark_xiaomi.png) +AOT版本性能是社区版本的`4.1 - 90`倍,是商业化版本的`1.30 - 12.9`倍。 -以下是部分测试用例下的商业化版本相比于社区版本的性能提升数据。 +![data](/img/benchmark/numeric_business_vs_aot_div_aot.jpg) -![interpreter_optimization](/img/hybridclr/interpreter_optimization.jpg) -以下是数值计算方面AOT与HybridCLR在优化后的性能对比,加法大约是7-16倍左右,乘法是4倍,除法是2倍。 +### 商业化版本性能/社区版本性能 (越大越好) + +商业化版本性能是社区版本的`2.87-7.35`倍。 + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) + +### 商业化版本性能/AOT版本性能 (越小越好) + +AOT版本性能是是商业化版本的`1.30 - 12.9`倍。 + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) -![benchmark_numeric](/img/hybridclr/benchmark_numeric.jpg) ## 原理 @@ -104,225 +109,779 @@ HybridCLR与il2cpp AOT部分交互极其轻量高效。不再有性能问题。 ## 附录:测试用例代码 -下面这些测试用例来自第三方提供,用例并不合理,但我们不想有刻意构造之嫌,直接引用它的用例。 - -```csharp -private static void Test0() -{ - var go = new GameObject("t"); - var transform = go.transform; - - var cnt = PerformanceSetting.Count * 1000; - for (var i = 0; i < cnt; i++) - { - transform.position = transform.position; - } - - Object.Destroy(go); -} - -private static void Test1() -{ - var go = new GameObject("t"); - var transform = go.transform; - - var cnt = PerformanceSetting.Count * 100; - for (var i = 0; i < cnt; i++) - { - transform.Rotate(Vector3.up, 1); - } - - Object.Destroy(go); -} - -private static void Test2() -{ - var cnt = PerformanceSetting.Count * 1000; - for (var i = 0; i < cnt; i++) - { - var v = new Vector3(i, i, i); - var x = v.x; - var y = v.y; - var z = v.z; - var r = x + y * z; - } -} -private static void Test3() -{ - var cnt = PerformanceSetting.Count * 10; - for (var i = 0; i < cnt; i++) - { - var go = new GameObject("t"); - Object.Destroy(go); - } -} -private static void Test4() -{ - var cnt = PerformanceSetting.Count * 10; - for (var i = 0; i < cnt; i++) - { - var go = new GameObject(); - go.AddComponent(); - var c = go.GetComponent(); - c.receiveShadows = false; - Object.Destroy(go); - } -} - -private static void Test5() -{ - var cnt = PerformanceSetting.Count * 1000; - for (var i = 0; i < cnt; i++) - { - var p = Input.mousePosition; - } -} - -private static void Test6() +```csharp +public class LongArithmetics { - var cnt = PerformanceSetting.Count * 1000; - for (var i = 0; i < cnt; i++) - { - var v = new Vector3(i, i, i); - Vector3.Normalize(v); - } -} - -private static void Test7() + [Benchmark] + [Params(1000000)] + public long add_1(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + + for(long i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long add_2(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + long e = 3; + + for (long i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long mul_1(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + + for (long i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long mul_2(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + long e = 3; + + for (long i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long div_1(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + + for (long i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } + + + public class IntArithmetics { - var cnt = PerformanceSetting.Count * 100; - for (var i = 0; i < cnt; i++) - { - var q1 = Quaternion.Euler(i, i, i); - var q2 = Quaternion.Euler(i * 2, i * 2, i * 2); - Quaternion.Slerp(Quaternion.identity, q1, 0.5f); - } + [Benchmark] + [Params(1000000)] + public int add_1(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + + for(int i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int add_2(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + int e = 3; + + for (int i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int mul_1(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + + for (int i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int mul_2(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + int e = 3; + + for (int i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int div_1(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + + for (int i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } } -private static void Test8() +public class FloatArithmetics { - double total = 0; - var cnt = PerformanceSetting.Count * 10000; - for (var i = 0; i < cnt; i++) - { - total = total + i - (i / 2) * (i + 3) / (i + 5); - } + [Benchmark] + [Params(1000000)] + public float add_1(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + + for(int i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float add_2(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + float e = 3; + + for (int i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float mul_1(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + + for (int i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float mul_2(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + float e = 3; + + for (int i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float div_1(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + + for (int i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } } -private static void Test9() +public class DoubleArithmetics { - var cnt = PerformanceSetting.Count * 1000; - for (var i = 0; i < cnt; i++) - { - var a = new Vector3(1, 2, 3); - var b = new Vector3(4, 5, 6); - var c = a + b; - } + [Benchmark] + [Params(1000000)] + public double add_1(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + + for (int i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double add_2(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + double e = 3; + + for (int i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double mul_1(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + + for (int i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double mul_2(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + double e = 3; + + for (int i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double div_1(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + + for (int i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } } -``` - -```lua -local function test0() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - - local go = CS.UnityEngine.GameObject("_") - local transform = go.transform - - for i = 1, cnt do - transform.position = transform.position - end - - CS.UnityEngine.GameObject.Destroy(go) -end - -local function test1() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 100 - - local go = CS.UnityEngine.GameObject("_") - local transform = go.transform - - for i = 1, cnt do - transform:Rotate(CS.UnityEngine.Vector3.up, 1) - end - - CS.UnityEngine.GameObject.Destroy(go) -end - -local function test2() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - - local go = CS.UnityEngine.GameObject("_") - local transform = go.transform - - for i = 1, cnt do - local tmp = CS.UnityEngine.Vector3(i, i, i) - local x = tmp.x - local y = tmp.y - local z = tmp.z - local r = x + y * z - end -end - -local function test3() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 10 - for i = 1, cnt do - local tmp = CS.UnityEngine.GameObject("___") - CS.UnityEngine.GameObject.Destroy(tmp) - end -end - -local function test4() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 10 - for i = 1, cnt do - local tmp = CS.UnityEngine.GameObject("___") - tmp:AddComponent(typeof(CS.UnityEngine.SkinnedMeshRenderer)) - local c = tmp:GetComponent(typeof(CS.UnityEngine.SkinnedMeshRenderer)) - c.receiveShadows = false - CS.UnityEngine.GameObject.Destroy(tmp) - end -end - -local function test5() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - for i = 1, cnt do - local tmp = CS.UnityEngine.Input.mousePosition; - end -end - -local function test6() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - for i = 1, cnt do - local tmp = CS.UnityEngine.Vector3(i, i, i) - CS.UnityEngine.Vector3.Normalize(tmp) - end -end - -local function test7() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 100 - for i = 1, cnt do - local t1 = CS.UnityEngine.Quaternion.Euler(i, i, i) - local t2 = CS.UnityEngine.Quaternion.Euler(i * 2, i * 2, i * 2) - CS.UnityEngine.Quaternion.Slerp(t1, t2, CS.UnityEngine.Random.Range(0.1, 0.9)) - end -end - -local function test8() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 10000 - local total = 0 - for i = 1, cnt do - total = total + i - (i / 2) * (i + 3) / (i + 5) - end -end - -local function test9() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - for i = 1, cnt do - local tmp0 = CS.UnityEngine.Vector3(1, 2, 3) - local tmp1 = CS.UnityEngine.Vector3(4, 5, 6) - local tmp2 = tmp0 + tmp1 - end -end ``` \ No newline at end of file diff --git a/docs/business/advancedcodeoptimization.md b/docs/business/advancedoptimization.md similarity index 61% rename from docs/business/advancedcodeoptimization.md rename to docs/business/advancedoptimization.md index b5cf36996..b689252d9 100644 --- a/docs/business/advancedcodeoptimization.md +++ b/docs/business/advancedoptimization.md @@ -1,16 +1,21 @@ -# 高级指令优化 +# 离线指令优化 :::warning -高级指令优化尚在开发中。 + +离线指令优化技术正开发中,目前仅可使用标准指令优化技术。 ::: -高级指令优化技术是独立于标准指令优化技术的实现。高级指令优化技术使用更丰富的编译优化技术,极大提升了解释模块的性能。 +离线指令优化(Offline Instruction Optimization,简称OIO)离线将原始IL指令转换为自定义的寄存器指令。 +由于离线没有编译性能限制,可以使用更丰富的编译优化技术,极大提升了解释模块的性能。 + 优化后的指令执行性能整体提升100%-1000%(没看错,10倍以上)甚至更高,尤其是数值指令整体提升近300%。 而且由于已经提前转换,加载和指令翻译过程更快,卡顿更小。 +离线指令优化技术支持代码加固方案中的虚拟化技术,极大提升了代码安全。 + ## 实现 -高级指令优化技术包含了以下优化技术: +离线指令优化技术包含了以下优化技术: - 彻底的无用栈指令消除。消除掉所有不必要的栈操作 - 窥孔优化 @@ -28,4 +33,3 @@ ## 性能 TODO。 - diff --git a/docs/business/basiccodeoptimization.md b/docs/business/basiccodeoptimization.md deleted file mode 100644 index ed81b8889..000000000 --- a/docs/business/basiccodeoptimization.md +++ /dev/null @@ -1,50 +0,0 @@ -# 离线指令优化 - -:::warning - -离线指令优化技术正开发中,目前仅可使用旧版本指令优化技术(即原来的标准指令优化技术)。 -::: - -离线指令优化(Offline Instruction Optimization,简称OIO)离线将原始IL指令转换为自定义的寄存器指令。 -由于离线没有编译性能限制,可以使用更丰富的编译优化技术,极大提升了解释模块的性能。 - -优化后的指令执行性能整体提升100%-1000%(没看错,10倍以上)甚至更高,尤其是数值指令整体提升近300%。 -而且由于已经提前转换,加载和指令翻译过程更快,卡顿更小。 - -离线指令优化技术支持代码加固方案中的虚拟化技术,极大提升了代码安全。 - -## 实现 - -高级指令优化技术包含了以下优化技术: - -- 彻底的无用栈指令消除。消除掉所有不必要的栈操作 -- 窥孔优化 -- 常量复制优化 -- 局部复制传播优化 -- 全局复制传播优化 -- 解释函数inline -- AOT函数inline(专利技术) -- 提供更多instinct指令,大幅提升常见的指令组合性能 -- 条件检查消除技术。消除不必要的空指针检查、类型强转检查、数组越界检查 -- CheckOnce运行时检查动态消除优化。例如访问静态成员变量的指令,在第2次执行时不再检查类型是否已经初始化过 -- 其他优化 - - -## 性能 - -TODO。 - -## 标准指令优化技术(将废弃) - -标准指令优化技术为运行时优化技术。对常见的代码范式进行谨慎可靠的优化,大幅提升了变量访问(50%-100%)、数值计算(100-300%)、对象访问(50-200%)等常见指令的性能,像一些特殊代码如typeof指令的性能,提升了1000%以上。 - -由于运行时的时间及内存限制,标准指令优化只做一些无用栈消除、窥孔优化等等简单但较可靠的优化,无法执行一些复杂的优化。但由于IL指令是栈指令,即使只做了一些不复杂的常见优化,性能相比于社区的未优化版本也有显著提升。 - - -以下是标准指令优化相比于社区版本的解释性能提升数据(0表示性能持平,n表示提升n倍)。 - -![interpreter_optimization](/img/hybridclr/interpreter_optimization.jpg) - -以下是数值计算方面原生与标准指令优化的性能对比,纵坐标为耗时。标准指令优化的加法大约为原生7-16倍左右,乘法是4倍,除法是2倍。 - -![benchmark_numeric](/img/hybridclr/benchmark_numeric.jpg) diff --git a/docs/business/basicoptimization.md b/docs/business/basicoptimization.md new file mode 100644 index 000000000..00ab8ac85 --- /dev/null +++ b/docs/business/basicoptimization.md @@ -0,0 +1,34 @@ +# 解释执行优化 + +目前仅可使用标准解释执行优化技术,[离线指令优化](./advancedoptimization)技术还在开发中。 + +## 标准指令优化技术 + +标准指令优化技术为运行时优化技术。对常见的代码范式进行谨慎可靠的优化,大幅提升了变量访问、数值计算、对象访问等常见指令的性能,像一些特殊代码如typeof指令的性能,提升了1000%以上。 + +**商业版**大幅提升了数值计算性能,其性能是社区版本的 **280%-735%**。 + +以下是OnePlus 9R ArmV8 实机测试报告,测试代码附录最后。 + +### AOT耗时 vs 商业化版本耗时 vs 社区版本耗时 (越小越好) + +![data](/img/benchmark/numeric_datas.jpg) + +### 商业化版本耗时/AOT耗时 vs 社区版本耗时/AOT耗时 (越小越好) + +AOT版本性能是社区版本的`4.1 - 90`倍,是商业化版本的`1.30 - 12.9`倍。 + +![data](/img/benchmark/numeric_business_vs_aot_div_aot.jpg) + + +### 商业化版本性能/社区版本性能 (越大越好) + +商业化版本性能是社区版本的`2.87-7.35`倍。 + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) + +### 商业化版本性能/AOT版本性能 (越小越好) + +AOT版本性能是是商业化版本的`1.30 - 12.9`倍。 + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) diff --git a/docs/business/intro.md b/docs/business/intro.md index c0ebc3cbf..22dd17ab1 100644 --- a/docs/business/intro.md +++ b/docs/business/intro.md @@ -12,7 +12,7 @@ 目前有三个商业化版本,具体特性对比如下: -- [专业版](./pro/intro.md)。优化了性能、内存,提供更高的代码安全 +- [专业版](./pro/intro.md)。显著提升了[解释执行性能](./basicoptimization)(数值指令性能是社区版本的**280%-735%**)、优化了元数据内存,支持代码加密,有效保障了代码安全 - [**旗舰版**](./ultimate/intro.md)。包含专业版的所有功能,另外包含了我们最核心的[DHE技术](./differentialhybridexecution),极大提升了性能,几乎(**未改动时为100%**)达到同等的原生AOT水平 - [热重载版](./reload/intro.md)。包含专业版的所有功能,同时支持卸载和重新加载单独的assembly,当前可以卸载掉程序集**100%**的元数据内存 @@ -27,7 +27,7 @@ |[完全泛型共享](./fullgenericsharing)||✔|✔|✔| |[DOTS](./dots)||✔|✔|✔| |[元数据优化](./metadataoptimization.md)||✔|✔|✔| -|[离线指令优化](./basiccodeoptimization)||✔|✔|✔| +|[解释性能优化](./basicoptimization)||✔|✔|✔| |[代码加固](./basicencryption)||✔|✔|✔| |[热重载](./reload/hotreloadassembly)||||✔| |[访问控制机制](./accesspolicy)||||✔| diff --git a/i18n/en/docusaurus-plugin-content-docs/current/basic/performance.md b/i18n/en/docusaurus-plugin-content-docs/current/basic/performance.md index eba1a77cf..db85de5e6 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/basic/performance.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/basic/performance.md @@ -1,328 +1,887 @@ # Performance -Although HybridCLR is also interpreted and executed, both theoretical principles and real machine test data show that HybridCLR has greatly improved performance (several times or even dozens of times) compared to the current popular hot update solutions such as lua and ILRuntime. +Although HybridCLR is also interpreted and executed, both theoretical principles and real machine test data show that HybridCLR has greatly improved performance (several times or even dozens of times) compared to the currently popular hot update solutions such as Lua and ILRuntime. ## Benchmark -The community version of HybridCLR is much (several times to tens of times) better than the Lua solution except that its numerical calculation is equal to that of Lua. +Except for the obvious difference between **numerical calculation** and AOT, the community version of HybridCLR has little difference in other aspects. Therefore, for most projects, the overall performance of the game is not much different from that of the fully native version. -The HybridCLR of the **commercial version** has greatly optimized the performance of numerical calculations, with a performance improvement of nearly 300%. Most other common instructions also have a performance improvement of 50%-200%. Developers who have strict requirements on performance can contact us [Business Services](../business/intro.md). +**Commercial version** of HybridCLR has greatly optimized numerical calculation performance, which is 170%-740% of the community version. Developers with strict performance requirements can contact us [Commercial Service](../business/intro.md ). -The following is the test report of the community version of HybridCLR under the iphone 11 and Xiaomi 5C mobile phones. The test code is at the end of the appendix. +The following is the OnePlus 9R ArmV8 actual test report, with the test code appendix at the end. -:::caution -Note that the test cases of test2, test8, and test9 are extremely unreasonable. In the case of AOT, they will be completely optimized by the compiler, resulting in a time of 0. real gap -It should be between 10-30 times. -::: +### AOT time-consuming vs. commercial version time-consuming vs. community version time-consuming (the smaller the better) -AOT lines are native il2cpp data. The HotFix line is HybridCLR data. Lua lines are data for xlua. +![data](/img/benchmark/numeric_datas.jpg) -![iphone11](/img/hybridclr/benchmark_iphone11.png) +### Commercial version time-consuming/AOT time-consuming vs community version time-consuming/AOT time-consuming (the smaller the better) -![xiaomi5c](/img/hybridclr/benchmark_xiaomi.png) +The performance of the AOT version is `4.1 - 90` times that of the community version and `1.30 - 12.9` times that of the commercial version. -The following is the performance improvement data of the commercial version under some test cases compared with the community version. +![data](/img/benchmark/numeric_business_vs_aot_div_aot.jpg) -![interpreter_optimization](/img/hybridclr/interpreter_optimization.jpg) -The following is the performance comparison between AOT and HybridCLR after optimization in terms of numerical calculation. The addition is about 7-16 times, the multiplication is 4 times, and the division is 2 times. +### Commercial version performance/community version performance (the bigger, the better) + +The performance of the commercial version is `2.87-7.35` times that of the community version. + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) + +### Commercial version performance/AOT version performance (the smaller, the better) + +The performance of the AOT version is `1.30 - 12.9` times that of the commercial version. + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) -![benchmark_numeric](/img/hybridclr/benchmark_numeric.jpg) ## Principle -Since HybridCLR is implemented in C++ and seamlessly integrated directly with il2cpp runtime, it can directly access the underlying data and various interfaces of runtime. Compared with ILRuntime and Xlua, the additional cost of the C# layer is saved, and the interaction cost is greatly reduced. +Since HybridCLR is implemented in C++ and directly integrated seamlessly with the il2cpp runtime, it can directly access the underlying data and various interfaces of the runtime. Compared with ILRuntime and Xlua, the additional cost of the C# layer is eliminated, and the interaction cost is greatly reduced. The excellent performance of HybridCLR mainly comes from the following aspects: ### Rewritten streamlined and efficient metadata parsing library -We did not use the ready-made metadata parsing library, and implemented a C++ version of streamlined and efficient metadata according to the requirements of HybridCLR -parsing library. Other C# hot update or hotfix solutions use C# libraries such as Cecil, and there is a huge gap in memory and loading efficiency! +We did not use the ready-made metadata parsing library and implemented a C++ version of streamlined and efficient metadata according to HybridCLR requirements. +Parsing library. Other C# hot update or hotfix solutions all use C# libraries such as Cecil, and there is a huge gap in memory and loading efficiency! -### Use the register instruction set +### Use register instruction set -The original IL bytecode is a stack-based instruction set, and HybridCLR converts it into a register instruction set, which reduces the stack maintenance overhead. +The original IL bytecode is a stack-based instruction set, and HybridCLR converts it into a register instruction set, reducing stack maintenance overhead. ### Direct access to data stack and execution stack -Stack operations are the most common operations in the CLI, and almost all instructions involve stack operations. Since the interpreter stack is the heap memory maintained by itself, the CLI has restrictions on the pointer operation of the struct. If the interpreter is implemented in C#, -You cannot directly manipulate data types on the interpreter stack, and you have to use various tricks to achieve this purpose indirectly. The HybridCLR is implemented in C++ and can be directly manipulated. +Stack operation is the most common operation in CLI, and almost all instructions involve stack operation. Since the interpreter stack is a heap memory maintained by itself, the CLI has restrictions on struct pointer operations. If you use C# to implement the interpreter, +Then you cannot directly operate the data type on the interpreter stack, and you have to use various techniques to achieve this purpose indirectly. HybridCLR is implemented in C++ and can be operated directly. -The efficiency of manipulating struct types is several times to dozens of times higher than other interpreters. +The efficiency of operating struct types is improved several times to dozens of times compared with other interpreters. -### Directive static specialization +### Static specialization of directives -Some instructions such as the `add` instruction are multi-function instructions, and the final operation is determined according to the type of the operand on the current stack. HybridCLR designed four instructions `add_i4, add_i8, add_r4, add_r8` for it, when translating instructions -Calculate the data type of the current stack and translate it into the corresponding specialization instruction. It saves the overhead of judging the type at runtime, and also saves the overhead of maintaining data types at runtime. +Some instructions such as the `add` instruction are multi-functional instructions that determine the final operation based on the type of operand currently on the stack. HybridCLR has designed 4 instructions for it: `add_i4, add_i8, add_r4, add_r8`. When translating the instructions +Calculate the data type of the current stack and translate it into the corresponding specialization instruction. It saves the overhead of determining types at runtime and the overhead of maintaining data types at runtime. ### Calculate the runtime metadata that needs to be resolved in advance -Some instructions such as ldtoken and ldstr need to convert the data in the instruction into actual runtime data at runtime. HybridCLR directly calculates the corresponding runtime data during translation and saves it in the converted instruction. -greatly improved performance +Some instructions such as ldtoken and ldstr require the data in the instruction to be converted into actual runtime data at runtime. HybridCLR directly calculates the corresponding runtime data during translation and saves it to the converted instructions. +Greatly improved performance -### Object member access instructions are simple and efficient +### Implementation of object member access instructions is simple and efficient -Object member access instructions like `v.x = b;` are very common. Due to the limitations of the C# language, like ILRuntime and xlua, they have to be operated through a wrap function call. Since HybridCLR is implemented in C++, it can directly access -For the memory data of the object, by calculating the offset of the field in the object in advance, directly `*(int32_t*)(obj + offset) = b;` can complete this access operation. +Object member access instructions like `v.x = b;` are very common. ILRuntime and xlua have to operate through a wrap function call due to C# language limitations. Since HybridCLR is implemented in C++, it can directly access +For the memory data of the object, by calculating the offset of the field in the object in advance, this access operation can be completed directly by `*(int32_t*)(obj + offset) = b;`. -Compared with other hot update schemes, the efficiency is improved by dozens of times. +Compared with other hot update solutions, the efficiency is improved dozens of times. -### Directly support reference and pointer operations without indirect methods +### Directly supports reference and pointer operations without indirect methods -Due to the specification restrictions of the CLI, references in C# can only be placed on the managed stack, but not on the interpreter stack (because it is heap memory). To handle something like `ref int a = ref b; a = 5;`, you have to use very complicated -The trick maintains this reference indirectly. And HybridCLR uses c++ to realize, can save and operate these data directly. +Due to CLI specification restrictions, references in C# can only be placed on the managed stack and not on the interpreter stack (because it is heap memory). In order to handle code like `ref int a = ref b; a = 5;` one has to use very complex +The trick is to maintain this reference indirectly. HybridCLR is implemented in c++ and can directly save and operate these data. Compared with other hot update solutions, the efficiency is greatly improved. -### Unified metadata, more efficient object creation, and smaller memory footprint +### Metadata is unified, object creation is more efficient, and memory usage is smaller. -Due to the unified metadata, you can directly call il2cpp::vm::Object::New to create objects, the efficiency is very close to the original, and the memory is exactly the same. In contrast, other hot update schemes use fake types, -The object is bloated, and the process of creating the object is more complicated. +Due to the unified metadata, you can directly call il2cpp::vm::Object::New to create objects. The efficiency is very close to the native one, and the memory is exactly the same. In contrast, other hot update schemes use fake types, +Objects are bloated and the process of creating objects is more complex. -Compared with other hot update schemes, the efficiency is greatly improved. +Compared with other hot update solutions, the efficiency is greatly improved. -### The metadata is unified, the function calling method is unified, and there is no additional overhead of PInvoke and ReservePInvoke +### Unified metadata, unified function calling methods, and no additional overhead of PInvoke and ReservePInvoke -HybridCLR can directly call the C++ function translated by the IL function without any intermediate links, while ILRuntime and xlua require various complex judgments and parameter conversions, as well as PInvoke and ReservePInvoke between C# and bring a lot of extra overhead. +HybridCLR can directly call C++ functions translated by IL functions without any intermediate links, while ILRuntime and xlua require various complex determinations and parameter conversions, as well as PInvoke and ReservePInvoke with C#, which brings a lot of additional overhead. The interaction between HybridCLR and il2cpp AOT is extremely lightweight and efficient. No more performance issues. -### additionally provide a large number of instinct functions +### Provides a large number of additional instinct functions -For common operations such as `new Vector{2,3,4}`, `new string()`, `Nullable.Value`, etc., we directly provide the corresponding instructions, and the running overhead is even lower than the implementation of AOT . +For common operations like `new Vector{2,3,4}`, `new string()`, `Nullable.Value`, etc., we directly provide corresponding instructions, and the running overhead is even lower than the AOT implementation. . -Compared with other hot update schemes, the efficiency is improved by dozens of times. +Compared with other hot update solutions, the efficiency is improved dozens of times. -### Strictly follow the specification and do not introduce additional unnecessary costs +### Strictly follow the specifications and do not introduce additional unnecessary costs -Due to careful design and optimization, HybridCLR tries to avoid all kinds of unnecessary overhead. For example, the GC of the execution process is exactly the same as that of native il2cpp and mono. +Due to careful design and optimization, HybridCLR tries to avoid unnecessary overhead. For example, the GC of the execution process is exactly the same as native il2cpp and mono. ### Other instruction optimization techniques -Other Optimization Techniques +Other optimization techniques ## Appendix: Test case code -The following test cases are provided by a third party. The use cases are unreasonable, but we don’t want to be deliberately constructed and directly quote their use cases. - -```csharp -private static void Test0() -{ - var go = new GameObject("t"); - var transform = go. transform; - - var cnt = PerformanceSetting. Count * 1000; - for (var i = 0; i < cnt; i++) - { - transform.position = transform.position; - } - - Object. Destroy(go); -} - -private static void Test1() -{ - var go = new GameObject("t"); - var transform = go. transform; - - var cnt = PerformanceSetting. Count * 100; - for (var i = 0; i < cnt; i++) - { - transform. Rotate(Vector3. up, 1); - } - Object. Destroy(go); -} -private static void Test2() -{ - var cnt = PerformanceSetting. Count * 1000; - for (var i = 0; i < cnt; i++) - { - var v = new Vector3(i, i, i); - var x = v.x; - var y = v.y; - var z = v.z; - var r = x + y * z; - } -} - -private static void Test3() -{ - var cnt = PerformanceSetting. Count * 10; - for (var i = 0; i < cnt; i++) - { - var go = new GameObject("t"); - Object. Destroy(go); - } -} - -private static void Test4() -{ - var cnt = PerformanceSetting. Count * 10; - for (var i = 0; i < cnt; i++) - { - var go = new GameObject(); - go.AddComponent(); - var c = go. GetComponent(); - c. receiveShadows = false; - Object. Destroy(go); - } -} - -private static void Test5() +```csharp +public class LongArithmetics { - var cnt = PerformanceSetting. Count * 1000; - for (var i = 0; i < cnt; i++) - { - var p = Input. mousePosition; - } -} - -private static void Test6() + [Benchmark] + [Params(1000000)] + public long add_1(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + + for(long i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long add_2(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + long e = 3; + + for (long i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long mul_1(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + + for (long i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long mul_2(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + long e = 3; + + for (long i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public long div_1(long n) + { + long a = 1; + long b = n; + long c = 2; + long d = n; + + for (long i = 0; i < n; i++) + { + b = c / a; + c = d/a; + d = b / a; + + b = c / a; + c = d/a; + d = b / a; + b = c / a; + c = d/a; + d = b / a; + b = c / a; + c = d/a; + d = b / a; + b = c / a; + c = d/a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d/a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } + + + public class IntArithmetics { - var cnt = PerformanceSetting. Count * 1000; - for (var i = 0; i < cnt; i++) - { - var v = new Vector3(i, i, i); - Vector3. Normalize(v); - } + [Benchmark] + [Params(1000000)] + public int add_1(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + + for(int i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int add_2(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + int e = 3; + + for (int i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int mul_1(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + + for (int i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int mul_2(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + int e = 3; + + for (int i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public int div_1(int n) + { + int a = 1; + int b = n; + int c = 2; + int d = n; + + for (int i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } } -private static void Test7() +public class FloatArithmetics { - var cnt = PerformanceSetting. Count * 100; - for (var i = 0; i < cnt; i++) - { - var q1 = Quaternion. Euler(i, i, i); - var q2 = Quaternion. Euler(i * 2, i * 2, i * 2); - Quaternion. Slerp(Quaternion. identity, q1, 0.5f); - } + [Benchmark] + [Params(1000000)] + public float add_1(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + + for(int i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float add_2(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + float e = 3; + + for (int i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float mul_1(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + + for (int i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float mul_2(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + float e = 3; + + for (int i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public float div_1(int n) + { + float a = 1; + float b = n; + float c = 2; + float d = n; + + for (int i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } } -private static void Test8() +public class DoubleArithmetics { - double total = 0; - var cnt = PerformanceSetting. Count * 10000; - for (var i = 0; i < cnt; i++) - { - total = total + i - (i / 2) * (i + 3) / (i + 5); - } + [Benchmark] + [Params(1000000)] + public double add_1(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + + for (int i = 0; i < n; i++) + { + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + a = b + c; + b = c + d; + c = d + a; + d = a + b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double add_2(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + double e = 3; + + for (int i = 0; i < n; i++) + { + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + a = b + c + d + e; + b = c + d + e + a; + c = d + e + a + b; + d = e + a + b + c; + e = a + b + c + d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double mul_1(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + + for (int i = 0; i < n; i++) + { + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + a = b * c; + b = c * d; + c = d * a; + d = a * b; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double mul_2(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + double e = 3; + + for (int i = 0; i < n; i++) + { + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + a = b * c * d * e; + b = c * d * e * a; + c = d * e * a * b; + d = e * a * b * c; + e = a * b * c * d; + } + return a + b + c + d; + } + + + [Benchmark] + [Params(1000000)] + public double div_1(int n) + { + double a = 1; + double b = n; + double c = 2; + double d = n; + + for (int i = 0; i < n; i++) + { + b = c / a; + c = d / a; + d = b / a; + + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + b = c / a; + c = d / a; + d = b / a; + a = a / n + 1; + } + return a + b + c + d; + } } -private static void Test9() -{ - var cnt = PerformanceSetting. Count * 1000; - for (var i = 0; i < cnt; i++) - { - var a = new Vector3(1, 2, 3); - var b = new Vector3(4, 5, 6); - var c = a + b; - } -} ``` - -```lua -local function test0() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - - local go = CS.UnityEngine.GameObject("_") - local transform = go.transform - - for i = 1, cnt do - transform.position = transform.position - end - - CS.UnityEngine.GameObject.Destroy(go) -end - -local function test1() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 100 - - local go = CS.UnityEngine.GameObject("_") - local transform = go.transform - - for i = 1, cnt do - transform:Rotate(CS.UnityEngine.Vector3.up, 1) - end - - CS.UnityEngine.GameObject.Destroy(go) -end - -local function test2() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - - local go = CS.UnityEngine.GameObject("_") - local transform = go.transform - - for i = 1, cnt do - local tmp = CS.UnityEngine.Vector3(i, i, i) - local x = tmp.x - local y = tmp.y - local z = tmp.z - local r = x + y * z - end -end - -local function test3() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 10 - for i = 1, cnt do - local tmp = CS.UnityEngine.GameObject("___") - CS.UnityEngine.GameObject.Destroy(tmp) - end -end - -local function test4() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 10 - for i = 1, cnt do - local tmp = CS.UnityEngine.GameObject("___") - tmp:AddComponent(typeof(CS.UnityEngine.SkinnedMeshRenderer)) - local c = tmp:GetComponent(typeof(CS.UnityEngine.SkinnedMeshRenderer)) - c.receiveShadows = false - CS.UnityEngine.GameObject.Destroy(tmp) - end -end - -local function test5() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - for i = 1, cnt do - local tmp = CS.UnityEngine.Input.mousePosition; - end -end - -local function test6() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - for i = 1, cnt do - local tmp = CS.UnityEngine.Vector3(i, i, i) - CS.UnityEngine.Vector3.Normalize(tmp) - end -end - -local function test7() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 100 - for i = 1, cnt do - local t1 = CS.UnityEngine.Quaternion.Euler(i, i, i) - local t2 = CS.UnityEngine.Quaternion.Euler(i * 2, i * 2, i * 2) - CS.UnityEngine.Quaternion.Slerp(t1, t2, CS.UnityEngine.Random.Range(0.1, 0.9)) - end -end - -local function test8() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 10000 - local total = 0 - for i = 1, cnt do - total = total + i - (i / 2) * (i + 3) / (i + 5) - end -end - -local function test9() - local cnt = CS.GameMain.Scripts.Performance.PerformanceSetting.Count * 1000 - for i = 1, cnt do - local tmp0 = CS.UnityEngine.Vector3(1, 2, 3) - local tmp1 = CS.UnityEngine.Vector3(4, 5, 6) - local tmp2 = tmp0 + tmp1 - end -end - -``` \ No newline at end of file diff --git a/i18n/en/docusaurus-plugin-content-docs/current/business/advancedcodeoptimization.md b/i18n/en/docusaurus-plugin-content-docs/current/business/advancedoptimization.md similarity index 60% rename from i18n/en/docusaurus-plugin-content-docs/current/business/advancedcodeoptimization.md rename to i18n/en/docusaurus-plugin-content-docs/current/business/advancedoptimization.md index 2357c3551..c657d6bbb 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/business/advancedcodeoptimization.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/business/advancedoptimization.md @@ -1,16 +1,21 @@ -# Advanced instruction optimization +# Offline Instruction Optimization :::warning -Advanced instruction optimizations are still under development. + +Offline instruction optimization technology is under development, and currently only standard instruction optimization technology can be used. ::: -Advanced instruction optimization technology is an implementation independent of standard instruction optimization technology. Advanced instruction optimization technology uses richer compilation optimization technology to greatly improve the performance of the interpretation module. +Offline Instruction Optimization (OIO) converts original IL instructions into customized register instructions offline. +Since there is no compilation performance limit offline, richer compilation optimization technologies can be used, which greatly improves the performance of the interpretation module. + After optimization, the overall instruction execution performance is improved by 100%-1000% (yes, more than 10 times) or even higher, especially the overall improvement of numerical instructions by nearly 300%. And because it has been converted in advance, the loading and instruction translation process is faster and the lag is smaller. -## accomplish +Offline instruction optimization technology supports virtualization technology in code reinforcement solutions, greatly improving code security. + +## Techonology Detail -Advanced instruction optimization technology includes the following optimization technologies: +Offline instruction optimization technology includes the following optimization technologies: - Complete elimination of useless stack instructions. Eliminate all unnecessary stack operations - Peephole optimization @@ -27,4 +32,4 @@ Advanced instruction optimization technology includes the following optimization ## Performance -TODO. \ No newline at end of file +TODO. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/business/basiccodeoptimization.md b/i18n/en/docusaurus-plugin-content-docs/current/business/basiccodeoptimization.md deleted file mode 100644 index 7ac3be73a..000000000 --- a/i18n/en/docusaurus-plugin-content-docs/current/business/basiccodeoptimization.md +++ /dev/null @@ -1,50 +0,0 @@ -# Offline Instruction Optimization - -:::warning - -The offline instruction optimization technology is under development, and currently only the old version of the instruction optimization technology (i.e. the original standard instruction optimization technology) can be used. -::: - -Offline Instruction Optimization (OIO) converts original IL instructions into customized register instructions offline. -Since there is no compilation performance limit offline, richer compilation optimization technologies can be used, which greatly improves the performance of the interpretation module. - -After optimization, the overall instruction execution performance is improved by 100%-1000% (yes, more than 10 times) or even higher, especially the overall improvement of numerical instructions by nearly 300%. -And because it has been converted in advance, the loading and instruction translation process is faster and the lag is smaller. - -Offline instruction optimization technology supports virtualization technology in code reinforcement solutions, greatly improving code security. - -## accomplish - -Advanced instruction optimization technology includes the following optimization technologies: - -- Complete elimination of useless stack instructions. Eliminate all unnecessary stack operations -- Peephole optimization -- Constant copy optimization -- Optimization of local copy propagation -- Global copy propagation optimization -- Explain function inline -- AOT function inline (patented technology) -- Provide more instinct instructions to greatly improve the performance of common instruction combinations -- Conditional check elimination technology. Eliminate unnecessary null pointer checks, type cast checks, and array out-of-bounds checks -- CheckOnce runtime checks dynamically eliminate optimizations. For example, an instruction that accesses a static member variable will no longer check whether the type has been initialized during the second execution. -- Other optimizations - - -## Performance - -TODO. - -## Standard instruction optimization technology (will be obsolete) - -Standard instruction optimization techniques are runtime optimization techniques. Careful and reliable optimization of common code paradigms has greatly improved the performance of common instructions such as variable access (50%-100%), numerical calculations (100-300%), object access (50-200%), etc., like some special The performance of codes such as typeof instructions has been improved by more than 1000%. - -Due to runtime time and memory limitations, standard instruction optimization only performs simple but reliable optimizations such as useless stack elimination and peephole optimization, and cannot perform some complex optimizations. However, since the IL instruction is a stack instruction, even if only some uncomplicated common optimizations are made, the performance is significantly improved compared to the community's unoptimized version. - - -The following is the performance improvement data of the standard instruction optimization compared to the community version (0 means the performance is the same, n means n times improvement). - -![interpreter_optimization](/img/hybridclr/interpreter_optimization.jpg) - -The following is a performance comparison between native and standard instruction optimization in terms of numerical calculations. The ordinate is time consumption. The standard instruction optimized addition is about 7-16 times that of the native one, the multiplication is 4 times, and the division is 2 times. - -![benchmark_numeric](/img/hybridclr/benchmark_numeric.jpg) diff --git a/i18n/en/docusaurus-plugin-content-docs/current/business/basicoptimization.md b/i18n/en/docusaurus-plugin-content-docs/current/business/basicoptimization.md new file mode 100644 index 000000000..a669dfc6f --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/business/basicoptimization.md @@ -0,0 +1,34 @@ +# Execution Optimization + +Currently, only standard interpretation execution optimization technology can be used, and the [Offline Instruction Optimization](./advancedoptimization) technology is still under development. + +## Standard Instruction Optimization + +Standard instruction optimization techniques are runtime optimization techniques. Careful and reliable optimization of common code paradigms has greatly improved the performance of common instructions such as variable access, numerical calculations, and object access. The performance of some special codes such as the typeof instruction has been improved by more than 1000%. + +The **Business Edition** greatly improves the numerical calculation performance, and its performance is **280%-735%** of the Community Edition. + +The following is the OnePlus 9R ArmV8 actual test report, with the test code appendix at the end. + +### AOT time-consuming vs. Business Edition time-consuming vs. Community Edition time-consuming (the smaller the better) + +![data](/img/benchmark/numeric_datas.jpg) + +### Business Edition time-consuming/AOT time-consuming vs Community Edition time-consuming/AOT time-consuming (the smaller the better) + +The performance of the AOT version is `4.1 - 90` times that of the Community Edition and `1.30 - 12.9` times that of the Business Edition. + +![data](/img/benchmark/numeric_business_vs_aot_div_aot.jpg) + + +### Business Edition performance/Community Edition performance (the bigger, the better) + +The performance of the Business Edition is `2.87-7.35` times that of the Community Edition. + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) + +### Business Edition performance/AOT version performance (the smaller, the better) + +The performance of the AOT version is `1.30 - 12.9` times that of the Business Edition. + +![data](/img/benchmark/numeric_dialog_business_div_community.jpg) diff --git a/i18n/en/docusaurus-plugin-content-docs/current/business/intro.md b/i18n/en/docusaurus-plugin-content-docs/current/business/intro.md index 78f15549a..6f5467457 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/business/intro.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/business/intro.md @@ -27,11 +27,11 @@ There are currently three commercial versions. The specific features are compare |[Full Generic Sharing](./fullgenericsharing)||✔|✔|✔| |[DOTS](./dots)||✔|✔|✔| |[Metadata Optimization](./metadataoptimization.md)||✔|✔|✔| -|[Offline Instruction Optimization](./basiccodeoptimization)||✔|✔|✔| +|[Offline Instruction Optimization](./basicoptimization)||✔|✔|✔| |[Code Protection](./basicencryption)||✔|✔|✔| |[Hot reload](./reload/hotreloadassembly)||||✔| |[Access Control Policy](./accesspolicy)||||✔| -|[Advanced code optimization (experimental)](./advancedcodeoptimization)|||✔|| +|[Advanced code optimization (experimental)](./advancedoptimization)|||✔|| |[**DHE Technology**](./differentialhybridexecution)|||✔|| |Technical support||1 year|2 years|2 years| diff --git a/sidebars.js b/sidebars.js index b4983d862..dfc990843 100644 --- a/sidebars.js +++ b/sidebars.js @@ -86,7 +86,8 @@ const sidebars = { 'business/fullgenericsharing', 'business/dots', 'business/metadataoptimization', - 'business/basiccodeoptimization', + 'business/basicoptimization', + 'business/advancedoptimization', 'business/basicencryption', 'business/accesspolicy', 'business/businesscase', diff --git a/static/img/benchmark/numeric_business_vs_aot_div_aot.jpg b/static/img/benchmark/numeric_business_vs_aot_div_aot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d287107c479fb3b334e012e10d4f9ed753d8f695 GIT binary patch literal 56874 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 BPSgMZ literal 0 HcmV?d00001 diff --git a/static/img/benchmark/numeric_datas.jpg b/static/img/benchmark/numeric_datas.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7964b5446c39c8422064413bcf4c8868cf39268 GIT binary patch literal 129183 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

~No$DgQ(bIFLc(XjEnKTHQHhgQ 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 literal 0 HcmV?d00001 diff --git a/static/img/benchmark/numeric_dialog_business_div_aot.jpg b/static/img/benchmark/numeric_dialog_business_div_aot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df478b69cab795ac7397626246ece363b11c48d1 GIT binary patch literal 48469 zcmeFZ1y~hZ+b}$vjf4W5?gl|5q`Mm>rBNDb>23t1Te=kmlmF!dxySu-QagLtn zob#UNdB3{;@1MP{nOSSy>t6S|d)5qGjb2RysQ1OC!~qZp1n5A2z||Na0wBP_!Nc7^ zfQN@iL`1lWgo%uF>lP9oItB!j2%m(Q2%nIUl#+p(l$?%&knj!%4ILvBD=RArH5VTz zGcN-REAurH5F#QX(k&!hWMo`sGD0%ufBU$q2hb2;ylwzs5IF#Y1_Gmjt{MUSYf`Td z;I{+j1{f9u2kpc8LkAQB1`N9T0w94w01PS^6#zgNJ(8>UeY5}LA|?7Cj+Nez;@(~T zjp%>5L7KRSH+yJ1>r$n8lCl;PE)m|YEjtBCC4%@@rvD4{Zw-h!6a@_F0HMG9Z%zN+ z4UDPeT1PfO%#W|Tw;Y2g|G%@yND(>P|9j;A3=LwVv|kwfx#b_+!#8XZZow6uG9=*d z2=VA!)%Q{>KG^z%3Oi1^!bH;gxo_lxlS==_d# zNA9ic6~G_(AM@6|E#I_AnVT3Q8|XKs+3aRAb5Q!m@h*DC9}7uT|4Dhxid-fV5qi-r_yI6fkna z5Cotr?&pAW_|f-|a7Vw2F3W_DK`06>@h`u=`+hJv6tRXDyn)tP_W2!CcwCT@u;Bc1P

+(&F}zXWdOhqlk-y0Zb}(`zP9ESrudv~3 zX;>AbeE6Rfi79yJrO(@Ev@c#LUt>@q9;S+{h;@|0jQpjLFjr1SZa(1243dPFxw-zv zevXITE96l$Kb5=REb=?$e|`bum|;kMIlW#VQmBW$0QbC^H|uv$+%LytE`ndX_&O_7 zB+~kb;03?+{S$-Jdpc`Epnt8yV2CZmRuXCbJ6KRs!BsaDPCXufW)s(6Wp`h z#un~B_?2tlc=vCdL!MUASCdEm#^%DqV%E?&;)ID`WUazpLls%}lQ3u@P!>=8kkya* zz7h0|xW70zDw(?BLaVSM1LuDDd{Rc{X-PK;@^xL zH_0hceDoVeNPMN!?{Z=~us-}IeE@*maPg%1;8}pX{EhVQO!-+x*2{lpNYvd+IVbsF zy1R`g_?c;Stk({(0xJ_#xoM2-el--Vz?_s!^V=!?zgwfe*|CLt*-20DcN_bLU;pXM z(-q90Ee&g7pQn>vKt(G$xBhe3{(aNmjO)!e$G6lA!1F&Y*$=(PVJY=u3^%mscxsf< zEG_-Va-fUq7_9%;dl)U$?FEK+x$7~EvJLfhUk}4mTZbQffbH$x+03_ozeG_rrn@TV z4r2_>F!r{>tF||s_zvoVzKwuk;)vn;!cVxmcoz5g+L(T}7x=VZTO2cfyObXq0sw@z zw6}bodQ^sCegt=|Fu!P6^Ji7wnq1_Xz4Y&70!Bxv^iwz=KB5T%0Ahwub=sa} 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 literal 0 HcmV?d00001 diff --git a/static/img/benchmark/numeric_dialog_business_div_community.jpg b/static/img/benchmark/numeric_dialog_business_div_community.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84e92d3b667073ef9f098660a8cf08c6137b1c8e GIT binary patch literal 41013 zcmeFZ2Ut{3vM7FLhNxteI1EuxKqN~V7=i@Jk|c*ACyA0_2$D03WDt-b8B~HGNX|J6 zA~{ITNbo=Y!tU?x-Mw%3?%jR=_rBMszVn@~?yjz`?yjot)93t{{P7hadMGU?4S+x( zzzBT-KRyGJ01g%wHWnrhHa0dcF3vT)8~AwFuj5gYkP_aYp`wM+P(h(|OdKq94D5_h z=$~>8{v7ash~jMkz&Ky~ zn=GOeK>leNJ1ix`lIbXjmSw+|R^XR)`u?W>s>t6=gDTBk&vkvVSLJ{Vm3R!>251 zBDdyyn^Mqmu)yWVd$L~6+WcWp{YH&u{f-LO9BlVeKTz#PhJnZ`;;h37U#3Qz*YG(7@JEi*%mwu z`V~GJ7LE&rJJtRwZ0g@%2+bWXzO%-AAIhdFuro;Jo0O60q;4<`;S+A z2+DZ32{h3Km&{xuYwF~_$QUZ8d(1+M(I~9oAHcO$KlgOJUt|Xg;mYJW)H=A#SyT1) z{8^Wc!?y3s^uocJRYObTUgtdaoYfD>0{Ry9BQvYw=q@6-YhkH``kC`*px8^rKo6~( z(IJpVC`bKOSahvR?z}}>ul`k)oKqcoh%6tbrqICn$NInPZT~h!*>vw=ty)yEPmfI^ zqdpG}t;1Vu^_d<$urlOcyliEb~Hqv}x6d*)5N9XgFkU}A8c8rS(J$v;CO z0k*FI+~bl8zC8SsIGe7nRxWbW+1Pwq<2?n9;dx>)KRX`UA-L%8UXC$R*vP#)a>ttRdg5 zE~U>H^$1JXc5m-{&NBU+xxWOiC0h8QKurVkqu}HCnn}+Fq+zaeR^QJwJUy{jEzUhr z8LyS^6*!mofnw;+wzqaYJA6v2y8W{V9$2VF>{#aq9%8I1g8J62w|=FFN7*|z%}beu zjwy@f&U}69>{#l>!D8(;#LF}>Jh5|xS~db8@~*WVo0b=IkJsIhyebdSnL$MfJkDBV z=X&+}iL0dY8#hxv$gpCe&?!Fyo?zrxx1&> z5%^vzg%}#A5F>zDVM{}TBxi%+!F zlm1jL|3*OklZ{D}c6#_<$^Sq1$Uluik3@lkf0FJ0ZgH?kE5F=7WcUC1%(s6sD{?}d zFnf0pps>-KLHnR0BEM5*L0Zhu2 z@5#FWSZrhWVV(e2WYTUb0x)3_4L$|%M5h$tO#sytU({DXgv%W5BmsE0zC`Z=csE0* zO}YUHVcp6aKoRLBbZ8C`!V`LiXMYi!G2c;sxp6 zM!-04mDfjfalZY11s`2BnV5H>B{L{cWVGF3XD>itdBQQz3-CU5#e-k#1R!A*&(k*m zJZYGZD_XB&XB^;8_LO_90i%8W@VTBfAi%>b8D|E-BE?GmS*eIqly9^mx>66`_A3=2 zpHf9M%$PbcL5}e4530j3Nqkf246z~ z6CdTO8U+zRIzHc{FxN8cM+$!h`1JPczB~p<``g}|P61f2wm)*b+5&J- zqRnQbvH+@@-J8SvD2${-zVEGe00dFbGXe*2oF1+(P6D9(h~~PVf{r$I=}iO(JhpFt z%lO4;5*WXPyg@hXfc*B!>um=BdZ8(!4p3ZQIvW@1MOQ6T3!ei(G2{Xn4Ud8N+NAfr z`gDL*a;>0H>k@#wMEOK?5WrV(;+%EVH z%`>N0FMOQ`0G7|!cccIcLcxP^N&wUepKKceKqaZc78{0HfWX*WuNnZ)oQB3Pi=heB zE;46_0!BVs=_i$gFdd!jGd58Wl_>Yk1OynG(El=(4&a54al2dsxGXPpU$3I283BtK z`dQl?v^4MI8bDyL@0Icl4Q8jR)ZEOE~ zQf35zZ%0t`3pc>9Jqp0O{nMdNTmv9jjv<_AAK;e>@y8n^#UDOHvLZ z0E7VsgTNSAzb{%rURaFu~zuh=KXx zMQ$xg2>lf;J9~QOr}Vf-?Z-V7M@}rbrhAernmIIe&dAStn=t1~>K9i`&71B$#8p26kq;0SafuWSwr<2yH?m3$7IVEaOs8xcQf@#l^ zUtYbZagXl*|6%w6e7Ay4+-vWf_CVh13#N~;jl4>H`2&C|$eD=&i~CDr?2#9hko`%* zo{Fvpe!eI94Kz^~lwEcmT0)Gb{F47};8`wUkZvREvP22akG%WjHuxk_k1JInZ@ z!yzicDk$dPuue_&X6cGD`CbGy$vv|B)r=&McMVFea7BC{8^yE^hu_ZrZ$anT*{JG+ z8^3}%mq}dF2g|>oQrSXx!T48(2A>H&ST75^@>R?cE?>ay3stYFUd`esa*S8eKLF(D z<&l)L<4vQ?)3+Jf#hsVaRw63jy*(E%gI#QjA2AL20i8DbSllx*78a%%*(;_`{}{|n zYs2T1ob!@cTPdWftdr_^bLrkQq{b3Cl|?cuqokJP#% zzFN_geBa(-FXACkcqiuh2d}C4(~1g)J*3a`irgW0!}T5HXEykmvr*{5az8UxcV|wR zD2eox_JI!^8CO|#yv}G_jGPNNR99b)i=A=bbDSw%d=a&xpqF`Xa(Ri}uB}7Cebv8~ z_>=Ifgz4_C-8_!_&qOIHdOK~k2|N5g#2p-b9C|d=xug7|RHpiKh9Mr;>XL#liAQLK zaY)MR+@yVzM%r7+_{W(W?500}iiW7T&`M9QA=SQlk-h*CcYWTp{fhcv4(0TZhX?#P z<@3(zyBSzZGBLv036ou&_QG6_Gtu+x3dx~o4$uk4&s(fHx~TA@a}6nHKdt=E3C7gT zK4ChfNdn)HI8^kDG;@DP&+JUvN(F7km|@G(62W1o27RYD;rYwP_D;Rk_CHN++rYP8 zc9SIh(t;o8D@hbOldqGr>c>vu{~5XikC4m!PybxvcdfuS9XfE}^s9Q}rjKC|v3(JB z{=1SORq8}`M42W0uDisi1>eMca&eYn`;YoeR40JRR`ov<{|k(;%sXfeNzQcPpLGx= zWmHfIwZ-P|?EImG6tO8kd;Vghc`CY1rVmIsOh@pWWr|1yMojr7EEm!vUz{q-yi@y~ zx8D^kP5O27pDl;KeJl#PS5Z=V?L*Udnrs2 zR~0QS>_izAyCN18&(AE?VcxUZ6Mf;fxKu^|u>-BmP6&~vNa!Z6Z+(7`mKZfL{W&gr zpq+ipXiSzYJ4wrGBGi{ zcf6Fn#>4limtgX>7HS%)9{l~<66t()3pnlZqt>aMK$@hj6TML<#b-D2QyGb(H5I;Sljey$cDVO0A@U~| zwJ_OLi|+9p>TMn>ikS-O>_tTOJhI?pX5_s*gs;vh%i&q1`#8H_T_STIl=}mTgq-$u z;>y+9NL#z}vkF7%y?x!-xyUoeCii_FoLA9g2VKr50T|E3kl*8tMv_z3X2PSDBhn&m z@9Irm)~A^-@$9K7#Ys&fFWW73MXZvUsam2pU;4Jig?*@~yog{be)iEevJy|=>v6t6 zvyzg&E;NkM_iV3Hx|Daa2g~M`VNkzb*YqgTr?vfA<<%-bRIM{i?i}VTmMFr`CYou+ zz*>nj&i|X%|C9Rv?Llg?qTeqeSU!E(UQ|f@=HJNmyUqB^(tj8J=D7`AFf#M%Zg0hV zsJ{2DL~XNwC;R|9UmBD*meF| zr2n~&H`qT6Ehy|VGm-1kph~+a-gk12i&}}c{*drxavH7LyO^vSpT{%VA%`}Xrl?l; zou>y(1an@d#q-}Y5&X)Svo?8ecErdwJMr$R&l3 zzrG(hoAW3wmantkjz5K0T`KqMNv@qUB?BTxdQawE_p#VO+m7sToGfLL`+F(R?w(Y% zX1PgK7(I(zn0T*wI##vkJQN|!9}IuD(2*OuHe|7|P8^;5L7apm&C|(!jOAoGZYzPZ zlrcu>o<35;J7y2Qwa6h!Y%Bw3jAB$G^g=#K==}kZzL?SHsSb;$hgwm)D{Psl$IFR4 zz2fOyxV8 zzf@FdymZGS2My`m_%kfYec!NV?YJO2=M`Ja35U4p_870Ra_?v!!F6Vyo0sZNBDEq04c8}UssUjz+sf;T~68=4{oFTgEJ?FSWMuT;2YNQhPho|EB`_Au3?z8t^R%0t;j8RHb~+2|vMC4a?b;;#g5B%J z5glE_vF|QkbcUCDhmP-irxNA7jBg;;7#5M9xWlZ2q-MOzxRMIzzK0fG;irCS{yBz@ z>&Ru1Xf1BC&U%AGq;7qXBR|t(oY;Celjfe+F#kK)VKl!~nrWONlf%22*Kv$C6eoB{ zq!LG*S^RC?ZmW1^$%C}<9JTPy%B~x?)AC=ow@aAI?N+lLYbT&$TJ;|X+l`Re{UKW){(npwk z9ds{Il0Qe!fTA~SOUWkB7?wp!A4JnK?8U7^ZR-1@d1E48YW4`h%OB`vY*8*gMYJ19F8GE{ZQag4^B{UqqEUZS*?d$NlW&ey=$!v6$z>?u)hrUMZtU z_Xb0@uN|@pk;CkEF*JII=#d*Q6~=V-4eIHXzKuk-S2HlMklP8*`!hU&hScS>%Lpfy zbw19PO^8^v`3$ALX>c)YyJq}R**7$7$wl?_bGt=xbTE^_Be`s@55=~7RgnWT(R><< z>?ur+n=9|A(E~xt!|;Zjp7~474w?qE)yL*2WH>W~T86c2^F2;l#R*N*+fw}jaLX=8 z?{_8~wouuQ=jfuljNxJ|8ZM}OE0^nOm>fD@eZ(GDCB2s+FUu%Sk`OreO1B|$;(4Wg zxkSod+;>KuiH4|&=R1!CjtzYkqG%z+n^ICrq;d;U1GXdFa1XgyNh-m5^Eeaxz6|pU z>TZv_CSfP-Rx}iCw)^iwzdTa@KuN0KZKZk3OzHR?b=MS3c8b&{vdkutzlYV)FehJI zr!yrjFMUXqY@316y>2Mt{&RGHKCdc%gy;)G3o&jh>iJQ|?F-vQW{D1F;k&Fg-OHx( zEQ#oOt;B80W{6=~yvQ>yP<^1#Zkgu9{5mY2ZRieso!N=#ov9lov;>*!yc{le!`m!* z48re5Nt=Vl@_WG@n7DY$TO+r2+Hy3NKY_b z7%U+zJZl{vWi7IIBBC#3$Qu}K`?bU<*=QrHtjmIBiqtf{M&1b0hjevyN7=;D@N&5) zchGkhVhI1VAI=<>Q;Qbl1EwnW^`>zgx!%1|XbqNYn?5jpTU9M$>76xvzmmT_jVX@7 zw0q(9qnahbK5NM(O+Jc#4r_RY%z=Qw-ks%*P8dV(Td9JY7z8<`~&DHi2!k|YGhTb6o#IbA>s zycw1g9>2XHCn&1pyA!t=7PlXNF}Ww$yUcs%UIm^g%t<1~@0OI4B>A)Yp@PxNQdwPw zYzCH_QtHuUZT+&;jJ1LV#~maO1~x)NM^9#B?3bCW7?Dxh1G_(fvgdKRVbr`zO4fp6 zSzIgHej#1FMIt=#;U54&XR?VHdgtp7F@WCn!o&o?kl%L3Kmaiqz3)ZD$;FLe5LY#F zBvp|>W&N`0h29$z16|G495yqD$=--9q?f{x|86P-=R7?usMokzwl1;!Eujr8oUu>0P4tnsYCbP|C!Q&N{3y*O~C$y?jlC%ESr$H*Hv&LFF|3yrh$K z)HIE(D!KV}`{RgsSvo>zMpZDy~R0)E#kaFy=X!?a-*+6kkA&-V< z=%K8}kwT*Ob4m5nbkuY~AfYTE=SerNnNtv*RV&?12Y>GeJ8}ehiEW^j_X;;+%Q^_W zdfv=_GOtnMQ&I|*mmL`vc$|K|7#0mZ>&L4o`!)viDhixWdD*|Out+QyxizbtWgu@E= zX>&s=(2Mzw4cHIh;ne5U#YcK-hdE{t-MQ5DYpmQMJUrtsmoF<+-V3)?CayKK8CDV% z3%UYwu>pruM&ZvSD}@=zN+YJ_ho;aD!wv?Ksiz*#j^*uKCpYlWw{{nhFb;E^>?g3lH21c4528L)48^=$hTXO4O&C24M?jsNi~~b;M7fk^?{X6DrT}%uMKyeV-~R zC=>`W4}SC^fD{^W*>STWTYN9wOm;wR-y^1D_0cyw+Vyjcx z3EpzmC|Q6-x^ZZ$qAq{%quMVXm_p)lNvJgWQ1kR)zTP&)1E|cI|9eM_{!2ZnnwOMe zLG4~dpNa?718?Wvdqde(?NBQ9sAL@_;3hc1Eu1CWVa{Jnma&)g-f!Uvx~s*}`^6A2 z1_l@#6C1s6jGj8^lS^F0+z=A_I684vV^RhTPK3lG$5%v*CjJ#Sc+gwNL%RX7pXSw^ znD!)*zi%O9iGjNZ1{(L>ee^mm6nLdyaB#2EDDV4fUFkQ*%?5LRSr}4#NO%0{981%D zqU?I+ATwVdM;pWI63yC%m;yrMBIQG2D4q;Y_h+qa1W=oGWRN&se=RX4(=66Fm~4^% zRe1wv!@FGD2B=_(`)-j;IwmGX3>D$aaj@2mX3>+g~PdjH)rxQ0Xs zMjia^Bx;tB|H-AR_?8gu+J~e3=NnZaY5Ygm4dq&O7ESIta@}Zj-LWqbF00$m95W5* z!?}{FsjksZTiD3F>**7J;~Bl|qkr9vOgfXNkMuFl;GJs{vAI8Q!M88J-0J=<@(bpl zy~SvTTPbt_Cp^>`SR-?G?(WV8x#}yacl2w**!RUbWwSn5W{VS=vBL_0l z;VH|ugp~`Wtp8Rh-(}13?$^5M_?K{F;GxA`XkcK}wVI;ve*whoS2&_7;Pk@>`K5PV zZu|fqc)y=p3kl|Eh}d&&!S^nuZEGazm@fW9&h|z;3bU;aE)LC>wj^9-Eva(i`4N)|L$vCM%n&h_Vcp> z>VNL~zAx|Hkz|0KtGnGeZfagrimGbV(~>*CLqMdpdHUT12kw)=GmEI=9QE8GyjI%H z2YEwbFXlc~R=%*f57RuS4d;Cdd#7VL&p5fU0Bjcq6EJ?@czpN!o749C4Wg#Q&=bQ8 zNw(%)$9F9!h8uPDO$Pk@HKpGjT-*cdp>|xlN5}kM=jEAl)=sC@M}@~vDTEe2tQB%_ zYd(e6WMA8LY}YfKn5a1r!WchD*tADxy$ToE46zKHwk9msPdct z-Xd^E!|Qvg;oUo(hlW+(WxnfAj4k~l2C<)Fu-qbKsHc_t0mxrIg%Q@x@iZg`lbL@* ztAjg(^G^4IJ29VXO-+VFl z6cjk5P8HaaJQussXw`ux>FF6meqBNHQiCRsF78{;>>1;_z(k#}Pp$qLEaKQtHq&+1 zN71YuytntR&21!vtxcjUY_(}=J5(?)>wD!Q$i!3f^{TQtU3ft4hoRX+@jgE6F>{YI zf}+-r{rPIaL)9*n!W3a!|ME%HoL$fJ2sc$M9_CA=1JYyA5^{jDHERRkv{ZKC4SY; zxvVd*-6Q@1)SBhI`32K0TgK36(IFJ-rtw?p2d!7~$7xP%+tp~&ztqPtp%PGKoOa5r zJ7jM2{0{~tF2DCcY8=e_yYByMnm$5b;#!a1B*Ayq5X|5CyGgy`fg+Du=OFNF8Tw1} zq!UZi)zf^K*|qUC_s;d+y?ymVZz004p8L5-3pi^*Z`M<^J$rFz0K3!oZ2QBn68K## zXoj!1FkPIX<8d37DYo}@%!Ssoo@x>o(^Mc%KQj8*WC&qn;{N3Zm z%t?Da2d2sgVhvPmj2u-4&;mJ(g3%q#-*e2m-qA+;^zM^4dkxf=3ObhC$k8k4y@_dg zJ=SZxdwicRXD`m!BdrQdjn*55)M?-(rP0KN{M*S}9 z1>{h?mk*ZD69w*CD;Zh5EqI!HH0+ZdOdb|eN*Y~a@PvaDJ|+%(i!@4mJzTIaqC7E% z$A0fi<67mxiq8XrX!M-Fipyz*HCizZVyfjqeBT6)Wy*dMgv~0up7h<=7;~KRJy>h> zoE=Y!oVAph)Kl)VxGyp>9RWi#>*(6d{~;iEkTJx6x#c9IvfO*X(8QSrlia*_=jEGM zGUO0FF^>oyF|LuAmZm46SA$jG)xModAE1lLHM!dR0Vrz>HD9~Tq*V~dE}NP+UJv-3K8E#Hg-}P{q3M=Q z@a)U&$qE$}edCgseP$QS?!ELvPi373TNJTUo{peI7S^_wr6H z%^qu@YLng~f*k$6diMR$Hz5IW#X~3Qycgn8F$>zzXe>tO=`CmybM?w4fVPidP8D`Fwa77}#BHsX-Y zf6SPdi5wZ8IW#_)|7za5#iuPkk@Am~|Ccxqf2TtdvpYx1mBoku12F4=>I#*ZJcAlayoB5VG4u<|c@5R|Cuas5f(K zKY-`zArR$0ct54H(A#s4f3KhXZ+6Q|MeAOxTMM*Y4@UMxm-0eJ-93VR(>&5F;o_D; zVNmqLPX}Ys8FaueL!;;`j?GUwz{o^RLcQ;fT4KZo*m1ue9nZCpDTxo^)=A_Y0o3n4O2 zz|F^f=iqC~LzTgiU4ZgkLo9UlYkI@E*lw$j9?f%z#JU_{3Q%DMSc-`<40u>d(&|G| zC0-dMi~2%z(ha0aryd?$1I|3k*21nlP>4H5p$$sif;VL`9i=$mQ0jbg$;qN=`xym;(n=T3_=J)vx4N zlVv7}BshKGNb&D=U(-qvby2++x&SJp85@#S|W?SQW42-L<7vKoi-RH=AM+jGC z8e37mp01<994SrWv<4|W%fr)B2d(7uw8b}a!$%#d5L^bz+jR*nW%zoQq`G_ZLcVlr z-ZJL+-!oY58)O)sZf8g{D*1?KXI%^!kXVavrd{_vQF`ijMz@+WjD4|Z67vI~crCa5 z1CTpBFE_4w@S0~3j)wWz{!9DfF#af=niFPHFFB|3XmM}SMjBoz1 zdn49$vUpXkr<&|7`yOxK_nXf@+-4r?bWsPR9Ll*DwuD$wAi}Yk4pW0gEvHQZIZonk z8YOM%tdr}EVKh2~Ln;o-$VvARiT)rqX zp71+fP6^~^1jdJjvuwHE1D2p-kuAakL2+)eI;1153X|(XXV3Yk&4{&?>K7JEG2EsZ zR4;OzHHR6}uUR@r1bV={m5jdo#iw2LIYXITr4qC#-O6(Ocy@C#`Bky%whI_TiBs=4 zlLZ>4IT8o^jXg$uOMD0PDAOqFoIRO8djnGPmI6C%T>pO8CRUj93HjRF(d3&WOB&SQ zC&EVGy1iC@kV-@qT72bg7}~UvX0!SYT`#^p%F(Kb?dFF{jBoOCDJ}~=JE|Ufl5MRN z;!*x>s!#5kVb}Yt8nA-2C~zW@cSu~sjw|1)IP%76dh^w|YOwI++_z`XUhd z8dDO^eEHyVsdbKCtuX&KOJYn2@jj^Hq|_MUxtvAYq4V~MOi5T8sK2@llK!^nd6 zqSp)bqiU7-&>B~nUh25f+%aqu{gF_!mCd^B!Hd2Lt_9#gJFs%u(USC0V5Se>g1Mpl zh`M%0@hN)ktR5?*VH2z`E-`Q>H3&AvfhyYgZ1F8sT9i_pppyZQyoGn8EYg)43K`55 z!O5Q{@-K@%ZmQj(a#T~Fkrps__AYsD5gJUaW`!e|+=egb>Z;@U1Hg~I>yh`?z??`h zaH0~h#Kv_*Mbt09+aI)UE_!axqeLGPyg*}+`9O;^_=01}ullC)kou~ta@=V3N_`2C zyl`F}t{Dv{n%KUgvO05A|29eI-CtVbr_`nz1qr=RQ0KI?ti>a4=@Na{rc7#P%<;5y zFgl2pQ^nDPhs?i7lrC^)?$TLyVMmdeew*;L^4mUZV0a0^U2w||-Rk|m?n;5e64@n` zLz&iv%P{m>&a;ws)OhiW{A zX*xNa9qEvG*t9-wav5ut#cAj-@rdzuBu~Qa^%HZhR#A`l%pmb}QEw^kT-{f6wGm$y zS)U870b6z6<0^5*(2-d2OlX^bYstrO{i8gWbCjar`GPa5ggoh+-qf?)r|QrL$x50V z2vOv|22;AVK!j6GjT2;}Do|*3X?`$kJRH=jEBT@lv!kw%k8dO#eemP;Ds$F`4ZOLV zF?5D%MEPz@-ObE=vUDpo5O}lc{g!W576t*dzto_CsE8(aKKbm~BWF<_*9A&TR;#2Y z#0MVP!EfJhibEp$bachp&tCP7<`W?;XQs{BxO!*rBsQ+3xw^qI;a^%gT({jT=No(H zU*$#UESFfWTj_Wn`)kI;yh3c;nafmh&(4p>?koGC|5!sH@PT$-Qu=r1M$PEV$-{-A z+z+uE!TGAoY9huymE~Ei28s_s2T86G53n#5tC{ zt}gC~;Q&eHI`=fl^?{Z#jk3bHFrBLhs@Z|Th0~AH!bXVbr>A?|Q-+FSK8)eZzZ)T` zi*B>L)1oe)GU&mZ&IP6^DXy+2wpW<-)z=U&`vH`DwY*XX2L|We)N7*AcL=L><-|>K zH0xO|OWi$@QJrm>J44HgWWf?lFdF|E>f&&<=J$Ld&+x8yN2+kioxwPY@W7BOtuLJB zr8OGgpOuzI&LD_iq|Nm`L-b(9UR~(md(f+vi3n}9jB=E&cfh3KQNqbD=LtQ>g2-g)t8$zp=VAEZNA=)}5!w64vX!d-U3ry{%4I zFGSU#UNMIUGAj_E=>2JC@-3ig)d~p-Uf=X$Oiu$xCP@N3|Z<(+1y@D$7BLxI=T~eOAq@yz0?%AN8e^nP~eSS>0T4zV2Ng zVa9v7KkC&IS_4>(U3>p=-8iPRv|->Tb(qAgzEWuI7Jk8j?=A6fUp|Sh(=O$~r|Q#Y zMAI~Gz+Xt4v;er9fkKXg*&b#qVs#Y3x&9C1L^Qy4%?<~G(a}N7)maPu?KNhD2|X1W zu8p`<7d2tv{OndUwhU|ESD?1UAYL2QD+z&8fc%Tk?XaK_A>;sQ0HJn%X|K$&TonJ;5*?< zV*7>}_~`hcx=@3kD8nj3l1Sb3wfJClT@k3$g{URl0c-oXjDaBF!RXClcWW(sE zR;uCYgohdOoHoy_q08x=NKEwM6Ao=Ol^@_3{ttk0%0@c{10c;eDZP**O*%Jp`>SM#kG zkG0TK4QIMD@e}tz)UE8z%H;44)6)Dq;@Q~5HqXR0N))uJVfJ;xdzeb>rBsY+T9k12 zZ(S1v4VUO4e{-Rg!ms`bliv0HD|+|~42Q@;Mb@-A{`UZ{7#|;8VNbZF)W}kXcU5DG zv6o}P-riG#EbXYE8$L{~w&#e~vVFx7PVsoydMBc~T(I{^Lc&Inb*WWRKh=DzNE^$>lV@FQ^-MCj3h)+XA=vSBXvA@5t1c}kB5XduVb10vBPWhXX z6BnOMqCdF30SV~5As=@|02qFFnQ%>*ns!9=5fDkVnk#h@lXSy)K*?1AwpYjm4t4$k z_~5?2+=wGG%L!pm$0qd+l(oEU@E6|}YWlp-hq z)6&SXSU6hQKvGBICB8O1lxXd1o-jQq50gSYlcnD2eHMf%<#Oed|01QB-{F%dySNej z&KQ$5;M*m10Nz6&%L66VL`XZ!7tzc_Xq6QZsdAij);UrY_MlqaGB60PJX# z$4StuWV^es-@Z>Ap4OGO`qw@V$#zHyD+(8B|EU@YPF^+Sf!LoB|C20$aX$H?RE?wo z0AWP9yBE757E`u3gsZP4ABcCZ%TwYlJs*2Q zSeXAP@6ylhlnyl+k3;qFE^V%WS>`73q3`ZGRp_X6HXm_8l$152>c2GtG8N-l<@&1? z+v2ipijy}XW&gFj0l{S#>R;)2_*+G3#bD*f#?oYwk+rnzV2CNUB?pb?{KUN)?~6Vf z@~aq1f}GRuS7HdxNn)bS`TA{9-yguj;+}BDSh%hV>XJ8txpA-9J%m{q~?LSO!I!<<=pE6LzFp%pLpHk?OAc17;KXqgOI!yD? zmo6L?^w&s{fjEU$+^TsFzDEBS_27^80+7LR`;cagC%Fga%|uNPw_MAZA*S&%>ZmenDn3VwST zPsh%cU(|oa((m^W0+4*dVqRLq9%RNj!g6pRP~dcJivm(cno#FWo=pfaK~^(_l$wiv zY}C^%njUiQX9`n%-mev8X^WDPb3`xorB+#5Vg7?DU#0K@My}9j`8KnbdQnzN0~;Qw z^Jly+LK$Htm8&7tuVBg8Te1wzuq7~-3gd_X4qjgcVaPzodT1Z20|nS9Mt-_! z9D9=H?h4+{ll8Tle%>fS3K^ve*&-*kW^;;^_m#sOpKJw4gU+#!BDH2Oz!mbu7m zn!NO};@`{ubz?yVk_|wfB@$HPA!vT``&&cE_j`Ewq{X2R{*!@Gpcles04SsC16Lqe z#4Eb;mKR*}3D-Jpg`D<=+s1;7gNg>D#sGM*oiS{=rGfw~*3!tJpl8Z!TN6%YM3 zx7Z40nuI0gi!FfuwHFFIuNgx%7wJGnlrFin^67-0_lXa4K|S8+%fL%)2O>@uHQe69 zvjefB+jPU3W=)Tg${S9c+;Wkd6wC)&_x{v$LNAO^P1LSKI%x5VWjo#+ zv1=Jqtob0}dpV+K3)J89-TYdnJKkQJeJpWD7VRWn&!IqvVB#zc&okB{8Y}OXy^Ql3 z^pc4WfHBJ?el?uJ0YZ&>o4-=!_)mfYu_Ty-To}NnN#Qv;I~#PqkMkb_W+63VMAPG4q=i(v4^fXba2|2*co!ye;z4uxWrt9ze)@GZ+^fs|I zSj@l_n>c7?gEHGf0ewakyB+z3H2~q62X3qr_ovx9LEzzlA?NhX=bzOm1r+=U&?gX4 zm&A|rJBgvm!KqCl{|y6*wej^fg;Fj3j15keLpLc(W}Dr#{eO>#@Xxy?L>PR2pD~*z z10`3{UrLja*nhzxl`@U+q96X}Y5(u=nf@8BLC6O`fH+E7U0q`7<(s*;@Ou8mZuOtE z?SHMJ|GMJ-N3o~?PQxt8_zW!3at2;wtz+8LD_^pTC@%W!PZ+e=m!kK>KFVJ6H-DJi ziGyD+nfvc{cK?}<`=9a3(a!D|odg}X0)&oPocbt`O|EL(msy;}ssLH?L3K5wstHoa zqtfwMJ=6A3q{#?30B(~70g@4T3AhP^-|T6ywdn~8X1-&9q8>9AbLYuqDR8kNwh8KE zpA#DRCt-az5gJX9y%#Y!FnAtaZk!R6gt6_}NfZuYCJ0txJiNt*5j)Zu&P@0s?TSV! z414yP6t2e-@dbj|WVZb2`Yo{Q9uV4BvE&S%B#?_grKyXMfY{+dF~EG2pNK$$bR5}h zO_lq2`WY*Rn?hCTtnd!2@+e{&9m*{Xu>W)ATyacm@g{#dTC*R3@def9`v=GEvxqY~ zh>T-rAg0>eu#3~k07NyRtOSm=46YQ_^M^q~oS)$bqf%HnOa$t5$4nE3qRghZNrf`f zb_ba7g_BXNbM<4g64Nj@xc>VryMa(H8YwqWp#Nx9+7RP5{1qN27#BqX=;{!>QcQdY zGsfuN<-@BuJU@cI#Zo5flEwK*@5I>IG>NSeB;wT4+p2~={q*vCrmPFUD8pcI?xG@{ z1+H_`QyQ5w@U<~=kN8QXDp|&?LJ*#GM=N=tpa~dTFZ#=DUBom#ZcZES_9p+qcMvE; ziUJyanZp?1C4jX!*Lp^U7L>FRDk$#l@U>1E|L!XW%vO-c2iKd`jwRbW=MoC{uo5HQ z(s$j-e1!fJ&M>ixQm}>lSH;j=l5JQ{l4ghljOsp3mT?w=VZ3Mp6Rsfh>#lVzBj8R^ zdpVv8{g?SJzs_$$3*uMX`3QLkXxIDwl{rv$5>L0r)is)-ESp!PKmtF1(B1yl%T4de zjgOoXF3UTkve&I}zTmbBh9w3pMQ`(?{Iemsn>QRNP}HX@L}9=q#^cb?mD>_7dmF=1 zsKi{ZuZufSildlvPE#WyNN(q?OihA@SH_$7_G!ghyUhX&n$`tn@sdWMZ*5a`cTC;*oi4t5ENP3dXhEf6yF15MF)MmGsWTo&5DhTM-gs)S)bn%u%sOV6V5 zKUW0P2pZ5y(vhB^T8Tk|TLehmS2CZ=*ZCt5cEpl9;o7^G^Ph279F%F%ugZ9uNbYkl zOGx3P#<#axolL7s;kT6a1DSD$Nv<;p5)5&>@JycR>r? zc;m%UFJ72&j(L@rc6)m8S1AY>A6t&j8j(bG7q4j_CcbKkx%8|cy6Jd>yh)bsLTn#E z5Ev#rcf&4-C8ZO=A(8^iW2a$zuOLI^L0RxR)E(4~#erU#pumTn-j_=0$}*3%92c;c zu*`{`3MdP=7{wl$8mf(EdFT2OPcsn^3C1EEJo;k_jDQ{&%_`uqC=QFQO=1moiTA7rUVI%ZlLt-)%CdNbPfGBQ=8+Lk23&T zo?BA|KE3yc#Fy~vlprawk6Tr9YWf+eSm>lSy^ro`YVT4xXcKevtX80Z#1oi%n8kxv zA`|Y)WJS+X&IOhX8I^E@tPQosU&qDx=z@`YfT05h?1mw0KrdoZcz6t?pGl-Cz%w-K zIBEyDujS0irJ#g|CTFE�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 literal 0 HcmV?d00001