You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksey Plekhanov (Jira)" <ji...@apache.org> on 2020/07/03 07:32:00 UTC

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

     [ https://issues.apache.org/jira/browse/IGNITE-12699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Plekhanov updated IGNITE-12699:
---------------------------------------
    Fix Version/s:     (was: 2.9)

> .NET: Remove TypeCaster
> -----------------------
>
>                 Key: IGNITE-12699
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12699
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: .NET
>
> 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.
> Run Ignite deserialization benchmarks to confirm the effect.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)