[Time] Name | Message |
[01:42] yrashk
|
looks like ezmq got much more stable now
|
[01:43] yrashk
|
and thanks to evaxsoftware it doesn't have a thread per socket design anymore
|
[01:43] yrashk
|
we're multiplexing now :)
|
[02:16] catlee
|
hello
|
[02:16] catlee
|
how does zeromq compare to something like rabbitmq?
|
[03:05] datuanmac
|
hi
|
[03:06] datuanmac
|
I'm trying integrate zmq to my project in Visual c++ version 6 but it's conflic version winsock2 ?
|
[03:16] datuanmac
|
What solution for visual 6 ?
|
[04:43] ctrlc-root
|
hello, im trying to run the hello world client/server example from the website on windows with vs2010 and the server isnt running right
|
[04:43] ctrlc-root
|
it starts but then it fails with an unhandled exception, error number 156384763
|
[04:44] ctrlc-root
|
"The operation cannot be completed because the socket is not in the right state"
|
[04:44] ctrlc-root
|
this is on the socket.recv() call in teh c++ api
|
[04:44] ctrlc-root
|
anyone know what could be going wrong?
|
[06:34] guido_g
|
morning all
|
[06:45] eyecue
|
tgif
|
[07:03] guido_g
|
hehehe
|
[07:07] guido_g
|
http://1.bp.blogspot.com/-LkXUSknbalU/TXB1HTDJs_I/AAAAAAAB_gw/q8Njub9H2e4/s1600/ironic_sign_situations_01.jpg <- see what bad naming can do
|
[07:07] guido_g
|
and now up for mor mdp fun
|
[07:09] eyecue
|
that looks like its from the brisbane flood in australia
|
[07:10] eyecue
|
guido_g; there was also this one during the same event :) http://resources1.news.com.au/images/2011/01/13/1225987/039817-suncorp-stadium.jpg
|
[07:11] guido_g
|
hehe
|
[07:11] guido_g
|
this is the humor one would expect
|
[07:11] eyecue
|
:]
|
[07:11] eyecue
|
from aussies? yeh :)
|
[07:12] guido_g
|
must be hard
|
[07:13] guido_g
|
living close to water for the larger part of my life, but luckily never got flooded
|
[07:14] jsimmons
|
i live on a hill, handy.
|
[07:14] guido_g
|
once i saw a flood mark 1m above a telephoneboth in a small coastal town i lived
|
[07:14] guido_g
|
coward! :)
|
[07:15] jsimmons
|
im not going to slum it with the plebs down near the waterline :D
|
[07:17] eyecue
|
guido_g; http://ian.umces.edu/blog/wp-content/uploads/2011/02/ipswich_in_flood.jpg :)
|
[07:17] eyecue
|
we do everything bigger and better in .au
|
[07:17] guido_g
|
seems so
|
[07:18] eyecue
|
http://images.brisbanetimes.com.au/2011/01/12/2130176/420ipswich-420x0.jpg <-- shopping centre :)
|
[07:18] eyecue
|
i think they got upwards of 15m in some parts there
|
[07:34] jsimmons
|
http://www.youtube.com/watch?v=LdOwFTo4Q3I
|
[07:34] jsimmons
|
weirdo queenslanders
|
[08:14] eyecue
|
:]
|
[09:13] mikko
|
good morning
|
[09:18] Steve-o
|
top of the morning to you mikko
|
[09:20] mikko
|
i don't fully understand this mingw32 vs mingw64 business
|
[09:20] Steve-o
|
mingw64 is just an updated fork of mingw32
|
[09:21] Steve-o
|
with 32-bit and 64-bit compilers
|
[09:21] Steve-o
|
some rfit causing the split
|
[09:21] Steve-o
|
rfit
|
[09:21] Steve-o
|
rift
|
[09:21] Steve-o
|
third time lucky
|
[09:22] mikko
|
can i cross-compile 64bit binaries on 32bit machine with it?
|
[09:22] mikko
|
looks like my own win7 build machine is offline
|
[09:22] Steve-o
|
I guess you should be able to
|
[09:22] mikko
|
probably installed updates again *sigh*
|
[09:22] Steve-o
|
SP1
|
[09:23] Steve-o
|
haven't installed it myself,
|
[09:23] Steve-o
|
looking for api changes, cannot find any docs but just found some notes on getaddrinfo() today
|
[09:24] Steve-o
|
you can tag interfaces to be excluded from the results using netsh
|
[09:24] mikko
|
confusing situation
|
[09:25] mikko
|
are mingw32 dlls compatible with mingw64 binaries?
|
[09:25] Steve-o
|
are 32-bit and 64-dlls interchangable, no
|
[09:25] mikko
|
whats about 32bit ones?
|
[09:26] Steve-o
|
via wow64 you can run 32-bit windows winsock apps on 64-bit windows
|
[09:26] Steve-o
|
there are api changes that hide the details
|
[09:26] Steve-o
|
and new apis like getnativesysteminfo() just for wow64
|
[09:27] Steve-o
|
wow = windows on windows
|
[09:34] Steve-o
|
but it's all transparent to the user
|
[09:36] mikko
|
so building 32bit target with mingw64 doesn't really provide value over 32bit mingw32?
|
[09:36] mikko
|
from user's point of view
|
[09:44] Steve-o
|
weeee, Google Chrome's hardware acceleration is definitely not stable yet :/
|
[09:55] Steve-o
|
downside with mingw is that it brings in a lot of compiler dependencies and debugging is ass
|
[09:56] mikko
|
one of the downsides*
|
[10:03] Steve-o
|
more annoying is that it is slower than msvc
|
[10:05] Steve-o
|
I guess mingw-w64 is more updated and closer to gcc trunk and should be faster
|
[10:09] Steve-o
|
Should try ICC on Windows, haven't done that yet
|
[10:10] Steve-o
|
any numbers for 0mq and tcp?
|
[10:10] mikko
|
5 - 6.5 million 1 byte messages over localhost
|
[10:10] mikko
|
per sec
|
[10:10] mikko
|
but it's questionable how accurate that is
|
[10:11] Steve-o
|
that was msvc on numa?
|
[10:12] mikko
|
oh you mean windows
|
[10:12] mikko
|
no numbers on windows
|
[10:14] Steve-o
|
ah ok
|
[10:16] Steve-o
|
was thinking of testing windows IPC after this release
|
[10:17] Steve-o
|
be easy to get something working and then see how the numbers get worse or better
|
[10:18] Steve-o
|
I sent an idea for broadcast IPC to sustrik before as an expansion on the idea, but I don't have numa boxes to performance test
|
[10:20] mikko
|
i think Guthur is working for named pipes for windows
|
[10:20] mikko
|
to get ipc:// working
|
[11:24] Guthur
|
mikko: 'working' is a little strong at the moment
|
[11:24] Guthur
|
Initial research completed at the moment
|
[11:25] Guthur
|
need to develop a strategy for integration
|
[11:26] Guthur
|
On my agenda is talk to sustrik more about what an abstraction of the name pipes using IOCP would need to emulate the current functionality provided and required by the polling methods on POSIX
|
[11:27] Guthur
|
the problem is that plain IOCP is only a completion notification system
|
[11:27] Guthur
|
and polling on POSIX provides more than that
|
[11:41] yrashk
|
hey
|
[11:41] yrashk
|
any idea on how we can check whether there are any unclosed sockets prior to zmq_term?
|
[11:42] yrashk
|
we need to avoid blocking Erlang's VM in all possible situations
|
[11:42] yrashk
|
so we'd rather not call zmq_term if we know that it will block
|
[12:10] guido_g
|
no, that i know of
|
[12:10] guido_g
|
this kind of information is not ment for us mere mortals
|
[12:49] private_meta
|
Isn't there a way to tell zmq_term to terminate all sockets without waiting for finished messages? I thought I read something about it
|
[12:50] guido_g
|
per socket
|
[12:50] guido_g
|
via LINGER option
|
[12:50] guido_g
|
but the sockets still have to be closed first
|
[12:50] yrashk
|
well, we've got around this
|
[12:51] yrashk
|
we now terminate context in a separate thread that we have anyway
|
[14:32] sejo
|
hey all what are the pitfals for speed? what is the n* of messages i can send/receive with zeromq?
|
[14:35] guido_g
|
depends on hardware and message size, so the question is futile
|
[14:35] guido_g
|
btw, there are benchmarks in the ømq git, use them
|
[14:36] sejo
|
ach I will thx!
|
[14:38] sejo
|
hmm with my code I only get 1/sec
|
[14:38] sejo
|
that is way to few :p
|
[14:39] sejo
|
but I use it from python
|
[14:39] guido_g
|
even w/ serialization i get ~4k messages per second using python
|
[14:41] sejo
|
please accept my apologies... still had time.sleep(1) in my code :/
|
[14:41] sejo
|
I'm a moron
|
[14:41] guido_g
|
ok, we'll take that for granted
|
[14:42] guido_g
|
:)
|
[15:02] sejo
|
guido_g: apparently you should :p
|
[15:02] sejo
|
now get approx 30/s (with saving to chouchdb)
|
[15:02] sejo
|
so not that bad
|
[15:03] guido_g
|
slow db?
|
[15:13] sejo
|
guido_g: no slow way of doing it, I save document after document and not bulk save... that would improve a lot. Also python is owesome to write in but not _the_ fastest language there is
|
[15:14] sejo
|
if we get funding and have more time I might redo in C, right now... python it is :p
|
[15:14] guido_g
|
depends on how you do things
|
[15:14] guido_g
|
usually python is fast enough
|
[15:16] guido_g
|
ok, time for a break
|
[15:16] guido_g
|
laters!
|
[16:57] lt_schmidt_jr
|
A couple of quesitons for the experts
|
[16:58] lt_schmidt_jr
|
If a receiving socket goes unpolled can I detect if HWM has overflowed?
|
[17:03] mikko
|
lt_schmidt_jr: yes
|
[17:03] mikko
|
lt_schmidt_jr: non-blocking send should return EAGAIN assuming it's a socket that would block
|
[17:05] lt_schmidt_jr
|
mikko: I am using pub sub, are you saying the pub socket will return eagain if a subscriber goes unpolled?
|
[17:05] mikko
|
no, it would drop the message
|
[17:05] mikko
|
you can't really detect HWM overflow with pub socket
|
[17:05] mikko
|
as the messages are simply dropped
|
[17:06] mikko
|
unless you poll
|
[17:06] mikko
|
i am not sure whether poll indicates that it's writable
|
[17:06] lt_schmidt_jr
|
interesting
|
[17:07] lt_schmidt_jr
|
I thought I could have a sub-socket queue
|
[17:07] lt_schmidt_jr
|
build up and it could overflow there
|
[17:07] lt_schmidt_jr
|
as opposed on the publisher
|
[17:07] mikko
|
i'm not really 100% how hwm interacts with pub-sub
|
[17:08] mikko
|
let me check
|
[17:08] lt_schmidt_jr
|
I am using inproc btw
|
[17:08] mikko
|
http://api.zeromq.org/master:zmq-socket
|
[17:09] mikko
|
if you look at the ZMQ_HWM option action under SUB
|
[17:09] mikko
|
not applicable
|
[17:10] lt_schmidt_jr
|
I see
|
[17:10] lt_schmidt_jr
|
darn
|
[17:14] lt_schmidt_jr
|
I wanted to pause socket polling on behalf of disconnected clients, but I guess I will have to build my own queue
|
[17:14] lt_schmidt_jr
|
instead of relying on socket to queue
|
[17:21] lt_schmidt_jr
|
mikko: thanks for the RTFM :) I forgot about that part of the doc having been studying the Guide
|
[17:22] mikko
|
no problem
|
[18:37] Phantom
|
hello all
|
[18:37] Phantom
|
has anyone got the perl binding to work ? it seems...nonfunctional.
|
[18:41] Phantom
|
'ello. Is anyone out there ?
|
[18:45] andrewvc
|
cremes: wish I had a better answer re: ffi as a dependency
|
[18:45] andrewvc
|
the alternate gems thing doesn't really solve it
|
[18:45] cremes
|
andrewvc: yeah, i hate that solution
|
[18:46] cremes
|
i'm going to open up a feature request with the rubygems project
|
[18:46] andrewvc
|
I was thinking actually, it'd be best if maybe the FFI project just did nothing if it was required in a non MRI ruby
|
[18:46] andrewvc
|
yeah, that's the right long term solution
|
[18:46] cremes
|
it's not the 'require' step that breaks things
|
[18:46] cremes
|
it's the installation of the gem
|
[18:46] cremes
|
it tries to install the 'ffi' gem and blows up
|
[18:46] andrewvc
|
oh, what happens if you try and install in on rbx or jruby
|
[18:47] cremes
|
kaboom
|
[18:47] andrewvc
|
oh, because it tries to compile the ext
|
[18:47] andrewvc
|
damn
|
[18:47] cremes
|
right
|
[18:48] andrewvc
|
yeah, RUBY_PLATFORM isn't enough, rubygems needs RUBY_ENGINE
|
[18:48] andrewvc
|
is I'm guessing what you're going to request
|
[18:48] andrewvc
|
it's funny, because the alternate gem thing works fine for jruby, just not rbx
|
[18:53] mikko
|
pieter_hintjens: there?
|
[19:47] mathijs
|
Hi all, is zmq_poll edge-triggered? in other words: if I poll on 10 items, and 3 of them have events waiting, but I only handle 1 and poll again, will the second poll call still return the other 2, or those be forgotten, letting poll wait for new events?
|
[20:11] mikko
|
mathijs: it is
|
[20:12] Guthur
|
http://api.zeromq.org/master:zmq-poll
|
[20:12] Guthur
|
oh mikko beat me to it
|
[20:12] mathijs
|
mikko: so I should take care to handle all events that occured before re-polling?
|
[20:12] mikko
|
yes
|
[20:12] Guthur
|
it says level triggered there
|
[20:12] mikko
|
that sounds wrong
|
[20:13] mathijs
|
ah, I was reading that page for some minutes but couldn't find it :P
|
[20:13] mikko
|
i'm almost certain that the manual page there is wrong
|
[20:14] mathijs
|
level triggered is wrong I think. level triggered normally means that the trigger keeps popping up as long as the "level"/state is positive
|
[20:15] mikko
|
see this one from el sustrik: http://www.mail-archive.com/zeromq-dev@lists.zeromq.org/msg01620.html
|
[20:15] mikko
|
"Say there are two messages available. You read one of them. If you wait
|
[20:15] mikko
|
for the fd at this point it may never unblock, because there's still one
|
[20:15] mikko
|
message to read. Command saying "there are new messages available" is
|
[20:15] mikko
|
sent to your thread only if you've read all the messages before. You can
|
[20:15] mikko
|
think of it as edge-triggered polling"
|
[20:15] mikko
|
longer paste than i expected
|
[20:15] Guthur
|
is that maybe specific to FD though?
|
[20:16] Guthur
|
i.e. not a zmq socket
|
[20:16] mikko
|
it's possible
|
[20:16] mikko
|
i was always under the impression that zmq socket is edge-triggered as well
|
[20:16] mathijs
|
yeah, I knew that behavior is like that for FD, it was stated that was truely edge-triggered.
|
[20:17] mikko
|
double check with sustrik or pieter_hintjens when either one of them is back
|
[20:17] mathijs
|
well I'll do some quick tests, not too hard to find out
|
[20:18] Guthur
|
my quick test seems to confirm its level
|
[20:18] mikko
|
i guess if you need edge triggered you can always get the ZMQ_FD and poll on that
|
[20:20] mathijs
|
no, I don't really need either of them, just want to make sure my expectations are right and I don't accidentally abuse some loophole
|
[20:20] mikko
|
level triggered certainly makes it easier
|
[20:21] mathijs
|
indeed, but not as die-hard :P
|
[22:30] lt_schmidt_jr
|
What happens when a HWM is reached by a publisher in pub/sub?
|
[22:30] lt_schmidt_jr
|
are the new messages dropped or the old ones are dequeud?
|
[22:33] Guthur
|
new messages dropped
|
[22:33] lt_schmidt_jr
|
Guthur: thanks
|
[22:33] Guthur
|
you're welcome
|
[22:42] yrashk
|
so, what would be the best way to add a library to http://www.zeromq.org/bindings:erlang ?
|
[22:55] Guthur
|
yrashk, you mean add another erlang binding?
|
[22:56] yrashk
|
yep
|
[23:00] Guthur
|
is it publicly available
|
[23:00] Guthur
|
tbh I'm not sure if there is a procedure
|
[23:00] Guthur
|
pieter_hintjens, ping
|
[23:08] kdj
|
I am having some trouble getting pyzmq installed on Ubuntu...
|
[23:12] kdj
|
I follow the steps in the docs, and it works fine, but if I log out and back in, I seem to lose some env variable
|
[23:20] yrashk
|
Guthur: new binding? yes, it is
|
[23:23] Guthur
|
yrashk, I'm not sure if there is a process, best to mention it on the mailing list then pieter or martin can see it
|
[23:23] Guthur
|
I'd imagine you just add a description and links to that page
|
[23:24] yrashk
|
well they are aware of it
|
[23:24] yrashk
|
anyway, will take care of this later
|