Thursday April 15, 2010

[Time] NameMessage
[05:34] CIA-5 zeromq2: 03Martin Sustrik 07master * rea18d30 10/ (include/zmq.h src/atomic_ptr.hpp): atomic_ptr fix of Win64 -
[05:34] CIA-5 zeromq2: 03Martin Sustrik 07master * r1c33941 10/ (9 files in 9 dirs): Merge branch 'master' of -
[05:49] CIA-5 clrzmq: 03Martin Sustrik 07master * r360286b 10/ clrzmq/zmq.cs : zmq_msg_t size if estimated correctly idependent on microarchitecture used -
[14:42] sophacles do the latest versions of 0mq compile with -g automatically or something, im suddenly getting glibc backtraces when I blow stuff up.
[14:56] sustrik hm, doesn't seem to happen here
[14:56] sustrik /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -Werror -pedantic -Wall -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -fPIC -MT libzmq_la-downstream.lo -MD -MP -MF .deps/libzmq_la-downstream.Tpo -c -o libzmq_la-downstream.lo `test -f 'downstream.cpp' || echo './'`downstream.cpp
[14:59] sophacles hmm. must be some wierd debian thing then.
[14:59] sophacles there are definately a lot of those :)
[15:02] sustrik do you see the -g option when you compile it?
[15:10] sophacles yeah, seems it ends up in CFLAGS in the makefile. Not sure how, but no big deal, i think it's what provided the backtrace i recently posted so net win
[15:22] sustrik ok, issue reproduced
[17:00] mato sustrik/sophacles: configure/autotools use -g -O2 with gcc by default
[17:01] sustrik mato: it doesn't seem to appear in the command line, see above
[17:02] mato sustrik: that's because that command line is not the real compile command, just some libtool/automake dependency-foo
[17:02] sustrik aaah
[17:02] sustrik btw, that makes the binary pretty large, no?
[17:02] mato yes
[17:03] sustrik does it affect resident memory footprint?
[17:03] mato yes
[17:03] sustrik shouldn't we turn it off then?
[17:03] mato definitely not by default
[17:04] sustrik can it be turned off?
[17:05] mato not right now, we could add a --disable-debug or similar option to configure
[17:05] mato which would drop the -g
[17:05] mato also, distribution packagers tend to muck with this
[17:06] mato so for example on debian you will get libzmq0 which is the library w/o debugging symbols and libzmq-dbg or similar which includes them
[17:06] mato i'm not sure of the exact details
[17:06] sustrik what i mean is that we advertise small memory footprint, so we should at least document how to achieve it...
[17:07] sustrik maybe alongside the instructions for building from git
[17:11] mato hmm, maybe, i don't want to muck with it right now
[17:12] mato gets in the way of "real work" :-)
[17:14] mato sustrik: since you asked:
[17:14] mato [dezo:.libs]$ ls -l
[17:14] mato -rwxr-xr-x 1 mato users 1996994 2010-04-15 19:13
[17:14] mato [dezo:.libs]$ strip
[17:14] mato [dezo:.libs]$ ls -l
[17:14] mato -rwxr-xr-x 1 mato users 260880 2010-04-15 19:14
[17:14] mato (amd64, w/o pgm)
[17:14] sustrik that's -g vs. no g?
[17:15] mato no, that's the same library, then i strip the debugging symbols from it
[17:15] sustrik size down by 85%
[17:15] mato yes, of course
[17:15] mato C++ debugging symbols especially take up a lot of space
[17:16] sustrik what about a one-line warning alongside the build instructions?
[17:16] mato what warning?
[17:16] mato what are you warning about?
[17:16] sustrik "default build contains debugging symbols and thus can take a lot of space"
[17:16] sustrik "turn if off if you care"
[17:17] mato "strip your binaries and if you care"
[17:17] sustrik right
[17:17] mato you will get people asking "what is strip" :-)
[17:18] mato anyway, whatever, feel free
[17:19] mato the reason it's not the default is if you strip the library/binaries you will not get useful backtraces of any kind
[17:19] sustrik i know
[17:20] sustrik i just dont like false advertising: "Is thin. The core requires just a couple of pages in resident memory."
[17:20] mato it's your advertising :-)
[17:20] sustrik i've measured it :|
[17:20] mato 260k still != "a couple of pages" :-)
[17:21] sustrik not all of that seems to go to memory
[17:21] sustrik there's a lot of linking info afaiu
[17:21] mato of course
[17:21] mato there are ways to measure this
[17:22] sustrik yup
[17:22] mato you could write a couple of paragraphs and link to them from the "advertisement"
[17:22] sustrik hm
[17:22] sustrik seems like work
[17:22] sustrik :)
[17:22] mato :-)
[17:23] sustrik i'll put it on my todo list
[17:23] mato that's always a good way of resolving "work" :-)
[17:24] mato anyway, let's wait and see what proposal ph comes up with for the page, he has been promising something
[22:31] mikko a lot of changes going into 2.0.7 which also break bwc in places
[22:31] mikko should it really be 2.1.0 or 3.0.0?
[23:00] mato mikko: nope, this is why 2.0.6 is still called "Beta"
[23:00] mato mikko: the "Beta" refers to API/ABI stability rather than code stability.
[23:09] mikko mato: just to check, this is correct format: ?
[23:23] mikko im going to sleep for a while
[23:23] mikko ->