v3.0.0-beta-2041
This was a performance-oriented sprint, especially improving recursive call performance/limits and with these changes also execution speed was somewhat improved.
BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22621.457)
AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
.NET SDK=6.0.400
[Host] : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
Job-UBAEQR : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
Job-ZIAYSB : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
Method | Job | NuGetReferences | FileName | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
---|---|---|---|---|---|---|---|---|---|---|---|
Run | Job-UBAEQR | Jint 3.0.0-beta-2040 | dromaeo-3d-cube | 28.906 ms | 0.0383 ms | 0.0320 ms | 28.913 ms | 437.5000 | 156.2500 | - | 7514.51 KB |
Run | Job-ZIAYSB | Jint 3.0.0-beta-2041 | dromaeo-3d-cube | 25.401 ms | 0.0171 ms | 0.0160 ms | 25.395 ms | 437.5000 | 31.2500 | - | 7165.03 KB |
Run | Job-UBAEQR | Jint 3.0.0-beta-2040 | dromaeo-core-eval | 8.635 ms | 0.0177 ms | 0.0157 ms | 8.637 ms | 15.6250 | - | - | 324.28 KB |
Run | Job-ZIAYSB | Jint 3.0.0-beta-2041 | dromaeo-core-eval | 5.992 ms | 0.0180 ms | 0.0159 ms | 5.990 ms | 15.6250 | - | - | 320.72 KB |
Run | Job-UBAEQR | Jint 3.0.0-beta-2040 | dromaeo-object-array | 123.631 ms | 0.4371 ms | 0.4089 ms | 123.593 ms | 6500.0000 | 1000.0000 | 250.0000 | 106178.11 KB |
Run | Job-ZIAYSB | Jint 3.0.0-beta-2041 | dromaeo-object-array | 78.176 ms | 0.9794 ms | 0.9161 ms | 77.686 ms | 6571.4286 | 1142.8571 | 285.7143 | 106135.51 KB |
Run | Job-UBAEQR | Jint 3.0.0-beta-2040 | droma(...)egexp [21] | 324.274 ms | 4.1804 ms | 3.7058 ms | 324.941 ms | 13000.0000 | 8000.0000 | 4000.0000 | 257107.36 KB |
Run | Job-ZIAYSB | Jint 3.0.0-beta-2041 | droma(...)egexp [21] | 308.247 ms | 2.6686 ms | 2.4962 ms | 308.574 ms | 12000.0000 | 8000.0000 | 4000.0000 | 234249.26 KB |
Run | Job-UBAEQR | Jint 3.0.0-beta-2040 | droma(...)tring [21] | 459.941 ms | 31.5089 ms | 92.9048 ms | 501.092 ms | 45000.0000 | 36000.0000 | 35000.0000 | 1350898.06 KB |
Run | Job-ZIAYSB | Jint 3.0.0-beta-2041 | droma(...)tring [21] | 428.282 ms | 33.2879 ms | 98.1500 ms | 449.073 ms | 46000.0000 | 38000.0000 | 37000.0000 | 1331694.12 KB |
Run | Job-UBAEQR | Jint 3.0.0-beta-2040 | droma(...)ase64 [21] | 78.890 ms | 0.1867 ms | 0.1655 ms | 78.885 ms | 428.5714 | 142.8571 | - | 7954.56 KB |
Run | Job-ZIAYSB | Jint 3.0.0-beta-2041 | droma(...)ase64 [21] | 66.628 ms | 0.1255 ms | 0.0980 ms | 66.606 ms | 375.0000 | 125.0000 | - | 7790.57 KB |
What's Changed
- Improve recursion performance v1 by @lahma in #1269
- Slim down Completion and ExpressionResult struct sizes by @lahma in #1270
- Improve error location reporting by @lahma in #1273
- Fix array method scoring under interop by @lahma in #1274
- Include inherited static members in interop member search by @lahma in #1275
- More tweaks to reduce call stack size by @lahma in #1277
- Upgrade benchmark project and add YantraJS by @lahma in #1276
- Improve global object setup and access performance by @lahma in #1280
- Optimize new Date() by @lahma in #1281
- Reduce memory allocations in function calls by @lahma in #1282
- Restructure benchmarks by @lahma in #1283
- Fix array performance regression by @lahma in #1284
- Call Dispose on enumerator (#1285) by @jm-merle in #1286
- Make BindFunctionInstance public by @paynesworld in #1288
- Upgrade to Esprima 3.0.0-beta-7 by @lahma in #1289
- Open some API and create public API tests for compatibility by @lahma in #1290
- Move data from Completion and ExpressionResult to context by @lahma in #1291
- Remove ExpressionResult by @lahma in #1292
- Reduce Engine references in expressions by @lahma in #1293
- Restore public access to JavaScriptException ctor by @Genteure in #1295
- Update benchmark results by @lahma in #1294
New Contributors
- @jm-merle made their first contribution in #1286
- @paynesworld made their first contribution in #1288
Full Changelog: v3.0.0-beta-2040...v3.0.0-beta-2041