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

ASF GitHub Bot commented on IGNITE-1694:
----------------------------------------

GitHub user ptupitsyn opened a pull request:

    https://github.com/apache/ignite/pull/220

    IGNITE-1694 .Net: More efficient way to call native methods.

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ptupitsyn/ignite ignite-1694

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/220.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #220
    
----
commit 7966a36aa604adc0df0afa310856295a06e9de1c
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T13:22:57Z

    first draft

commit e4290506e38a0e47077fb6aa7af6a0744340ec5c
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T14:49:10Z

    wip

commit 5aa5fcb5767aa6118fcbdc03c0352af05955d7b7
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T15:01:30Z

    Delegates done

commit d63261a79eea6999849024e369b68cb15d35f4ab
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T15:02:34Z

    SuppressUnmanagedCodeSecurity

commit 6ad92dfe76903e4ddd62ef7d5b4e489a3dd00c7d
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T15:09:18Z

    Reformatting

commit 4348b334760fce4c7998ed098df1cda5d77ff9fd
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T15:14:21Z

    Extract to a separate class

commit 97cfccc0906ba2c2ddf40f1f0ea66de4d9baba26
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T15:15:53Z

    wip

commit 8a6f448ced8b28aafc7d543cfb215f0d8e94ba83
Author: Pavel Tupitsyn <[email protected]>
Date:   2015-11-11T15:26:06Z

    Fix naming style

----


> .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)

Reply via email to