You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2020/02/19 08:16:00 UTC

[jira] [Created] (IGNITE-12699) .NET: Remove TypeCaster

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)