EV on AIX?
Marc Lehmann
schmorp at schmorp.de
Fri Mar 23 14:02:05 CET 2012
On Thu, Mar 22, 2012 at 04:38:39PM -0600, Darin McBride <darin.mcbride at shaw.ca> wrote:
> uname -p reports "powerpc". I see that present, but maybe you require gcc.
> Since this is largely an IBM shop, I have xlC available for use.
ecb.h has no provisions for memory fences with xlC - somebody with knowledge
would first have to port it to xlC.
> > Easier would be to use a non-antique gcc version (e.g. 4.4), which should
> > have the relevant memory fences built-in, or llvm/clang.
>
> I bet xlC is considered antique :-) (Looks like xlC 10.1.0.2, but that's
> probably not important.)
xlC is... not just considered antrique, it is one of those few vendor
compilers where I have vivid memories of - not positive ones :)
But that's not the point - I specifically meant gcc - a reasonably current
gcc version has support for memory fences that libev can pick up.
There is nothing wrong with antique compilers otherwise, unless they are
beyond broken, which is rare.
> > If neither is an option, and you are running on a single-cpu box, you can
> > disable memory fences entirely by compiling with -DECB_NO_SMP.
>
> Definitely not running on a single CPU box. I think it has 4 quad-core CPUs in
> it. Though I'm curious as to how much of an issue it is if I'm running
> single-threaded (even if through Coro).
If you are running libev on only one core at a time, by using Coro threads
only for example, then -DECB_NO_SMP should do the trick .
ECB_NO_SMP means (here) that there is no need to synchronise caches
between cpus.
(when compiling EV, you can add it to the extra -D options, which also
tells you about using -DEV_NO_THREADS, which is the stronger version of
ECB_NO_SMP, but still good enough for Coro).
> > Any event loop you like and can get compiled, I guess.
>
> Makes sense :-) I just know that you have some recommendations in the AE
> docs, but wasn't entirely sure how big of a deal it is.
Well, personally, I'd go for EV, and if that isn't available, and
otherwise I don't care much.
> > So, using the pure perl event loop on aix is definitely an option that
> > shouldn't lose out much.
>
> Fair enough. I won't worry about it too much, then, since I have more CPU
> power than I need, and likely far too much RAM as well, since when I'm
> running, usually nothing else is (and vice versa - when I'm not running,
> usually *everything* else is). Thanks!
Well, given the memory hog that perl in general is (tiny stuff such as
Digest::MD5 comes ion at 1MB ram on my box, even something as trivial as
use strict uses 275kb here), *that* extra memory is unlikely to become an
issue :(
--
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 anyevent
mailing list