00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:10  * ircretaryjoined
00:00:13  * hzquit
00:00:59  <bnoordhuis>trevnorris: clang++ -I/path/to/v8/include -Wall -Wextra test.cc /path/to/v8/out/x64.debug/obj.target/tools/gyp/libv8_{base,nosnapshot}.a
00:01:19  <bnoordhuis>replace x64.debug with whatever you built (ia32.release, native, etc.)
00:03:21  * kazuponquit (Remote host closed the connection)
00:07:24  * benoitcquit (Excess Flood)
00:07:49  <trevnorris>bnoordhuis: thanks. also, what do you think about the "we no longer track ASCII in v8, which made utf8 conversion extremely fast" in the response?
00:08:16  <bnoordhuis>trevnorris: that it's a shame but not unexpected
00:08:17  * perezdjoined
00:08:50  <bnoordhuis>i've known for some time that v8 is replacing ascii with latin1
00:09:01  <trevnorris>oh, is that why.
00:09:19  <bnoordhuis>because the chromium guys really, really want that iirc
00:10:11  * loladirojoined
00:11:29  * sblomquit (Ping timeout: 256 seconds)
00:11:57  * benoitcjoined
00:13:22  * perezdquit (Ping timeout: 256 seconds)
00:17:03  * perezdjoined
00:19:40  * mikealjoined
00:19:56  <trevnorris>bnoordhuis: have any tips why i'm getting the following: https://gist.github.com/trevnorris/5086924
00:20:05  * saghulquit (Ping timeout: 248 seconds)
00:20:31  <bnoordhuis>trevnorris: add -pthread
00:20:36  * dominictarrjoined
00:20:44  * indexzerojoined
00:20:46  * sblomjoined
00:21:10  <bnoordhuis>if it complains about clock_gettime or some such, add -lrt
00:21:21  <trevnorris>you rock.
00:21:29  * trevnorrisbows to bnoordhuis' knowledge
00:21:36  <bnoordhuis>np :)
00:22:10  <bnoordhuis>semi-obscure factoid: clock_gettime is finally part of glibc core as of the latest release
00:23:35  <tjfontaine>sblom: EWRONGCHAN but ok
00:24:10  <tjfontaine>sblom: I'm not too worried about it yet, it's just a blocker on doing release automation
00:25:53  * c4milojoined
00:30:12  <MI6>libuv-v0.8: #14 UNSTABLE linux (2/158) osx (3/158) smartos (6/158) http://jenkins.nodejs.org/job/libuv-v0.8/14/
00:35:13  * karupaneruraquit (Excess Flood)
00:35:29  * karupanerurajoined
00:37:03  * perezdquit (Quit: perezd)
00:40:03  <trevnorris>bnoordhuis: just applied that patch and ran your test. still ~30% slower than 3.15.11, but 77x's faster than current master.
00:40:28  <bnoordhuis>i guess that's something
00:41:06  <tjfontaine>I don't really understand, so they made a change to make utf8 faster and broke everything in its wake, but in such a way that they didn't notice it?
00:47:44  <trevnorris>bnoordhuis: actually, once I bumped up the loop from 64 to 256 i'm seeing the same speed w/ the patch. going to double check, but i'm pretty sure.
00:49:33  * perezdjoined
00:54:09  * perezdquit (Ping timeout: 245 seconds)
00:56:12  <trevnorris>bnoordhuis: nooop. forgot to build the test again. =P
00:56:19  <bnoordhuis>hah :)
00:56:32  <trevnorris>actually showed slightly worse. (~47%)
00:57:40  <trevnorris>so any thoughts on what this means for node's upgrade path? i mean, if they've switched to optimizing for latin1, would node follow?
01:01:04  <bnoordhuis>i don't know yet
01:02:32  <tjfontaine>it means that for sure .10 isn't moving off of 3.14 :)
01:03:02  <bnoordhuis>well, yes :)
01:03:09  <trevnorris>well, if v8 is allowed to break out shit, can we break mongoose? ;-)
01:03:52  * EhevuTovquit (Quit: This computer has gone to sleep)
01:05:00  <trevnorris>bnoordhuis: oh, and awesome response on 4884
01:05:31  <bnoordhuis>4884? was that the arraybuffers guy?
01:05:39  <trevnorris>yeah
01:06:36  <tjfontaine>:)
01:07:49  * benoitcquit (Excess Flood)
01:09:27  * benoitcjoined
01:09:36  * loladiroquit (Quit: loladiro)
01:11:04  * trevnorrisquit (Quit: Leaving)
01:13:48  * kazuponjoined
01:16:48  * loladirojoined
01:19:11  * kazuponquit (Ping timeout: 245 seconds)
01:23:35  * c4miloquit (Remote host closed the connection)
01:23:42  <sblom>tjfontaine: Took me a second to figure out your EWRONGCHAN error. :P
01:23:45  <sblom>Now I understand.
01:23:50  <sblom>Roger.
01:33:02  * mikealquit (Quit: Leaving.)
01:37:06  * abraxasjoined
01:44:41  <tjfontaine>sblom: :)
01:45:15  * c4milojoined
01:57:18  <tjfontaine>http://jenkins.nodejs.org/job/nodejs-v0.8/DESTCPU=ia32,label=windows/24/consoleText argh, damn you msbuild, thanks for returning nonzero but not telling me why
02:00:13  <MI6>nodejs-v0.8: #24 FAILURE linux-x64 (1/467) smartos-x64 (2/467) smartos-ia32 (2/467) osx-x64 (2/467) linux-ia32 (1/467) windows-ia32 (2/467) osx-ia32 (1/467) http://jenkins.nodejs.org/job/nodejs-v0.8/24/
02:08:11  * benoitcquit (Excess Flood)
02:08:35  * mikealjoined
02:10:27  * benoitcjoined
02:13:19  * bnoordhuisquit (Ping timeout: 245 seconds)
02:19:42  * c4miloquit (Remote host closed the connection)
02:21:23  * mikealquit (Quit: Leaving.)
02:22:11  * bradleymeckquit (Quit: bradleymeck)
02:22:16  * c4milojoined
02:30:42  * abraxasquit (Remote host closed the connection)
02:38:39  * dapquit (Quit: Leaving.)
02:39:29  * dapjoined
02:40:34  * dapquit (Client Quit)
02:45:13  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:50:12  * abraxasjoined
03:02:09  * brsonquit (Quit: leaving)
03:03:48  * sblomquit (Ping timeout: 256 seconds)
03:08:35  * benoitcquit (Excess Flood)
03:09:27  * benoitcjoined
03:35:17  * kazuponjoined
03:35:22  * kazuponquit (Remote host closed the connection)
03:35:42  * kazuponjoined
03:37:53  * perezdjoined
03:38:26  * perezdquit (Client Quit)
03:38:38  * perezdjoined
04:05:25  * wavded_quit (Read error: Operation timed out)
04:06:38  * dscapequit (Ping timeout: 246 seconds)
04:07:57  * Raynosquit (Ping timeout: 245 seconds)
04:08:57  * benoitcquit (Excess Flood)
04:12:27  * benoitcjoined
04:18:16  * brsonjoined
04:21:10  * benoitcquit (Excess Flood)
04:23:09  * abraxasquit (Remote host closed the connection)
04:28:28  * benoitcjoined
04:54:26  * c4miloquit (Remote host closed the connection)
04:59:34  * wolfeidauquit (Read error: Connection reset by peer)
04:59:43  * wolfeidaujoined
05:08:48  * dominictarrquit (Quit: dominictarr)
05:16:54  * abraxasjoined
05:20:33  * Chip_Zeroquit (Ping timeout: 248 seconds)
05:37:16  * brsonquit (Quit: leaving)
05:45:40  * benoitcquit (Excess Flood)
05:51:28  * benoitcjoined
05:53:57  * Raynosjoined
06:02:08  * wolfeidauquit (Remote host closed the connection)
06:07:13  * dscapejoined
06:16:00  * CAPSLOCKBOTjoined
06:16:06  * wavded_joined
06:19:27  * stagas_joined
06:19:29  * wolfeidaujoined
06:21:16  * stagasquit (Ping timeout: 245 seconds)
06:21:22  * stagas_changed nick to stagas
06:35:09  * csaohjoined
06:57:40  * csaohquit (Quit: csaoh)
07:11:54  * mikealjoined
07:15:42  * slaskisjoined
07:17:10  * Chip_Zerojoined
07:19:46  * felixgejoined
07:19:46  * felixgequit (Changing host)
07:19:46  * felixgejoined
07:19:53  * felixgequit (Client Quit)
07:20:44  * felixgejoined
07:20:44  * felixgequit (Changing host)
07:20:44  * felixgejoined
07:26:47  * perezdquit (Quit: perezd)
07:29:59  * stagasquit (Ping timeout: 245 seconds)
07:31:24  * dsantiagoquit (Ping timeout: 276 seconds)
07:31:54  * `3rdEdenjoined
07:35:42  * dsantiagojoined
07:37:21  * benoitcquit (Excess Flood)
07:37:23  * rendarjoined
07:42:24  * dsantiagoquit (Quit: Leaving...)
07:47:01  * benoitcjoined
07:50:15  * dsantiagojoined
07:55:37  * felixgequit (Quit: http://www.debuggable.com/)
08:05:15  * Raltjoined
08:06:27  * AvianFluquit (Remote host closed the connection)
08:16:47  * saghuljoined
08:36:36  * csaohjoined
08:50:28  <MI6>joyent/node: Felix Böhm master * 3e64b56 : events: loop backwards in removeListener `removeAllListeners` is removin - http://git.io/LXWpVQ
09:04:52  <MI6>nodejs-master: #58 FAILURE windows-x64 (12/546) windows-ia32 (12/546) http://jenkins.nodejs.org/job/nodejs-master/58/
09:13:22  * Raltquit (Ping timeout: 245 seconds)
09:13:35  * Chip_Zeroquit (Changing host)
09:13:35  * Chip_Zerojoined
09:28:22  * loladiroquit (Quit: loladiro)
09:29:10  * Raltjoined
09:36:26  * felixgejoined
09:36:26  * felixgequit (Changing host)
09:36:26  * felixgejoined
10:00:04  * kazuponquit (Remote host closed the connection)
10:11:30  * indexzeroquit (Quit: indexzero)
10:14:33  * slaskisquit (Quit: slaskis)
10:42:00  * abraxasquit (Remote host closed the connection)
10:42:46  * slaskisjoined
10:53:30  * hzjoined
11:10:19  * stagasjoined
11:14:14  * stagasquit (Client Quit)
11:16:21  * csaohquit (Quit: csaoh)
11:21:38  * stagasjoined
11:28:46  * slaskisquit (Quit: slaskis)
11:52:13  * csaohjoined
12:12:08  * Stephenjoined
12:22:42  * stagas_joined
12:25:24  * stagasquit (Ping timeout: 245 seconds)
12:25:37  * stagas_changed nick to stagas
12:33:46  <Stephen>paddybyers still come here?
12:34:04  * c4milojoined
12:36:13  * benoitcquit (Excess Flood)
12:36:51  * sgallaghjoined
12:38:01  * benoitcjoined
12:39:02  * stagas_joined
12:40:54  * stagasquit (Ping timeout: 264 seconds)
12:40:58  * stagas_changed nick to stagas
12:42:15  * abraxasjoined
12:42:25  * hzquit
12:46:46  * abraxasquit (Ping timeout: 250 seconds)
13:05:51  * piscisaureus_joined
13:08:17  * bnoordhuisjoined
13:09:59  * bnoordhu1sjoined
13:11:41  <bnoordhu1s>indutny: https://github.com/joyent/node/pull/4918 <- wut?
13:12:03  * bnoordhuisquit (Client Quit)
13:12:07  * bnoordhu1schanged nick to bnoordhuis
13:14:47  * Stephenquit (Remote host closed the connection)
13:17:02  <piscisaureus_>WUT
13:17:46  <piscisaureus_>bnoordhuis: indutny: the patch itself is harmless but the comment about O(n) vs O(n^2) is utter bs
13:18:07  * benoitcquit (Excess Flood)
13:18:30  * qmx|awaychanged nick to qmx
13:18:49  <piscisaureus_>well ok - it is true in the removeAllListeners case.
13:19:28  <bnoordhuis>yeah, i see it now - it's doing a linear scan
13:20:05  <bnoordhuis>or rather, removeListener does a linear scan and removeAllListeners is calling it repeatedly with listeners[listeners.length-1]
13:20:31  * benoitcjoined
13:21:09  <bnoordhuis>the original commit log could have been better :-/
13:21:16  <piscisaureus_>Yeah
13:21:20  <bnoordhuis>so good job, indutny :)
13:39:37  * hzjoined
13:55:27  * piscisaureus_quit (Ping timeout: 260 seconds)
14:00:34  * piscisaureus_joined
14:14:53  * piscisaureus_quit (Ping timeout: 256 seconds)
14:14:58  * bradleymeckjoined
14:32:03  <MI6>joyent/libuv: Ben Noordhuis v0.8 * b0c5e62 : linux: make uv_cpu_info() handle absent procfs Return an error when read - http://git.io/4lk7xA
14:33:52  <MI6>libuv-v0.8: #15 UNSTABLE smartos (6/158) linux (2/158) osx (2/158) http://jenkins.nodejs.org/job/libuv-v0.8/15/
14:35:29  <indutny>hi guys
14:38:36  <MI6>joyent/libuv: Timothy J Fontaine v0.8 * c0f5582 : test: fix tap output even when ok but have output (+1 more commits) - http://git.io/mRBUHw
14:38:59  <bnoordhuis>forgot to amend the commit logs
14:40:25  <MI6>libuv-v0.8: #16 UNSTABLE smartos (6/158) linux (1/158) osx (2/158) http://jenkins.nodejs.org/job/libuv-v0.8/16/
14:40:34  <MI6>joyent/libuv: Timothy J Fontaine v0.8 * 95577a8 : test: fix tap output even when ok but have output This is a back-port of (+1 more commits) - http://git.io/bUS8aw
14:42:26  <MI6>libuv-v0.8: #17 UNSTABLE smartos (6/158) linux (1/158) osx (1/158) http://jenkins.nodejs.org/job/libuv-v0.8/17/
14:42:30  <MI6>joyent/node: Ben Noordhuis v0.8 * 532d992 : cluster: propagate bind errors This commit fixes a bug where the cluster - http://git.io/l-IIWA
14:43:31  <MI6>joyent/node: Ben Noordhuis master * 862f7b8 : Merge remote-tracking branch 'origin/v0.8' (+3 more commits) - http://git.io/RYkhLg
14:55:04  * stagas_joined
14:56:53  * stagasquit (Ping timeout: 256 seconds)
14:58:17  * stagasjoined
15:00:10  <MI6>nodejs-v0.8: #25 FAILURE linux-x64 (8/468) smartos-x64 (14/468) smartos-ia32 (2/468) osx-x64 (9/468) linux-ia32 (1/468) windows-ia32 (2/467) osx-ia32 (3/468) http://jenkins.nodejs.org/job/nodejs-v0.8/25/
15:00:47  * stagas__joined
15:01:12  * stagas_quit (Ping timeout: 276 seconds)
15:02:02  <MI6>nodejs-master: #59 UNSTABLE osx-x64 (1/547) osx-ia32 (122/547) linux-x64 (1/547) smartos-ia32 (112/547) windows-x64 (12/547) windows-ia32 (12/547) linux-ia32 (14/547) http://jenkins.nodejs.org/job/nodejs-master/59/
15:03:02  * stagasquit (Ping timeout: 255 seconds)
15:03:12  * stagas__changed nick to stagas
15:04:23  * piscisaureus_joined
15:08:19  <MI6>joyent/libuv: Ben Noordhuis master * 0b26af3 : unix: handle POLLERR and POLLHUP in uv__stream_io Fixes a busy loop when - http://git.io/laHSWQ
15:10:30  <MI6>libuv-master: #30 UNSTABLE osx (2/183) linux (2/183) smartos (5/183) http://jenkins.nodejs.org/job/libuv-master/30/
15:10:58  <piscisaureus_>tjfontaine: how's the windows buildbot coming aloing?
15:11:02  <piscisaureus_>*along?
15:14:11  <MI6>joyent/node: Ben Noordhuis master * f7b06e0 : deps: upgrade libuv to 0b26af3 - http://git.io/C0lPrA
15:16:24  * hzquit (Ping timeout: 264 seconds)
15:19:02  * piscisaureus__joined
15:19:11  * piscisaureus__changed nick to piscisaureus
15:20:01  * piscisaureus_quit (Ping timeout: 245 seconds)
15:21:38  * hzjoined
15:23:53  * stagas_joined
15:25:48  * stagasquit (Ping timeout: 250 seconds)
15:25:59  * stagasjoined
15:28:21  * stagas_quit (Ping timeout: 245 seconds)
15:31:18  * stagasquit (Ping timeout: 264 seconds)
15:33:03  <MI6>nodejs-master: #60 UNSTABLE osx-ia32 (1/547) linux-x64 (1/547) windows-x64 (14/547) windows-ia32 (13/547) http://jenkins.nodejs.org/job/nodejs-master/60/
15:34:15  * mikealquit (Quit: Leaving.)
15:43:05  * bnoordhuisquit (Ping timeout: 255 seconds)
15:45:48  * hzquit (Ping timeout: 264 seconds)
15:48:05  * benoitcquit (Excess Flood)
15:50:22  * hzjoined
15:52:50  <isaacs>piscisaureus: no, the comment about O(n) vs O(n^2) is utter bsa.
15:52:56  <isaacs>piscisaureus: you don't use Big-O unless n is Big
15:53:00  <isaacs>piscisaureus: that's what's bs about it.
15:53:21  <isaacs>piscisaureus: a loop over an array of <10 items, vs looping over that array twice, is not even a measurable difference
15:53:22  <piscisaureus>isaacs: CS snob :)
15:53:30  <piscisaureus>no offence btw :)
15:53:32  * benoitcjoined
15:53:38  <isaacs>piscisaureus: none taken, that's a compliment :)
15:53:42  <piscisaureus>yeah
15:53:55  <isaacs>piscisaureus: if it took >1ns to remove a listener, i mean, fine
15:54:01  <isaacs>"big" is relative
15:54:13  <isaacs>if removing a listener involves a database call or a fs thing, then 100 is >> than 10
15:54:22  <piscisaureus>true
15:54:39  <isaacs>but who's calling removeAllListeners, on emitters than have > 2 listeners, often enough for that to matter?
15:54:45  <isaacs>nobody
15:55:10  <isaacs>call in 1 hour btw
15:58:36  <piscisaureus>isaacs: call in 1 hour?
15:58:37  <piscisaureus>Did we move?
15:58:45  <isaacs>piscisaureus: yeah, to tuesday
15:58:50  <isaacs>at 9
15:59:08  <piscisaureus>Oh - ok, that's fine
15:59:37  <piscisaureus>lemme check if ben knows
16:00:43  * AvianFlujoined
16:01:10  <csaoh>does uv_is_readable work with polls ? For instance, can i call uv_poll_start(handle, events, callback); and then uv_is_readable(handle) ?
16:04:51  <piscisaureus>csaoh: no - uv_is_readable works for streams only
16:05:42  <csaoh>there is no way to know which flags has been applied to uv_poll_start then ?
16:05:54  <isaacs>indutny: can you review this? https://github.com/joyent/node/pull/4911
16:06:00  <isaacs>indutny: especially the API changes
16:06:15  <isaacs>indutny: i'll probably squash into 3 commits
16:07:45  * mikealjoined
16:08:54  <piscisaureus>csaoh: no, you're right
16:09:18  <csaoh>alriiight, i will find a way around, then. thanks !
16:16:00  <MI6>joyent/node: Paolo Fragomeni master * 8e2376b : Update domain.markdown - http://git.io/ouUVog
16:27:31  * `3rdEdenchanged nick to `3E|DINNER
16:30:14  * mikealquit (Quit: Leaving.)
16:31:38  <MI6>nodejs-master: #61 UNSTABLE windows-x64 (13/547) windows-ia32 (12/547) http://jenkins.nodejs.org/job/nodejs-master/61/
16:45:03  * piscisaureusquit (Ping timeout: 256 seconds)
16:47:49  * nsmjoined
16:48:33  * mikealjoined
16:50:50  <indutny>isaacs: status call in 10 minutes?
16:50:59  <isaacs>indutny: yessir
16:56:27  * sblomjoined
16:58:19  * mikealquit (Quit: Leaving.)
16:59:14  <indutny>bnoordhuis: where are ya
16:59:48  * qmxchanged nick to qmx|lunch
17:00:44  <isaacs>no dutchmen on skype :(
17:01:15  * mikealjoined
17:04:04  * perezdjoined
17:04:17  * bnoordhuisjoined
17:04:25  <bnoordhuis>call?
17:06:50  * perezd_joined
17:08:29  * perezdquit (Ping timeout: 252 seconds)
17:08:29  * perezd_changed nick to perezd
17:12:00  * brsonjoined
17:14:44  * dapjoined
17:16:13  * kazuponjoined
17:16:23  * mikealquit (Quit: Leaving.)
17:23:53  * bnoordhuisquit (Ping timeout: 252 seconds)
17:29:49  * trevnorrisjoined
17:39:09  * loladirojoined
17:42:05  * loladiroquit (Client Quit)
17:43:21  * bradleymeckquit (Quit: bradleymeck)
17:49:46  * mikealjoined
17:54:01  <sblom>I wish bnoordhuis were here, but I'll ask this anyway. What do we think the right long term solution is for this: https://github.com/joyent/node/pull/4660
17:54:39  <tjfontaine>it felt like his opinion was there's not much core should do about it
17:54:58  <tjfontaine>but I won't speak for him
17:56:27  * qmx|lunchchanged nick to qmx
17:59:52  <sblom>I found a place where bnoordhuis outlines what he thinks the long term approach should be: https://github.com/joyent/node/issues/4525
18:01:58  <trevnorris>sblom: there has been a bit of discussion about this. indutny also has given a couple ideas.
18:02:01  <sblom>I'm coming around to his position, but it's hard for me to come to terms in the short term with "One of Node's biggest production deployments needs to run a custom build with different hard-coded performance tradeoffs in order to not run out of memory". https://github.com/jmatthewsr-ms/node-slab-memory-issues
18:02:05  <trevnorris>there's also new discussion in https://github.com/joyent/node/issues/4742
18:03:35  <trevnorris>now that the streams2 regressions have stabalized, i'm going to revisit the issue.
18:07:06  <trevnorris>first thing I wanted to do is separate the actual storage part of the buffer into another class. slabs don't need all the buffer extras, and it could just as easily be used by typed arrays. thoughts?
18:07:16  * loladirojoined
18:09:10  * loladiroquit (Client Quit)
18:10:55  <trevnorris>sblom, tjfontaine: i've already had some if this discussion w/ bnoordhuis and he was cool with it: https://groups.google.com/forum/?fromgroups=#!topic/nodejs/W9xFcabjXGo
18:13:00  * TooTallNatejoined
18:19:48  * bradleymeckjoined
18:25:55  * `3E|DINNERquit (Quit: brb)
18:25:56  * kazuponquit (Remote host closed the connection)
18:30:23  * bnoordhuisjoined
18:32:29  * brsonquit (Ping timeout: 245 seconds)
18:34:20  * loladirojoined
18:34:59  * bnoordhuisquit (Ping timeout: 260 seconds)
18:35:25  * csaohquit (Quit: csaoh)
18:36:03  <isaacs>trevnorris: these sound like interesting optimization opportunities.
18:36:14  <trevnorris>isaacs: you mean about buffers?
18:36:19  <isaacs>trevnorris: do keep in mind, of course, as bnoordhuis says, node's priority is speed, not space.
18:36:23  * brsonjoined
18:36:24  <isaacs>trevnorris: yeah
18:36:52  <trevnorris>isaacs: completely. and of course that's always my primary concern. ;-)
18:37:01  <isaacs>if we can make changes to use less space and not increase our time usage, so much the better.
18:37:12  <isaacs>of course, there's a third variable in teh time-space tradeoff: complexity
18:37:35  <isaacs>if you reduce space, keep time the same, but increase complexity dramatically, it might not be worth it
18:41:25  <MI6>joyent/node: Bert Belder master * c0a5af8 : Revert "build, windows: disable SEH" This is no longer necessary - the u (+1 more commits) - http://git.io/bDAR4A
18:41:36  * loladiroquit (Quit: loladiro)
18:44:23  * isaacs&
18:44:23  <LOUDBOT>THEY WON'T SEE THAT ONE COMING
18:44:32  <trevnorris>understood. honestly i'm hoping the code changes i'm making just generate more discussion than anything else. indutny and bnoordhuis have way more experience here than I do.
18:49:32  * qmxchanged nick to qmx|coffee
18:57:03  * benoitcquit (Excess Flood)
18:57:53  <indutny>huh
18:58:02  * `3rdEdenjoined
18:58:19  <indutny>space matters too
18:58:35  <indutny>when it is O(n) or bigger
18:58:42  <indutny>only fixed space doesn't matter
18:58:44  <indutny>(U)
18:59:07  * loladirojoined
18:59:42  <MI6>nodejs-master: #62 UNSTABLE osx-x64 (1/547) osx-ia32 (1/547) windows-x64 (12/547) windows-ia32 (14/547) http://jenkins.nodejs.org/job/nodejs-master/62/
19:00:39  <trevnorris>indutny: what do you think about creating a separate class that is used by any other that requires external memory? by separating it, i'm hoping to make it simpler to focus on things like gc.
19:00:59  <indutny>huh
19:01:04  <indutny>like for handles, slowbuffers, etc?
19:01:28  <indutny>this seems to be a little bit wasteful, does it give you better performance or what?
19:01:53  <trevnorris>right now slabs allocate memory by instantiating a buffer.
19:01:59  <trevnorris>which has a lot of extras that slabs don't need
19:02:13  <trevnorris>so i was thinking of making a more light weight version
19:03:12  <trevnorris>basically you ask it for some external memory and it returns you a pointer. then internally it handles any cleanup (the kind that are the reason for the node-slab-memory-issues repo)
19:04:00  <trevnorris>i guess it'd be a super simplistic gc of sorts? i dunno. this is really new to me. just trying to figure out the best balance of mem usage and performance.
19:05:04  <indutny>aah
19:05:19  <indutny>well, it might have a positive effect
19:05:41  <indutny>let me think
19:05:56  <indutny>this slab buffers is later sliced in small chunks, right?
19:06:00  <indutny>s/is/are/
19:06:03  * benoitcjoined
19:06:15  <trevnorris>yeah. i think it slices them up, and tries to recover them later.
19:06:15  <indutny>so.... what do you expect to gain there?
19:06:40  <trevnorris>imho, it should be the other way around. of sorts.
19:06:57  <trevnorris>slabs don't do much. just memory cleanup really.
19:07:10  <trevnorris>so why they instantiate using a buffer is beyond me.
19:07:45  <indutny>because they're later used as a buffer?
19:07:51  <indutny>and buffers are easy to slice
19:07:58  <indutny>what slabs are we talking about?
19:08:17  <trevnorris>src/slab_allocator.*
19:08:23  <indutny>Aaaah
19:08:24  <indutny>this slab
19:08:30  * piscisaureus_joined
19:09:03  <indutny>yes, its rather complicated way of doing things
19:09:17  * EhevuTovjoined
19:09:21  <MI6>joyent/libuv: piscisaureus created branch sblom-reviewme - http://git.io/8uGNcw
19:09:25  <piscisaureus_>^-- sblom: for you
19:09:36  <tjfontaine>https://github.com/tjfontaine/node/compare/nightlyfix
19:09:36  <piscisaureus_>can you review it please? :-)
19:10:38  * EhevuTovquit (Remote host closed the connection)
19:11:39  <trevnorris>indutny: so what I was thinking is for Buffer data_ to be assigned by a slab-like thing, and not worry about needing to pre-allocate Buffer pools and such.
19:11:49  * sblomquit (Ping timeout: 276 seconds)
19:12:04  <indutny>please rephrase
19:12:14  * qmx|coffeechanged nick to qmx
19:12:53  * stagasjoined
19:13:18  <indutny>don't get it this way
19:13:33  <indutny>ah
19:13:43  <indutny>so basically you want to create a contiguous chunk of memory
19:13:47  <indutny>and reference count on it
19:13:54  <trevnorris>whatever works.
19:14:05  <indutny>instead of having thing that'll occupy some space in heap
19:14:18  <trevnorris>basically my goal is to no longer need to track Buffer poolSize, SlowBuffers, FasterBuffers, etc.
19:14:18  <indutny>sounds good to me
19:14:30  <trevnorris>then also have it handled in slabs.
19:14:42  <trevnorris>single point of memory allocation/tracking/cleanup etc.
19:14:55  <trevnorris>make sense? no idea if i'm explaining this well.
19:15:43  <indutny>no, not really :)
19:15:47  <trevnorris>lol ok
19:15:49  <indutny>probably this is because of my headache
19:16:16  * nsmquit (Quit: nsm)
19:16:23  <trevnorris>so Buffers create their own contiguous chunks as pools, then there are also slabs which do the same thing basically.
19:16:28  <indutny>aaah
19:16:31  <indutny>I see
19:16:32  <trevnorris>except slabs try for some basic cleanup
19:16:37  * stagas_joined
19:16:37  <indutny>there're a lot of slabs everywhere
19:16:40  <trevnorris>yeah
19:16:45  <indutny>tls/buffer.js/slab_allocator
19:16:46  <trevnorris>each w/ their own method
19:16:53  <indutny>the thing is
19:17:01  <indutny>that going into C++ land too often is generally bad
19:17:08  <indutny>and you should avoid it where possible
19:17:17  <indutny>if your concept will not introduce more calls into C++ land
19:17:17  <trevnorris>well. buffers go to cc land every instantiation.
19:17:22  <indutny>that'll be ok
19:17:26  * stagasquit (Ping timeout: 252 seconds)
19:17:27  <indutny>so, sure go for it
19:17:33  <trevnorris>cool.
19:17:33  * stagas_changed nick to stagas
19:17:38  <indutny>having things refactored is anyway cool
19:17:43  <indutny>but this should not harm performance
19:17:49  <indutny>otherwise we won't pull it, you know
19:17:54  <indutny>not now
19:17:57  <trevnorris>yeah, wouldn't expect it
19:18:42  <trevnorris>i'm hoping to just get a performance/memory usage neutral patch that other devs like yourself could improve w/ better mem management, etc.
19:19:04  <trevnorris>just get everything to a single point that can be easily focused on.
19:19:06  <indutny>yep
19:19:09  <indutny>kewl
19:19:18  <indutny>that's what I like in your idea
19:19:27  <indutny>I've pending refactoring for node_crypto.cc
19:19:35  <indutny>but can't get it in in 0.9
19:19:40  <indutny>postponed for 0.11
19:19:53  <trevnorris>whys that?
19:21:01  <trevnorris>can anyone tell me what the RetainedBufferInfo class is for in node_buffer.cc?
19:21:40  <indutny>its just a junk
19:21:46  <trevnorris>ah, ok.
19:21:55  <indutny>ah
19:21:56  <indutny>wait
19:22:02  <indutny>waitno
19:22:06  <indutny>it's not a junk
19:22:20  <indutny>its used when profiling heap
19:22:20  <indutny> HeapProfiler::DefineWrapperClass(BUFFER_CLASS_ID, WrapperInfo);
19:22:27  <trevnorris>ah, ok
19:22:28  <trevnorris>thanks
19:24:45  * felixgequit (Quit: http://www.debuggable.com/)
19:32:08  <MI6>joyent/libuv: Bert Belder sblom-reviewme * f89125e : win/tty: fix typo in color attributes enumeration - http://git.io/n4qTDQ
19:32:10  * `3rdEdenquit (Remote host closed the connection)
19:33:09  * loladiroquit (Quit: loladiro)
19:36:24  * kazuponjoined
19:41:30  * bradleymeckquit (Quit: bradleymeck)
19:41:38  * kazuponquit (Ping timeout: 252 seconds)
19:42:21  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:43:07  * TooTallNatejoined
19:58:30  * piscisaureus_quit (Ping timeout: 252 seconds)
19:59:07  * sblomjoined
20:00:32  * benoitcquit (Excess Flood)
20:03:12  * `3rdEdenjoined
20:10:03  * benoitcjoined
20:10:18  * mikealquit (Quit: Leaving.)
20:10:52  * indexzerojoined
20:11:23  * `3rdEdenquit (Ping timeout: 245 seconds)
20:14:43  <trevnorris>there's a comment in node_object_wrap that's just "ro". anyone know what that means?
20:20:05  * piscisaureus_joined
20:21:38  <TooTallNate>trevnorris: git blame
20:21:49  <TooTallNate>(might shed some light)
20:22:24  <trevnorris>heh, ok.
20:28:17  <piscisaureus_>ok, me off
20:28:33  * piscisaureus_quit (Read error: Connection reset by peer)
20:29:50  * `3rdEdenjoined
20:37:43  <trevnorris>indutny: to make sure i know exactly what's going on, i'm starting a new class from scratch. from the use cases we've discussed, you think it should inheret from ObjectWrap?
20:40:43  * mikealjoined
20:49:30  * mikealquit (Ping timeout: 250 seconds)
20:54:55  * sgallaghquit (Remote host closed the connection)
20:55:24  * sgallaghjoined
21:12:08  * sgallaghquit (Remote host closed the connection)
21:17:01  * mikealjoined
21:21:16  * mikealquit (Ping timeout: 245 seconds)
21:35:15  * kuplatup1uchanged nick to kuplatupsu
21:38:43  * rendarquit
21:41:18  * brsonquit (Ping timeout: 272 seconds)
21:41:32  * brsonjoined
21:41:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
21:52:21  <tjfontaine>bert always runs away
21:55:26  * wolfeidauquit (Remote host closed the connection)
22:00:14  * brsonquit (Ping timeout: 252 seconds)
22:02:49  * mikealjoined
22:04:55  * brsonjoined
22:06:52  * dominictarrjoined
22:10:34  * TooTallNatejoined
22:12:30  * benoitcquit (Excess Flood)
22:14:05  * benoitcjoined
22:14:12  * wolfeidaujoined
22:16:05  <trevnorris>is the ObjectWrap class supposed to help with garbage collection and external memory allocation?
22:17:03  <tjfontaine>to help with knowing when the object was released I suppose yes
22:18:06  <tjfontaine>thoughts on https://github.com/tjfontaine/libuv/compare/windowstap (sblom)
22:18:36  <tjfontaine>this was all so much nicer on the unix side being able to fgets and forget :)
22:18:53  * qmxchanged nick to qmx|away
22:19:34  <MI6>joyent/node: Nathan Rajlich master * dd6432d : process: invoke EventEmitter on `process` This properly sets the `_maxLi - http://git.io/ozu18Q
22:20:04  <isaacs>Ok, last chance for anyone to review GH-4911
22:20:45  <tjfontaine>it builds, ship it
22:22:19  * stagas_joined
22:22:20  <tjfontaine>isaacs: also thoughts on https://github.com/tjfontaine/node/compare/nightlyfix?
22:23:02  <tjfontaine>it's pretty straight forward, just brings ms and unix in line, and changes where we specify the tag
22:23:06  * stagasquit (Ping timeout: 250 seconds)
22:23:13  * stagas_changed nick to stagas
22:35:13  <MI6>nodejs-master: #63 UNSTABLE windows-x64 (12/547) windows-ia32 (13/547) http://jenkins.nodejs.org/job/nodejs-master/63/
22:35:26  <tjfontaine>green board except for that pesky windows
22:37:51  * `3rdEdenquit (Remote host closed the connection)
22:42:59  * brsonquit (Remote host closed the connection)
22:43:14  * brsonjoined
22:44:20  <MI6>joyent/node: Timothy J Fontaine master * f9ba9f7 : build: define nightly tag external to build system (+5 more commits) - http://git.io/bLTeoQ
22:44:37  <isaacs>stream-writable-refactor, also ^
22:46:30  <TooTallNate>isaacs: nice :)
22:48:17  * stagasquit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204])
22:52:31  * dominictarrquit (Quit: dominictarr)
23:00:18  <MI6>nodejs-master: #64 UNSTABLE windows-x64 (12/547) windows-ia32 (13/547) http://jenkins.nodejs.org/job/nodejs-master/64/
23:01:49  <tjfontaine>ooh two builds with green boards for unicies
23:03:47  * arlolrajoined
23:08:42  * `3rdEdenjoined
23:13:27  * mikealquit (Quit: Leaving.)
23:16:48  * `3rdEdenquit (Ping timeout: 245 seconds)
23:20:55  * c4miloquit (Remote host closed the connection)
23:40:13  * arlolraquit (Quit: Linkinus - http://linkinus.com)
23:44:27  * benoitcquit (Quit: unexpected thing makes me to quit)
23:46:55  * mikealjoined
23:47:35  * benoitcjoined
23:52:59  * benoitcquit (Excess Flood)