EV/libev with Inline::C in perl

Marc Lehmann schmorp at schmorp.de
Mon Oct 3 01:45:24 CEST 2011

On Sat, Oct 01, 2011 at 04:15:20PM -0700, Ryan Bullock <rrb3942 at gmail.com> wrote:
> Can't comment on the quality of Inline::C, but it seems like a nice

I wans't trying to imply the quality is low, but rather that it's made for
windows, such as leaving _Inline directories around wherever you start your
programs and such.

> little stepping stone to getting started with using C with perl (or at
> least in my case it lets me focus on figuring out the C and not worry
> as much about the XS stuff right now).

Thats what my comments were aiming at: countless times people try
Inline::C because they think its great for prototyping, and then later
resorting to XS anyway because of the endless problems they run into.

Especially as modules using the EV XS API already exist
(e.g. Coro::Mysql), so you wouldn't even have to reinvent the wheel :)

Of course, you can do what you want, and if you get your protoype working
then Inline::C actually helped you, invalidating any kind of theoretical
problem foretold by others :)

> Thanks for the input, setting the following Inline::C options I was
> able to get it working:

Thats good to hear.

> Might be worth adding as a note in the documentation (for those new to
> C and XS such as myself)?

I personally think that would be a disservice to the users - using
Inline::C likely brings more frustration and wasted time than going for XS
right away.

I know that Inline::C, just as YAML (same author), has very good PR on its
side, but every project that tried it (for example Gtk2, or CPAN itself)
had to suffer greatly because reality turned out to be different than the
PR would have made you think.

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list