Pavel Tupitsyn created IGNITE-12699:
---------------------------------------
Summary: .NET: Remove TypeCaster
Key: IGNITE-12699
URL:
https://issues.apache.org/jira/browse/IGNITE-12699 Project: Ignite
Issue Type: New Feature
Components: platforms
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
Fix For: 2.9
TypeCaster class is used in Ignite.NET for non-boxing, faster casts.
Benchmarks on .NET 4.0 displayed clear advantage of this solution.
However, this is no longer true on .NET Core due to improvements in the framework:
{code}
| Method | Runtime | Mean | Error | StdDev |
|----------- |-------------- |----------:|----------:|----------:|
| TypeCaster | .NET Core 2.2 | 3.4615 ns | 0.0325 ns | 0.0304 ns |
| ObjectCast | .NET Core 2.2 | 1.0936 ns | 0.0040 ns | 0.0036 ns |
| UnsafeCast | .NET Core 2.2 | 4.1921 ns | 0.0125 ns | 0.0111 ns |
| TypeCaster | .NET Core 3.1 | 1.5306 ns | 0.0042 ns | 0.0037 ns |
| ObjectCast | .NET Core 3.1 | 0.0229 ns | 0.0029 ns | 0.0024 ns |
| UnsafeCast | .NET Core 3.1 | 2.1868 ns | 0.0052 ns | 0.0043 ns |
{code}
(See benchmark code in
https://github.com/ptupitsyn/IgniteNetBenchmarks)
Remove TypeCaster class and use regular cast instead.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)