ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Tupitsyn (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IGNITE-1694) .Net: More efficient way to call native methods.
Date Wed, 11 Nov 2015 15:43:11 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-1694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15000536#comment-15000536
] 

Pavel  Tupitsyn edited comment on IGNITE-1694 at 11/11/15 3:42 PM:
-------------------------------------------------------------------

* [DllImport] works fine after LoadLibrary call, no additional changes required.
* [SuppressUnmanagedCodeSecurity] added
* PutBenchmark ~2% faster.
* TC ok.


was (Author: ptupitsyn):
* [DllImport] works fine after LoadLibrary call, no additional changes required.
* PutBenchmark ~2% faster.
* TC ok.

> .Net: More efficient way to call native methods.
> ------------------------------------------------
>
>                 Key: IGNITE-1694
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1694
>             Project: Ignite
>          Issue Type: Task
>          Components: interop
>    Affects Versions: ignite-1.4
>            Reporter: Vladimir Ozerov
>            Assignee: Pavel  Tupitsyn
>            Priority: Critical
>             Fix For: 1.6
>
>
> Currently we invoke native platform using "Marshal.GetDelegateForFunctionPointer". 
> This is the least efficient way to call external code. What can be done to improve it:
> 1) Add [SuppressUnmanagedCodeSecurity] attribute.
> 2) Use P/Invoke instead. We do not use it now because we unpack native library in runtime
into some temp folder, while PInvoke searches for libraries in predefined file system places.
Need to evaluate whether we can switch back to P/Invoke somehow.
> See http://ybeernet.blogspot.ru/2011/03/techniques-of-calling-unmanaged-code.html for
more info.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message