-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EgorBot for EgorBo in #109428 #144
Comments
Benchmark results on
|
Method | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|
Bench | Main | 3.067 ns | 0.0003 ns | 1.00 |
Bench | PR | 3.224 ns | 0.0007 ns | 1.05 |
Profile for Bencha_Bench
:
Flame graphs: Main vs PR 🔥
Speedscope: Main vs PR
Hot asm: Main vs PR
Hot functions: Main vs PR
Counters: Main vs PR
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
@EgorBot -win_amd using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
3 similar comments
@EgorBot -win_amd using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
@EgorBot -win_amd using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
@EgorBot -win_amd using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
Benchmark results on
|
Method | Mean | Error |
---|---|---|
Bench | 2.691 ns | 0.0193 ns |
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
1 similar comment
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
Benchmark results on
|
Method | Runtime | Mean | Error | Ratio |
---|---|---|---|---|
Bench | .NET 8.0 | 7.581 ns | 0.0006 ns | 1.00 |
Bench | .NET 9.0 | 2.680 ns | 0.0103 ns | 0.35 |
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
seetatic object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
1 similar comment
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
seetatic object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
1 similar comment
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
Benchmark results on
|
Method | Runtime | Mean | Error | Ratio |
---|---|---|---|---|
Bench | .NET 8.0 | 7.588 ns | 0.0037 ns | 1.00 |
Bench | .NET 9.0 | 2.680 ns | 0.0098 ns | 0.35 |
@EgorBot -win_amd --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
statlllic object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
@EgorBot -win_arm64 --runtimes net8.0 net9.0 using BenchmarkDotNet.Attributes;
public class Bencha
{
static object obj = new MyClass();
[Benchmark]
public void Bench()
{
if (obj is MyClass myClass1)
myClass1.DoWork();
if (obj is MyClass myClass2)
myClass2.DoWork();
if (obj is MyClass myClass3)
myClass3.DoWork();
if (obj is MyClass myClass4)
myClass4.DoWork();
if (obj is MyClass myClass5)
myClass5.DoWork();
if (obj is MyClass myClass6)
myClass6.DoWork();
}
}
public class MyClass {
public virtual void DoWork() {}
} |
❌ AwsGraviton4 can't be used with OS=Windows2022. See: [azure_ampere] = [ubuntu2204, ubuntu2404], |
cc @EgorBo |
@EgorBot -win_amd -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
@EgorBot -linux_amd -arm64 -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
Benchmark results on
|
Method | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|
Hash | Main | 0.2789 ns | 0.0191 ns | 1.00 |
Hash | PR | 0.0112 ns | 0.0118 ns | 0.04 |
Benchmark results on
|
Method | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|
Hash | Main | 0.1383 ns | 0.0012 ns | 1.00 |
Hash | PR | 0.1162 ns | 0.0016 ns | 0.84 |
Benchmark results on
|
Method | Job | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|---|
Hash | Job-NQEOWI | \core_root_base\corerun.exe | NA | NA | ? |
Hash | Job-MWHTTU | \core_root_diff\corerun.exe | 0.0022 ns | 0.0026 ns | ? |
Benchmarks with issues: | |||||
C.Hash: Job-NQEOWI(Toolchain=\core_root_base\corerun.exe) |
@EgorBot -win_amd -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
Benchmark results on
|
Method | Job | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|---|
Hash | Job-FETNAZ | \core_root_base\corerun.exe | 0.2753 ns | 0.0077 ns | 1.001 |
Hash | Job-HGBNVG | \core_root_diff\corerun.exe | 0.0001 ns | 0.0005 ns | 0.000 |
@EgorBot -win_arm -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
❌ AwsGraviton4 can't be used with OS=Windows2022. See: [azure_ampere] = [ubuntu2204, ubuntu2404], |
cc @EgorBo |
@EgorBot -win_arm -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
@EgorBot -help |
❌ AwsGraviton4 can't be used with OS=Windows2022. See:
|
EgorBot manual
All targets are Linux-only at the moment. NOTE: Examples: Usage example: link |
cc @EgorBo |
1 similar comment
cc @EgorBo |
@EgorBot -help |
EgorBot manual
NOTE: NOTE: Avoid Usage example: link |
cc @EgorBo |
@EgorBot -win_arm -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
❌
|
cc @EgorBo |
@EgorBot -win_intel -amd -pr 109466 using BenchmarkDotNet.Attributes;
public class C
{
private static readonly int[] _perm = [1, 2, 3, 4];
private int Index = 1;
[Benchmark]
public int Hash()
{
int index = Index;
return _perm[index & (_perm.Length - 1)];
}
} |
Benchmark results on
|
Method | Job | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|---|
Hash | Job-RHQJNR | \core_root_base\corerun.exe | 0.0251 ns | 0.0382 ns | 46.258 |
Hash | Job-MXTMRG | \core_root_diff\corerun.exe | 0.0000 ns | 0.0000 ns | 0.000 |
Benchmark results on
|
Method | Job | Toolchain | Mean | Error | Ratio |
---|---|---|---|---|---|
Hash | Job-YXVSHO | \core_root_base\corerun.exe | 0.2979 ns | 0.0185 ns | 1.00 |
Hash | Job-MIKZXI | \core_root_diff\corerun.exe | 0.0088 ns | 0.0116 ns | 0.03 |
Processing dotnet/runtime#109428 (comment) command:
Command
-arm64 -profiler
(EgorBot will reply in this issue)
The text was updated successfully, but these errors were encountered: