[ https://issues.apache.org/jira/browse/ARROW-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16513450#comment-16513450 ]
Wes McKinney edited comment on ARROW-2712 at 6/15/18 6:59 AM: -------------------------------------------------------------- Again, I'm not an expert, but I think that going through C bindings to a C++ library would prevent the CLR runtime from generating possibly better code on hot paths. I'm not sure whether the Java or C++ implementation is going to be a better model for a .NET library. The Java codebase grew organically originally within Apache Drill until the formation of Apache Arrow. The C++ library was started from scratch at beginning of 2016 was (Author: wesmckinn): Again, I'm not an expert, but I think that going C bindings to a C++ library would prevent the CLR runtime from generating possibly better code on hot paths. I'm not sure whether the Java or C++ implementation is going to be a better model for a .NET library. The Java codebase grew organically originally within Apache Drill until the formation of Apache Arrow. The C++ library was started from scratch at beginning of 2016 > .NET Language Binding for Arrow > ------------------------------- > > Key: ARROW-2712 > URL: https://issues.apache.org/jira/browse/ARROW-2712 > Project: Apache Arrow > Issue Type: New Feature > Components: GLib > Reporter: Jamie Elliott > Priority: Major > Labels: features, newbie > > A feature request. I've seen this pop up in a few places. Want to have a > record of discussion on this topic. > I may be open to contributing this, but first need some general guidance on > approach so I can understand effort level. > It looks like there is not a good tool available for GObject Introspection > binding to .NET so the easy pathway via Arrow Glib C API appears to be > closed. > The only GObject integration for .NET appears to be Mono GAPI > [http://www.mono-project.com/docs/gui/gtksharp/gapi/] > From what I can see this produces a GIR or similar XML, then generates C# > code directly from that. Likely involves many manual fix ups of the XML. > Worth a try? > > Alternatively I could look at generating some other direct binding from .NET > to C/C++. Where I work we use Swig [http://www.swig.org/]. Good for vanilla > cases, requires hand crafting of the .i files and specialized marshalling > strategies for optimizing performance critical cases. > Haven't tried CppSharp but it looks more appealing than Swig in some ways > [https://github.com/mono/CppSharp/wiki/Users-Manual] > In either case, not sure if better to use Glib C API or C++ API directly. > What would be pros/cons? > > > > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)