00:04:54  * loladirojoined
00:06:09  * c4miloquit (Remote host closed the connection)
00:08:08  * avalanche123quit (Ping timeout: 245 seconds)
00:09:57  * isaacsquit (Remote host closed the connection)
00:20:32  * mikealquit (Quit: Leaving.)
00:23:24  * loladiroquit (Ping timeout: 260 seconds)
00:26:02  * TooTallNatequit (Ping timeout: 244 seconds)
00:27:05  * loladirojoined
00:28:01  <CIA-112>libuv: Bert Belder master * r5c30443 / (src/unix/async.c src/unix/uv-eio.c): unix: uv_async handles should not be unref'ed automatically - http://git.io/Kc_vyA
00:38:39  * piscisaureus_joined
00:39:55  * piscisaureus_quit (Client Quit)
00:40:56  * piscisaureus_joined
00:44:39  * avalanche123joined
00:46:02  * mikealjoined
00:52:39  * hij1nxquit (Read error: Connection reset by peer)
01:12:02  <piscisaureus_>bnoordhuis: how long does the 1M timers benchmark take for you?
01:12:52  <bnoordhuis>piscisaureus_: debug: ~0.35s, release: ~0.55s
01:13:29  <bnoordhuis>you?
01:13:37  <piscisaureus_>bnoordhuis: ~0.7 s
01:13:42  <piscisaureus_>don't know debug
01:13:52  <bnoordhuis>try it, might be interesting
01:14:10  <piscisaureus_>bnoordhuis: you have the same timers implementation as I do, right?
01:14:17  <bnoordhuis>yes, it's rbtree based
01:14:40  <piscisaureus_>bb in a sec
01:14:42  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:15:00  <bnoordhuis>it's been said my rbtree is bigger than yours though
01:15:26  * piscisaureus_joined
01:17:36  <piscisaureus_>bnoordhuis: hmm
01:17:44  <piscisaureus_>bnoordhuis: debug: 0.35s
01:17:47  * mikealquit (Quit: Leaving.)
01:18:22  <bnoordhuis>piscisaureus_: peculiar, isn't it?
01:18:29  <piscisaureus_>yes, quite
01:18:39  <bnoordhuis>but count the syscalls, you'll probably see a big difference
01:18:57  <piscisaureus_>ok
01:19:27  * piscisaureus_sets up procmon
01:21:00  <piscisaureus_>bnoordhuis: not really to be honest
01:21:16  <bnoordhuis>no? what numbers are you seeing?
01:21:16  <piscisaureus_>bnoordhuis: 1277 (release) vs 1362 (debug)
01:21:24  <bnoordhuis>ah, even more interesting
01:21:25  <piscisaureus_>that includes startup and teardown
01:21:44  <bnoordhuis>on linux, it's ~55 vs. 2 epoll_wait syscalls
01:22:11  <piscisaureus_>yeah I have to figure out how to filter for NtRemoveIoCompletion
01:22:47  <bnoordhuis>if it's not the # of syscalls, what is it that makes the debug build faster?
01:24:13  <piscisaureus_>bnoordhuis: ah, scheisse. I was doing something stupid
01:24:52  <bnoordhuis>i just got an email from google's mod_pagespeed team, asking if i'm interested in doing the nginx port...
01:25:04  <piscisaureus_>bnoordhuis: did `million_timers` instead of `million_timers million_timers`
01:25:07  <piscisaureus_>well, are you ?
01:25:20  <bnoordhuis>yeah, i was in talks about that with google last year
01:25:26  <bnoordhuis>but it fell through back then
01:25:36  <bnoordhuis>apparently they finally got the work order sorted out :)
01:25:40  <piscisaureus_>ghe
01:25:54  <piscisaureus_>well, to be honest, theres cool stuff you could be working on
01:26:01  <piscisaureus_>but mod_pagespeed < node
01:26:30  <bnoordhuis>i don't know, nginx is nice to work with
01:26:32  <piscisaureus_>(private opionion of course)
01:26:36  <bnoordhuis>it's got a +1 async over node
01:26:46  <piscisaureus_>opininininion
01:26:54  <bnoordhuis>heh
01:35:03  <piscisaureus_>bnoordhuis: but really, 53 syscalls should not take 20ms right?
01:35:36  <bnoordhuis>piscisaureus_: well... epoll_wait is a fairly expensive syscall, it does a lot of things
01:35:50  <piscisaureus_>bnoordhuis: well, getqueuedcompletionstatus isn't :-)
01:36:15  <piscisaureus_>bnoordhuis: since it barely does anything but pull a thing from a linked list
01:36:23  <piscisaureus_>and then copy 2 pointer-sized values to user mode
01:36:33  <piscisaureus_>*user mode memory
01:38:16  <piscisaureus_>bnoordhuis: but I think the time to init/start the timers should also be taken into account
01:38:28  <piscisaureus_>there's a tree insertion going on that matters
01:39:13  <bnoordhuis>piscisaureus_: sure, but that's fairly constant
01:39:38  <bnoordhuis>i did initially measure that btw but it didn't strike me as very interesting
01:39:51  <piscisaureus_>bnoordhuis: well, I just tried and when I include timer_init and timer_start then both release and debug takes ~ 1 second
01:41:33  <bnoordhuis>piscisaureus_: yes, but that's mainly because the rbtree functions aren't inlined
01:41:40  <bnoordhuis>at least, that's the case with gcc
01:41:51  <piscisaureus_>bnoordhuis: also
01:41:53  <piscisaureus_>if (i % 1000 == 0) timeout++
01:41:57  <piscisaureus_>bnoordhuis: that's funny
01:42:04  <piscisaureus_>since timeout is in msec
01:42:14  <piscisaureus_>the test shoudl really take one second
01:42:28  <piscisaureus_>hahaha
01:42:33  <piscisaureus_>bnoordhuis: dude
01:43:05  <piscisaureus_>bnoordhuis: you wrote a test that displays (1 - (the time required to set up 1M timers)) s
01:43:21  <bnoordhuis>that's intentional, actually :)
01:43:32  <piscisaureus_>sure dude
01:45:25  <piscisaureus_>bnoordhuis: well, that explains why debug is faster than release
01:45:46  <piscisaureus_>bnoordhuis: cuz the time to set up the timers is bigger, the benchmark shows a smaller value
01:46:56  <bnoordhuis>close but not quite
01:47:08  <bnoordhuis>with the debug build, a lot more timers miss their deadline
01:51:29  <piscisaureus_>bnoordhuis: this is all irrelevant
01:51:54  <piscisaureus_>bnoordhuis: the last timer expires exactly one second after the loop is initialized
01:52:41  <piscisaureus_>bnoordhuis: so the entire test will always take 1s or more
01:52:58  <bnoordhuis>minus the time it takes to set up the timers
01:53:03  <piscisaureus_>yes
01:53:12  <piscisaureus_>well *the entire test*
01:53:25  <piscisaureus_>but yeah the display value will be 1s minus that
01:53:50  <piscisaureus_>bnoordhuis: a good test would be to count the number of loop iterations per second in the presence of a million timers
01:54:15  <piscisaureus_>bnoordhuis: and/or just the raw time it takes to set up and expire 1M timers
01:54:24  <piscisaureus_>that all have a timeout value of 0
01:54:41  * loladiroquit (Ping timeout: 246 seconds)
01:54:42  <bnoordhuis>yeah, i benchmarked that too :)
01:55:18  <piscisaureus_>bnoordhuis: when I remove the timeout++ I get this
01:55:27  <piscisaureus_>release: 0.39s
01:55:36  <piscisaureus_>debug: 87s
01:55:52  <bnoordhuis>missing a 0.?
01:56:37  <piscisaureus_>yes
01:57:01  <bnoordhuis>right. i see something like 0.15s vs 0.30s
01:57:23  <bnoordhuis>curious though, why is windows that much slower?
01:57:35  <piscisaureus_>well, probably it's the compiler
01:57:52  <piscisaureus_>because windows isn't really involved anymore
01:58:28  <bnoordhuis>yes, but... your laptop is quite a bit faster than mine
01:58:40  <bnoordhuis>and i was under the impression that msvc generally generates better x86 code than gcc
02:00:20  <piscisaureus_>most time is spent in ..._RB_INSERT
02:01:10  <bnoordhuis>yes
02:01:11  <bnoordhuis>527,419,839 out/../src/unix/timer.c:uv__timers_RB_INSERT
02:01:17  <bnoordhuis>out of 764,316,031 insns
02:01:47  <bnoordhuis>i guess it's not such an interesting benchmark either way, then
02:02:35  <bnoordhuis>i wonder if a heap + binary search would be faster
02:02:46  <bnoordhuis>it probably won't make a realistic difference though :)
02:04:34  <philips>piscisaureus_: I noticed your gist about the Duplicate basenames thing in gyp. Is there a solution? https://gist.github.com/2705131
02:05:16  <piscisaureus_>philips: not really I believe. I think we've all just stuck with an old version of gyp
02:05:29  <piscisaureus_>philips: it may be worthwile to check the gyp mailinglist
02:05:36  <philips>piscisaureus_: hrm, ok
02:05:38  <piscisaureus_>I believe some other people have been compaining about this as well
02:05:43  <philips>piscisaureus_: real bummer, thanks
02:15:07  <piscisaureus_>bnoordhuis: well marc lehman thinks this stuff matters
02:15:13  <piscisaureus_>bnoordhuis: you could benchmark ev_timer
02:15:32  <piscisaureus_>although my suspicion is that the reallocs that it would do to set up 1m timers would dominate the benchmark
02:16:09  <piscisaureus_>bnoordhuis: the really interesting question is tho - do we really need this linked list in node? :-)
02:16:29  <piscisaureus_>bnoordhuis: also, we could cache the lowest timeout value
02:16:51  <piscisaureus_>that may make sense if there are many timers that expire in the far future
02:17:21  <bnoordhuis>i think you only need a single timer in node
02:17:40  <bnoordhuis>and manage the js timers from js land
02:18:43  <bnoordhuis>i did some tests last week where the timers got stored in an array
02:18:55  <bnoordhuis>and inserted / retrieved with a binary search
02:19:10  <bnoordhuis>preliminary results where inconclusive though :)
02:19:15  <piscisaureus_>ghe
02:19:16  <piscisaureus_>lol
02:19:23  <piscisaureus_>bnoordhuis: I was waiting for the punchline
02:19:46  <piscisaureus_>"it seems that doing it just in node yields a 500% performance improvement"
02:19:47  <piscisaureus_>anyway
02:20:00  <piscisaureus_>bnoordhuis: how do I instruct make to build a release build?
02:20:04  * piscisaureus_is lazu
02:20:09  <bnoordhuis>node or libuv?
02:20:14  <piscisaureus_>bnoordhuis: libuv
02:20:24  <bnoordhuis>make -C out -j <cores> BUILDTYPE=Release
02:22:14  <piscisaureus_>hmm
02:22:17  <piscisaureus_>not on mingw
02:23:27  <bnoordhuis>oh, right - that was for gyp builds
02:24:20  <bnoordhuis>actually, i think the plain makefile always builds a debug build
02:25:06  <piscisaureus_>bnoordhuis: nevermind, I hacked -O3 in
02:25:46  <piscisaureus_>bnoordhuis: anyway, when I compile with mingw32 (gcc 4.6.1) I get 0.39s (release) and 0.82s (debug)
02:25:53  <piscisaureus_>so there's no practical difference
02:26:01  <piscisaureus_>I have no x64 gcc on this machine
02:26:30  <bnoordhuis>okay, one less worry
02:28:44  <piscisaureus_>actually, testing repeatedly
02:28:49  <piscisaureus_>gcc seems slightly slower
02:29:15  <piscisaureus_>about 5%
02:29:24  <piscisaureus_>but I wonder what it could be, then
02:31:55  * \toothrotjoined
02:32:06  * toothrquit (Ping timeout: 244 seconds)
02:33:55  * loladirojoined
02:44:14  <piscisaureus_>well, with PGO on I can gain another 0.8%
02:44:16  <piscisaureus_>wooo
02:44:18  <piscisaureus_>:-(
02:44:58  <bnoordhuis>heh
02:45:09  <bnoordhuis>okay, i'm off to bed
02:45:21  <bnoordhuis>that is, if mees goes to sleep again
02:45:32  <bnoordhuis>anyway, sleep tight, bertje
02:45:33  <piscisaureus_>ok
02:45:38  <piscisaureus_>me too I think
02:45:44  <piscisaureus_>later bn
02:45:48  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
02:50:13  * bnoordhuisquit (Ping timeout: 245 seconds)
03:31:22  * irajoined
03:53:33  * c4milojoined
03:57:47  * mjr_quit (Quit: mjr_)
04:30:14  * isaacsjoined
04:44:06  * isaacsquit (Remote host closed the connection)
04:45:03  * c4miloquit (Read error: Connection reset by peer)
04:45:39  * c4milojoined
04:48:46  * avalanche123quit (Read error: Connection reset by peer)
04:50:27  * avalanche123joined
05:01:22  * iraquit (Quit: Leaving...)
05:19:27  * theColejoined
05:21:16  * travis-cijoined
05:21:16  <travis-ci>[travis-ci] joyent/libuv#401 (master - 5c30443 : Bert Belder): The build passed.
05:21:16  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/fbe9974...5c30443
05:21:16  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1580564
05:21:16  * travis-cipart
05:31:03  * c4miloquit (Remote host closed the connection)
06:24:54  * mikealjoined
06:27:26  * mikealquit (Client Quit)
06:30:19  * loladiroquit (Ping timeout: 260 seconds)
06:52:00  * mikealjoined
07:22:18  * isaacsjoined
07:38:11  * theColequit (Quit: theCole)
07:42:41  * felixgejoined
07:42:41  * felixgequit (Changing host)
07:42:41  * felixgejoined
07:44:48  * isaacsquit (Remote host closed the connection)
07:49:59  * rendarjoined
07:51:57  * felixge_joined
07:51:57  * felixge_quit (Changing host)
07:51:57  * felixge_joined
07:54:57  * felixgequit (Ping timeout: 245 seconds)
07:54:57  * felixge_changed nick to felixge
07:57:44  * isaacsjoined
08:05:30  * japjjoined
08:05:53  * paddybyersjoined
08:22:42  * japjquit (Read error: Connection reset by peer)
08:38:44  * paddybyersquit (Quit: paddybyers)
08:38:53  * felixgequit (Quit: felixge)
09:12:54  * paddybyersjoined
09:20:45  * dshaw_joined
09:21:57  * isaacsquit (Remote host closed the connection)
09:24:13  * brsonquit (Quit: leaving)
09:50:18  <saghul>Apparently the luvit guys patched gyp to remove the error with duplicated basenames https://github.com/luvit/gyp/commit/66665cc0f78933a7a118603928be059fed23f673
10:10:59  * `3rdEdenjoined
10:11:36  * felixgejoined
10:11:36  * felixgequit (Changing host)
10:11:36  * felixgejoined
11:15:23  * Raynosquit (Ping timeout: 240 seconds)
11:15:29  * mrb_bkquit (Ping timeout: 245 seconds)
11:16:23  * indutnyquit (Ping timeout: 240 seconds)
11:20:49  * Raynosjoined
11:23:21  * `3rdEdenquit (Ping timeout: 244 seconds)
11:34:42  * mrb_bkjoined
12:02:23  * indutnyjoined
12:41:31  * dshaw_quit (Quit: Leaving.)
13:27:22  * felixgequit (Quit: felixge)
13:31:07  * mmaleckijoined
13:31:13  * mmalecki_joined
13:36:15  * paddybyers_joined
13:39:14  * paddybyersquit (Ping timeout: 248 seconds)
13:39:14  * paddybyers_changed nick to paddybyers
13:45:42  * c4milojoined
13:56:30  * piscisaureus_joined
14:06:55  * irajoined
14:42:45  * hij1nxjoined
14:52:53  * hij1nxquit (Quit: hij1nx)
14:54:39  * hij1nxjoined
14:58:33  * hij1nxquit (Client Quit)
15:04:02  * hij1nxjoined
15:21:13  * hij1nxquit (Quit: hij1nx)
15:28:32  * mmalecki_quit (Read error: Operation timed out)
15:28:58  * mmaleckiquit (Ping timeout: 245 seconds)
15:29:13  <piscisaureus_>philips / rphillips: either of you there?
15:32:00  <rphillips>piscisaureus_: hey
15:32:08  <piscisaureus_>rphillips: hello
15:32:15  <piscisaureus_>rphillips: I was trying to build luvit
15:32:19  <piscisaureus_>(on windows, like I do)
15:32:27  <piscisaureus_>rphillips: but it seems that openssl won't build
15:32:39  <rphillips>what is the error?
15:32:51  <piscisaureus_>because you rely on symlinks to redirect deps/openssl/openssl/include/openssl to ../..
15:33:04  <rphillips>on windows we don't rely on symlinks
15:33:08  <rphillips>the files should get copied
15:33:28  <rphillips>the ./configure step should copy the openssl headers
15:33:28  <piscisaureus_>rphillips: maybe I am not using the proper recipe then :-)
15:33:43  <piscisaureus_>rphillips: ah, right. I couldn't figure out how to build so I run gyp manually
15:33:48  <piscisaureus_>that explains
15:33:59  <piscisaureus_>thanks
15:34:08  <rphillips>np. we run ./configure is msysgit
15:34:15  <rphillips>in*
15:34:39  <piscisaureus_>rphillips: btw - would it not be possible to just add deps/openssl/openssl/ to the include path ?
15:34:54  <piscisaureus_>it seems that you would not need these symlinks any more :-)
15:35:09  <rphillips>i'll give it a try.
15:35:41  <piscisaureus_>I also get a lot of these
15:35:42  <piscisaureus_>Warning: unrecognized setting VCCLCompilerTool/MultiProcessorCompilation while converting to MSBuild.
15:35:42  <piscisaureus_>Warning: unrecognized setting VCCLCompilerTool/TargetMachine while converting to MSBuild.
15:35:59  <piscisaureus_>which is weird, because node/libuv also sets these settings
15:39:28  * loladirojoined
15:40:41  <piscisaureus_>rphillips: but, thanks! `python configure` did the trick :-)
15:51:04  * c4miloquit (Remote host closed the connection)
15:53:58  <piscisaureus_>cd deps/openssl/openssl/include/openssl
15:53:58  <piscisaureus_>find . -iname '*.h' -exec sed -i 's/.*/#include "\0"/g' {} \;
15:56:06  * \toothrotchanged nick to toothr
15:56:19  * toothrchanged nick to toothr_
15:56:24  * toothr_changed nick to toothr
15:59:47  * AndreasMadsenjoined
16:04:09  <piscisaureus_>rphillips: this also does the trick : https://github.com/piscisaureus/openssl/commit/ae71af142ba4eef548df2b5f5bd17bf0e8673a54
16:11:11  * isaacsjoined
16:20:16  <piscisaureus_>ok, well, that broke unix. but I sent a PR that works.
16:23:16  * hij1nxjoined
16:25:41  * mmaleckijoined
16:27:32  * mmalecki_joined
16:27:45  * isaacsquit (Remote host closed the connection)
16:28:23  * isaacsjoined
16:32:54  * isaacsquit (Ping timeout: 260 seconds)
16:39:19  * loladiroquit (Ping timeout: 260 seconds)
16:41:45  * japjjoined
16:44:54  * mmaleckiquit (Read error: Connection reset by peer)
16:49:22  * mmalecki_quit (Ping timeout: 252 seconds)
16:49:47  * mmalecki_joined
16:51:16  * mmaleckijoined
16:53:59  * isaacsjoined
17:00:02  * hij1nxquit (Quit: hij1nx)
17:00:53  * mjr_joined
17:04:55  * mmaleckiquit (Ping timeout: 246 seconds)
17:05:49  * mmalecki_quit (Ping timeout: 256 seconds)
17:06:32  * felixgejoined
17:06:32  * felixgequit (Changing host)
17:06:32  * felixgejoined
17:09:11  * loladirojoined
17:20:49  <philips>piscisaureus_: http://code.google.com/p/gyp/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=264
17:24:01  <piscisaureus_>philips: https://groups.google.com/d/topic/gyp-developer/qiyPhZElUY8/discussion
17:24:29  <piscisaureus_>philips: I agree it should be a warning. Also, I find it rather surprising that VS would have a problem with it
17:24:49  <philips>piscisaureus_: Yea, it seems like something is being generated wrong
17:25:03  <philips>piscisaureus_: but, it is only one file in all of libuv too
17:25:12  <piscisaureus_>philips: hmm, which?
17:25:17  <piscisaureus_>oh wait, uv-unix
17:25:19  <piscisaureus_>heh
17:25:24  * loladiroquit (Ping timeout: 260 seconds)
17:25:32  <philips>unix/core.c and unix/linux/core.c or something
17:25:33  <piscisaureus_>that's funny - uv-win does not even generate this error
17:25:40  <philips>piscisaureus_: yea… exactly
17:25:45  <piscisaureus_>so the warning is totally inappropriate here
17:25:53  <philips>piscisaureus_: Thus my low amount of caring ;)
17:25:55  <piscisaureus_>I suppose we could also just rename linux/core-c
17:27:02  <philips>piscisaureus_: I will reply on gyp-developers with our situation
17:27:11  <piscisaureus_>philips: cool
17:27:15  <philips>piscisaureus_: It should go into the broken generators (MSVC) not core
17:27:54  <piscisaureus_>philips: well, I am not sure... I sort of like then enforcing this, but I just want to make an exception for us :-)
17:28:08  <philips>hahaha
17:28:08  <piscisaureus_>philips: the "I know what I'm doing, now shut up" flag
17:28:23  <philips>O_PONIES as we like to say in the linux kernel
17:28:29  <piscisaureus_>hehe
17:28:32  <philips>Give me what I meant
17:29:03  <piscisaureus_>philips: oh btw - do you still want me to do a cconf proposal?
17:29:33  <piscisaureus_>philips: talking to kernel hackers kind of scares me, although I suppose it would be fun to be at a super-technical conference
17:29:40  <philips>piscisaureus_: certainly if you can make it :)
17:29:52  <piscisaureus_>philips: that'd work.
17:29:55  <philips>piscisaureus_: The Kernel Summit is the same day so you should be safe ;)
17:30:20  <piscisaureus_>philips: ah, right. You have any idea what the audience will be like, like, what are they working on, what are they interested in etc
17:31:15  <philips>piscisaureus_: No idea- first year for the conference. My target audience is people who build systems in C and are interested in new tools, libraries, and best practices.
17:31:32  <piscisaureus_>philips: let's take it pm
17:31:50  * loladirojoined
18:02:27  * dshaw_joined
18:33:51  * dshaw_quit (Quit: Leaving.)
18:53:33  * peter123joined
18:58:44  * c4milojoined
18:59:57  * mjr_quit (Quit: mjr_)
19:07:27  * peter123quit (Ping timeout: 245 seconds)
19:10:24  * loladiroquit (Ping timeout: 260 seconds)
19:10:43  * AvianFlupart ("Leaving")
19:14:09  * AvianFlujoined
19:15:24  * loladirojoined
19:30:08  <philips>piscisaureus_: https://github.com/luvit/gyp/commit/0b2eb1f758bbe2475626e8a1a8e4fcebaeb027a9
19:30:16  <philips>piscisaureus_: I think I am going to send that patch upstream
19:33:19  <piscisaureus_>philips: I am not going to stop you
19:33:25  * isaacsquit (Remote host closed the connection)
19:33:34  <philips>piscisaureus_: ha, I just wanted a quick review for sanity
19:34:03  <piscisaureus_>philips: well, it looks good to me, but I didn't try
19:34:12  <philips>piscisaureus_: cool, I did ;)
19:34:35  <piscisaureus_>I wonder if anyone has experience with ninja
19:34:52  <piscisaureus_>I would like to try it out just because I am curious
19:35:21  <philips>piscisaureus_: I have ninja working for luvit on everything except windows at the moemnt
19:35:39  <piscisaureus_>philips: so is it ponies and unicorns?
19:35:48  <philips>piscisaureus_: it is fast and when hooked up to an interactive terminal it makes errors easier to see
19:36:02  <piscisaureus_>ok, cool
19:36:15  <piscisaureus_>does the speed really make a difference?
19:36:39  <piscisaureus_>I mean, node and libuv are not that big that no-op builds take ages
19:36:46  <piscisaureus_>I suppose it's no different for luvit
19:37:02  <philips>piscisaureus_: It is instant when running a no-op build (0.008 sec iirc) vs 0.5 sec with make
19:37:12  <philips>piscisaureus_: A non-noop build is as fast as Makefile no-op
19:37:38  <piscisaureus_>:-)
19:38:05  <philips>It seems small but it makes a difference in the feel of doing a build
19:43:36  * peter123joined
19:44:04  <peter123>hi! someone here?
19:48:39  * loladiroquit (Quit: loladiro)
19:49:33  <peter123>is it possible to share socket's between processes and how?
19:49:40  <peter123>i mean with libuv..
19:55:36  <piscisaureus_>peter123: yes
19:55:55  <peter123>should i just set all the callbacks?
19:56:11  <piscisaureus_>peter123: you have to use uv_spawn to spawn a second process
19:56:19  <piscisaureus_>and create an IPC pipe between them
19:56:37  <piscisaureus_>then you can uv_read2_start and uv_write2 to send sockets
19:56:45  <piscisaureus_>it's slightly tedious to get going though
19:57:16  * loladirojoined
19:57:17  * loladiroquit (Client Quit)
19:58:12  <peter123>i'm just experimenting with some always available server concept you know..and need a way to keep clients connected while upgrading server..maybe there's a better way? (it's just my little research project..)
19:58:44  <piscisaureus_>peter123: hmmm... that's probably not going to work :-)
19:59:06  <piscisaureus_>peter123: you could share a socket with another process, but you'd have to share all your state too
19:59:10  <peter123>i want to avoid proxy
19:59:36  <piscisaureus_>peter123: it would be better to just send all *new* connectings to a new server version
19:59:48  <peter123>i know, but i don't know a thing about the libuv's state
19:59:49  <piscisaureus_>and then wait until all the old connections are terminated
20:00:02  <piscisaureus_>peter123: well, you can't really do that
20:00:23  <piscisaureus_>peter123: what you could do is just share the listening socket
20:00:38  <piscisaureus_>and when you want to upgrade you send the listening socket to another process
20:00:45  <piscisaureus_>and then stop accepting in the old proces
20:01:05  <piscisaureus_>peter123: after that, wait for all the existing connections to terminate
20:01:12  <piscisaureus_>after that kill the old process
20:03:14  <peter123>hm..but the sockets can't "transfer" the connected stream from one proces to the other? i thought it's possible
20:03:34  <piscisaureus_>peter123: yes, sure, that's possible
20:03:57  <piscisaureus_>peter123: but suppose you do that, then at some point the old process has to stop reading packets and the new one starts
20:04:06  <piscisaureus_>but the new one doesn't know what to do with the data
20:04:17  <piscisaureus_>because it starts in the middle of a stream of bytes
20:04:20  <peter123>yes i know..but that's why it's research :)
20:04:29  <piscisaureus_>peter123: well, ok, good luck :-)
20:04:39  <peter123>i'll have to do some kind of synchronization of course
20:05:03  <peter123>ok thank you for your help
20:05:09  <piscisaureus_>peter123: you also have to control very tightly when the old process stops reading and the new process starts
20:05:26  <piscisaureus_>peter123: that may be very difficult and/or impossible :-)
20:07:33  <peter123>maybe. i can still do reconnect from client but that's not so cool :)
20:10:01  * japjquit (Read error: Connection reset by peer)
20:21:13  * peter123quit (Quit: bye)
20:26:36  <indutny>you can use shared memory and semaphores
20:26:45  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
20:31:56  * dshaw_joined
20:44:24  * brsonjoined
20:46:20  * AndreasMadsenquit (Remote host closed the connection)
21:42:33  * rendarquit
21:45:17  * loladirojoined
21:47:45  * loladiroquit (Client Quit)
21:57:20  * ericktjoined
21:57:49  <saghul>anybody knows how to run something in Windows with elevated privileges? apparently being an administrator is not enough :-S
22:06:48  * dshaw_quit (Quit: Leaving.)
22:16:50  * felixgequit (Quit: felixge)
23:08:13  * loladirojoined
23:12:21  * loladiroquit (Quit: loladiro)
23:22:02  * TheJHquit (Ping timeout: 244 seconds)
23:27:20  * isaacsjoined
23:27:34  * loladirojoined
23:32:05  * iraquit (Quit: Leaving...)
23:45:24  * mikealquit (Quit: Leaving.)
23:45:53  * mikealjoined
23:47:54  * loladiroquit (Ping timeout: 265 seconds)
23:51:37  * loladirojoined
23:52:33  * mikealquit (Quit: Leaving.)
23:59:17  * bnoordhuisjoined