Hi,

> In theory you could use the GLib-based library with MSVC, the main
> requirement is gobject-introspection
> 
> https://github.com/GNOME/gobject-introspection/blob/master/MSVC.README.rst

Generally, we can use the GLib-based library without GObject
Introspection if we write bindings by hand. (We can generate
bindings automatically with GObject Introspection.)

But we need to some tasks to build the GLib-based library
with MSVC. I'll work on it in a few months.


Thanks,
--
kou

In <CAJPUwMC--Qj4fdEm5_4HCNH+0NBdAh0=9HVMTVX-At6rokN2=a...@mail.gmail.com>
  "Re: Plasma scenarios" on Mon, 9 Sep 2019 12:00:00 -0500,
  Wes McKinney <wesmck...@gmail.com> wrote:

> hi Eric,
> 
> On Fri, Sep 6, 2019 at 5:09 PM Eric Erhardt
> <eric.erha...@microsoft.com.invalid> wrote:
>>
>> I was looking for the high level scenarios for the Plasma In-Memory Object 
>> Store. A colleague of mine suggested we could use it to pass data between a 
>> C# process and a Python process.
>>
>> I've read the intro blog [0] on Plasma, which describes using the same data 
>> set from multiple processes - which sounds like the same scenario as above.
>>
>> I am trying to prioritize creating C# bindings for the Plasma client. So I'd 
>> like to know all the scenarios that would could be enabled with Plasma.
>>
>> For example:
>> - could using Plasma speed up Pandas UDFs in PySpark? Because the data 
>> wouldn't have to go across the socket between Java and Python, but instead 
>> would be memory-mapped. We have similar functionality in .NET for Apache 
>> Spark.
> 
> Memory still would need to be copied into the memory-mappable file, so
> it's unclear whether this would be faster than passing the data
> through a socket as it's being done now.
> 
>> - Is Plasma being used by Nvidia RAPIDS?
> 
> AFAIK it is not. It doesn't seem out of the question, though, given
> that we have some level of CUDA support in Plasma now.
> 
>>
>> I know Plasma today is not supported on Windows, but I think support could 
>> be added since Windows supports memory mapped files (through a different API 
>> than mmap) and it now supports Unix Domain Sockets [1].
>>
>> Also - side question about the c_glib bindings. I assume those will only 
>> ever work on Windows with something like Cygwin or MSYS2, right? Would 
>> people be opposed to adding pure "C" exports to the plasma library so the C# 
>> bindings could use it? (similar to the JNI support today).
>>
> 
> In theory you could use the GLib-based library with MSVC, the main
> requirement is gobject-introspection
> 
> https://github.com/GNOME/gobject-introspection/blob/master/MSVC.README.rst
> 
> Note that GLib itself is LGPL-licensed -- since it is an optional
> component in Apache Arrow, it is OK for optional components to have an
> LGPL dependency (though ASF projects aren't allowed to have
> mandatory/hard dependencies on LGPL). So if you do go that route just
> beware the possible issues you might have down the road.
> 
> I have no objection to adding a "plasma/plasma-c.h" with C exports.
> 
>> Eric
>>
>> [0] 
>> https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html
>> [1] https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/

Reply via email to