00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:01:21  <tjfontaine>helps to name things right so you don't freak out :)
00:01:38  <trevnorris>heh, what happened?
00:01:53  * c4milojoined
00:02:07  <tjfontaine>http://us-east.manta.joyent.com/tjfontaine/public/native-buffer.svg
00:02:18  <tjfontaine>I thought I was testing array buffers but really native buffers :)
00:02:28  <trevnorris>hah
00:04:58  <tjfontaine>http://us-east.manta.joyent.com/tjfontaine/public/array-buffer.svg
00:05:15  <tjfontaine>memset makes an appearance since this is 1024
00:05:24  * dapquit (Quit: Leaving.)
00:05:41  <trevnorris>oh, yup
00:05:43  <tjfontaine>it looks pretty much the same otherwise
00:05:57  <tjfontaine>as far as where it's spending time
00:06:19  <tjfontaine>slightly less work because we're not pooling the small buffers
00:07:12  * loladirojoined
00:07:17  <tjfontaine>also, it's grabbing the isolate every time instead of a cached
00:07:34  <trevnorris>mine? yeah. it's in a module so I'm not caching it.
00:07:44  <trevnorris>I could do that real quick.
00:08:05  <tjfontaine>not really significant, I think it's at the point where it would be interesting to see it as a part of core
00:08:23  <tjfontaine>I mean it's significant in that it is showing up in the sample
00:08:47  * loladiroquit (Client Quit)
00:09:54  * defunctzombie_zzchanged nick to defunctzombie
00:13:50  * mikealjoined
00:13:52  <trevnorris>out. i'll be interested to see if you dig anything else up.
00:14:08  <trevnorris>tjfontaine: it'd be trivial to patch v8 to not memset and see if that makes a difference.
00:14:28  <tjfontaine>trevnorris: well, I think for implementation we can just always assign external memory, it works the same as we have it now
00:14:57  <trevnorris>not exactly. we use a hack to tie the parent buffer to the sliced children. that won't work with an array buffer.
00:14:57  <tjfontaine>trevnorris: because we'd rarely be making 1024 from cc, and 1024 would come off the pool in js?
00:15:19  <trevnorris>sorry, only half reading.
00:15:24  <tjfontaine>k
00:15:28  <tjfontaine>catch up later
00:15:34  <trevnorris>sounds good.
00:15:36  * trevnorris&
00:15:36  <LOUDBOT>YOU CAN CALL THE POLICE BUT THE POLICE MIGHT NOT COME
00:20:05  * defunctzombiechanged nick to defunctzombie_zz
00:27:20  * c4miloquit (Remote host closed the connection)
00:38:49  <tjfontaine>trevnorris: virtually no difference between native and arraybuffer implementation at 1m http://us-east.manta.joyent.com/tjfontaine/public/array-buffer-1m.svg http://us-east.manta.joyent.com/tjfontaine/public/native-buffer-1m.svg
00:47:53  * AvianFluquit (Remote host closed the connection)
00:48:31  * AvianFlujoined
00:51:26  * st_lukejoined
00:53:47  * loladirojoined
00:54:13  <tjfontaine>trevnorris: and with always alloc'ing at 1024 it looks fairly reasonable as well, http://us-east.manta.joyent.com/tjfontaine/public/array-buffer-alloc.svg
00:55:04  * mcavagejoined
00:59:53  <isaacs>ok, streams3 is now passing all tests other than simple/test-streams2-*
01:00:05  <isaacs>and most of those are rather suspect anyway.
01:03:08  * mcavagequit (Remote host closed the connection)
01:08:32  * defunctzombie_zzchanged nick to defunctzombie
01:09:16  * defunctzombiequit (Changing host)
01:09:16  * defunctzombiejoined
01:14:43  * mikolalysenkoquit (Ping timeout: 268 seconds)
01:14:53  * st_lukequit (Remote host closed the connection)
01:14:59  * bradleymeckjoined
01:16:41  * julianduquejoined
01:21:51  * c4milojoined
01:29:48  * mikolalysenkojoined
01:33:10  <MI6>joyent/node: isaacs master * e71d9fd : Merge remote-tracking branch 'ry/v0.10' (+6 more commits) - http://git.io/S3LuBA
01:34:02  * mikealquit (Quit: Leaving.)
01:43:32  * defunctzombiechanged nick to defunctzombie_zz
01:50:18  <MI6>nodejs-master: #309 UNSTABLE smartos-ia32 (6/612) smartos-x64 (8/612) http://jenkins.nodejs.org/job/nodejs-master/309/
01:51:59  * icarotjoined
01:52:10  * icarotquit (Client Quit)
01:52:49  * icarotjoined
01:53:53  * dominictarrquit (Quit: dominictarr)
01:59:49  <MI6>nodejs-master-windows: #115 UNSTABLE windows-ia32 (15/612) windows-x64 (15/612) http://jenkins.nodejs.org/job/nodejs-master-windows/115/
02:01:33  * st_lukejoined
02:05:30  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:13:35  * mcavagejoined
02:14:04  * hueniversejoined
02:21:31  * mcavagequit (Ping timeout: 276 seconds)
02:25:25  * piscisaureus_quit (Ping timeout: 276 seconds)
02:32:48  * piscisaureus_joined
02:36:53  * st_lukequit (Read error: Connection reset by peer)
02:45:23  * st_lukejoined
02:56:01  * julianduquequit (Quit: leaving)
02:56:31  * defunctzombie_zzchanged nick to defunctzombie
02:59:15  * brson_quit (Ping timeout: 260 seconds)
03:02:40  * bradleymeckquit (Quit: bradleymeck)
03:03:46  * mikolalysenkoquit (Ping timeout: 246 seconds)
03:09:47  * mikolalysenkojoined
03:10:27  * icarotquit (Read error: Connection reset by peer)
03:10:53  * icarotjoined
03:11:42  * st_lukequit (Read error: Connection reset by peer)
03:12:46  * loladiroquit (Read error: Connection reset by peer)
03:14:04  * loladirojoined
03:42:45  * icarot2joined
03:43:40  * bradleymeckjoined
03:46:38  * icarotquit (Ping timeout: 240 seconds)
03:47:18  * bradleymeckquit (Client Quit)
03:48:55  * c4miloquit (Remote host closed the connection)
03:49:39  * defunctzombiechanged nick to defunctzombie_zz
03:58:59  * mikolalysenkoquit (Ping timeout: 264 seconds)
03:59:18  * mikolalysenkojoined
04:01:30  * TooTallNatejoined
04:10:46  * mikolalysenkoquit (Ping timeout: 240 seconds)
04:12:32  * kazuponjoined
04:15:05  * groundwaterquit (Quit: groundwater)
04:28:47  * AvianFlu_joined
04:31:32  * joshthecoder_changed nick to joshthecoder
04:32:10  * AvianFluquit (Ping timeout: 276 seconds)
04:40:29  * icarot2quit (Quit: Bye)
04:40:50  * icarotjoined
05:01:56  * dominictarrjoined
05:05:46  * icarotquit (Ping timeout: 240 seconds)
05:23:47  * TooTallNatequit (Quit: Computer has gone to sleep.)
05:27:47  * hueniversequit (Quit: Leaving.)
05:27:58  * hueniversejoined
05:29:22  * paddybyersjoined
05:31:23  * AvianFlu_quit (Remote host closed the connection)
05:34:14  * icarot2joined
05:59:04  * creationixquit (Read error: Operation timed out)
06:00:04  * creationixjoined
06:30:34  * dominictarrquit (Quit: dominictarr)
06:36:58  * paddybyersquit (Ping timeout: 276 seconds)
06:43:51  * csaohjoined
06:45:35  * icarot2quit (Quit: Bye)
06:45:55  * icarotjoined
06:48:59  * csaohquit (Quit: csaoh)
06:54:07  * stagasjoined
06:58:14  * rendarjoined
07:07:24  * paddybyersjoined
07:13:03  * loladiroquit (Quit: loladiro)
07:26:40  * csaohjoined
07:27:51  * wolfeidauquit (Remote host closed the connection)
07:29:46  * icarotquit (Ping timeout: 240 seconds)
07:31:57  * icarotjoined
07:33:16  <piscisaureus_>npm WARN Password passwords cannot contain these characters: "(#%*(@%"
07:33:18  <piscisaureus_>what
07:33:33  <piscisaureus_>isaacs works for the nsa now?
07:33:46  <qmx>we're doomed :P
07:36:47  * icarotquit (Ping timeout: 264 seconds)
07:53:08  * hzjoined
07:58:38  * piscisaureus_quit (Ping timeout: 240 seconds)
08:12:26  * philipsquit (Ping timeout: 246 seconds)
08:34:26  * bajtosjoined
08:58:06  * wolfeidaujoined
09:06:33  * piscisaureus_joined
09:08:59  * felixgejoined
09:10:46  * piscisaureus_quit (Ping timeout: 240 seconds)
09:25:14  * kellabytequit (Remote host closed the connection)
09:29:02  * stagasquit (Ping timeout: 240 seconds)
09:29:17  * icarotjoined
09:33:53  * icarotquit (Ping timeout: 248 seconds)
09:37:02  * kenperkinsquit (Ping timeout: 240 seconds)
09:37:48  * kenperkinsjoined
09:49:11  * wolfeidauquit (Remote host closed the connection)
09:54:43  * kazuponquit (Ping timeout: 240 seconds)
10:00:56  * kazuponjoined
10:08:31  * bajtosquit (Quit: bajtos)
10:31:05  * kazuponquit (Remote host closed the connection)
10:42:14  * piscisaureus_joined
10:59:14  * bajtosjoined
11:02:26  * icarotjoined
11:06:13  * bajtosquit (Quit: bajtos)
11:06:46  * icarotquit (Ping timeout: 246 seconds)
11:41:53  * AvianFlujoined
11:48:49  * piscisaureus_quit (Ping timeout: 248 seconds)
11:50:35  * julianduquejoined
12:00:34  * icarotjoined
12:08:14  * icarotquit (Ping timeout: 240 seconds)
12:10:52  * piscisaureus_joined
12:11:27  * philipsjoined
12:18:52  * rendarquit (Ping timeout: 268 seconds)
12:26:40  * piscisaureus_quit (Ping timeout: 276 seconds)
12:27:09  * M28_quit (Ping timeout: 264 seconds)
12:31:28  * M28joined
12:40:05  * M28_joined
12:40:05  * M28quit (Read error: Connection reset by peer)
12:45:14  * M28_quit (Read error: Connection reset by peer)
12:46:04  * M28joined
12:54:41  * bradleymeckjoined
12:55:12  * st_lukejoined
13:00:18  * st_lukequit (Remote host closed the connection)
13:05:19  * jmar777joined
13:06:45  * hzquit (Ping timeout: 248 seconds)
13:08:19  * dscape__changed nick to dscape
13:16:19  * bradleymeckquit (Quit: bradleymeck)
13:19:45  * icarotjoined
13:22:23  * bradleymeckjoined
13:29:43  * icarotquit (Ping timeout: 276 seconds)
13:30:59  * c4milojoined
13:33:13  * c4miloquit (Read error: No route to host)
13:33:22  * c4milojoined
13:34:09  * bradleymeckquit (Quit: bradleymeck)
13:39:11  * bajtosjoined
13:39:43  * mikolalysenkojoined
13:57:04  * c4miloquit (Remote host closed the connection)
13:59:56  * icarotjoined
14:02:07  * AvianFluquit (Read error: Connection reset by peer)
14:02:45  * AvianFlujoined
14:03:57  * Benvie_joined
14:04:23  * icarotquit (Ping timeout: 264 seconds)
14:04:49  * Benviequit (Ping timeout: 248 seconds)
14:08:46  * icarotjoined
14:09:06  * rendarjoined
14:10:47  * Benvie_quit (Ping timeout: 260 seconds)
14:13:55  * icarotquit (Ping timeout: 276 seconds)
14:14:51  * pachetjoined
14:24:01  * julianduquequit (Quit: leaving)
14:41:20  * c4milojoined
14:43:48  <isaacs>ircretary: tell piscisaureus_ those characters introduce url encoding bugs with basic auth in some cases. thank erlang and node 0.4 for this, mostly.
14:43:48  <ircretary>isaacs: I'll be sure to tell piscisaureus_
14:50:15  * hzjoined
14:51:15  * mcavagejoined
14:51:26  * kellabytejoined
14:51:29  * paulfryzeljoined
14:56:07  * bnoordhuisjoined
14:58:58  * dominictarrjoined
15:02:46  * udpjoined
15:07:19  <mmalecki>bnoordhuis: hey, you around?
15:09:23  * mikolalysenkoquit (Ping timeout: 256 seconds)
15:23:26  * bajtosquit (Quit: bajtos)
15:28:02  * kazuponjoined
15:29:19  * mcavagequit (Remote host closed the connection)
15:33:01  * kazuponquit (Remote host closed the connection)
15:34:20  * bnoordhuisquit (Ping timeout: 260 seconds)
15:43:17  * kenperkins_joined
15:45:22  * kenperkinsquit (Ping timeout: 246 seconds)
15:49:12  * mikolalysenkojoined
15:52:04  * dapjoined
15:53:09  * dominictarrquit (Quit: dominictarr)
15:55:15  * bajtosjoined
15:57:26  * kenperkins_changed nick to kenperkins
16:06:36  * dominictarrjoined
16:11:48  * udpquit (Quit: udp)
16:14:41  * icarotjoined
16:17:07  <tjfontaine>mmalecki: what was that tweet in reference to? :)
16:18:01  <mmalecki>tjfontaine: hahaha
16:18:14  <mmalecki>tjfontaine: it's always about solaris linker. it's the damn linker, all the time.
16:18:23  <tjfontaine>heh
16:18:34  <tjfontaine>I was just looking at the commit
16:19:04  <mmalecki>but yeah, solaris yelled at me when I wanted to link a 32 bit libuv into a 64 bit binary
16:19:08  * mcavagejoined
16:19:18  <tjfontaine>nod, as it will want to do
16:19:23  * icarotquit (Ping timeout: 264 seconds)
16:19:26  * mcavagequit (Remote host closed the connection)
16:19:32  * udpjoined
16:19:41  <mmalecki>so I just took a shorter way of only compiling the shim for target architecture
16:19:45  <tjfontaine>I had something similar when I was playing with it, my python was 32, but my node was 64 :)
16:20:17  * mcavagejoined
16:20:26  <mmalecki>if it joyent's smartos image, python2.7 binary is actually 64
16:20:44  <mmalecki>python binary is just a script for alternatives
16:21:18  <tjfontaine>not on my image
16:21:18  <tjfontaine>file $(which python2.7)
16:21:19  <tjfontaine>/opt/local/bin/python2.7: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped
16:21:20  <mmalecki>so `./estragon -h 127.0.0.1:1337 -- python2.7 server.py` does work
16:21:24  <mmalecki>oh, weird
16:21:42  <tjfontaine>but I picked just a plain base image iirc
16:21:52  <mmalecki>ahh, those are very limited
16:21:58  <tjfontaine>indeed
16:21:59  <mmalecki>and weird, in general
16:22:08  <tjfontaine>I'm waiting for multilib to be the future
16:22:33  <mmalecki>oh, is that planned?
16:22:44  <tjfontaine>afaik
16:23:07  * ryahwaves
16:23:14  <mmalecki>I'm actually waiting for linkers 2.0. god, linkers are terrible.
16:23:23  <mmalecki>hi ryah
16:23:34  <ryah>mmalecki: ^_^
16:23:38  <tjfontaine>mmalecki: it's not like gold really made things much better either
16:24:03  <mmalecki>haha, very true
16:25:59  * AndreasMadsenjoined
16:26:06  <tjfontaine>mmalecki: if you want to influence a linker http://lld.llvm.org/ that's what you should target I guess :)
16:27:03  <mmalecki>oh, I'd love to. might be not my league tho
16:28:11  <mmalecki>brb, heading to berlin.js
16:28:23  <tjfontaine>enjoy
16:36:19  * groundwaterjoined
16:39:42  * icarotjoined
16:39:44  * icarotquit (Remote host closed the connection)
16:40:03  * bnoordhuisjoined
16:45:16  * bnoordhuisquit (Ping timeout: 268 seconds)
16:50:55  <isaacs>1 test remaining
16:51:03  <isaacs>and then streams3 will be ready for review
16:51:06  <tjfontaine>which test?
16:51:20  * loladirojoined
16:54:29  * stagasjoined
16:56:15  * Azerthothjoined
17:06:26  * csaohquit (Quit: csaoh)
17:10:31  * udpquit (Quit: udp)
17:12:21  * brsonjoined
17:13:21  * TooTallNatejoined
17:25:26  <isaacs>"running benchmarks" is the new "code is compiling"
17:25:39  <tjfontaine>heh
17:25:48  <isaacs>tjfontaine: it was pretty trivial. the stream.Transform test was a bit more invasive than it ought to have ben
17:25:56  <tjfontaine>ah ok
17:27:35  <tjfontaine>isaacs: I would hope there's not much impact to the benchmarks
17:28:22  <isaacs>tjfontaine: i expect an improvement, actually
17:28:29  <isaacs>it is a strictly simpler approach
17:28:37  <tjfontaine>right
17:28:46  <tjfontaine>it seems straight forward enough
17:28:46  <isaacs>the complexity is that our tests cover some really nasty particular edge cases, so it all has to be exactly the same
17:28:51  <tjfontaine>right
17:33:05  * paddybyers_joined
17:34:14  * paddybyersquit (Ping timeout: 240 seconds)
17:34:14  * paddybyers_changed nick to paddybyers
17:34:28  <isaacs>ok. so, it's either 30% faster or 30% slower or anything in between.
17:34:34  <isaacs>hooray for benchmarks on your laptop
17:34:44  <isaacs>gonna run the http benchmarks on smartos
17:34:49  <isaacs>tjfontaine: you doing anything with that box?
17:35:03  <tjfontaine>smartos.nodejs?
17:35:29  <isaacs>ya
17:35:30  <tjfontaine>nothing going on it right now
17:35:36  <tjfontaine>nothing planned either
17:35:42  <tjfontaine>unless someone kicks off a build
17:35:56  <tjfontaine>I can build jenkins only one trivially though
17:38:16  * AndreasMadsenquit (Remote host closed the connection)
17:41:43  * stagasquit (Read error: Connection reset by peer)
17:42:16  * stagasjoined
17:52:24  * loladiroquit (Quit: loladiro)
17:58:01  * paulfryzelquit (Remote host closed the connection)
18:02:50  * paulfryzeljoined
18:04:01  * icarotjoined
18:04:29  * paulfryzelquit (Remote host closed the connection)
18:06:44  * bnoordhuisjoined
18:07:23  * bnoordhuiswaves
18:07:41  <tjfontaine>a ben!
18:08:33  * icarotquit (Ping timeout: 264 seconds)
18:09:08  * TooTallNatequit (Quit: Computer has gone to sleep.)
18:09:12  * pachetquit (Quit: leaving)
18:09:32  <isaacs>bnoordhuis: hola
18:12:28  * loladirojoined
18:14:36  <bnoordhuis>sup people?
18:14:39  <isaacs>bnoordhuis: so, i'm gonna hand over mmap
18:14:50  <isaacs>bnoordhuis: yes, it's stupid to use it, but it's stupider to call it mmap-but-with-gyp
18:15:14  <isaacs>bnoordhuis: also, there's a streams3, have you heard?
18:15:35  <tjfontaine>heh
18:15:47  <tjfontaine>bnoordhuis: see what happens when you get sick?
18:17:31  <mmalecki>bnoordhuis: ohai :)
18:17:59  <mmalecki>bnoordhuis: how are you?
18:18:03  <mmalecki>still sick?
18:20:35  <bnoordhuis>isaacs: re mmap, i emailed the guy yesterday
18:20:53  * philipsquit (Ping timeout: 248 seconds)
18:20:58  <bnoordhuis>isaacs: i can forward you the email if you like but the tl;dr is that it should stay dead
18:21:12  <bnoordhuis>mmalecki: nah, getting better
18:21:40  <mmalecki>bnoordhuis: good, good! :)
18:21:53  * perezdjoined
18:21:59  <bnoordhuis>what can i do for you, maciej?
18:22:04  <mmalecki>bnoordhuis: I actually have a question about your recent cmake thingy :)
18:22:10  * AndreasMadsenjoined
18:22:28  <mmalecki>bnoordhuis: how'd I go about embeeding libuv as a static library in a simple makefile-only project?
18:22:32  <bnoordhuis>cmake? you mean autotools?
18:23:11  <mmalecki>er, yeah, autotools
18:23:59  * defunctzombie_zzchanged nick to defunctzombie
18:24:00  <bnoordhuis>mmalecki: the release tarballs will contain pregenerated configure files
18:24:24  <bnoordhuis>you then run `./configure --disable-shared && make` and done
18:24:56  <mmalecki>hah, I guess I gotta get rid of the submodule. I was afraid of that
18:25:30  <bnoordhuis>oh, you can also run autogen.sh first if you want to use master
18:25:30  <tjfontaine>bnoordhuis: v0.11+ tarballs are going to be made with `make dist` right?
18:25:39  <bnoordhuis>tjfontaine: yes, that's the plan
18:25:41  <tjfontaine>mk
18:25:47  <mmalecki>bnoordhuis: that makes my makefile really ugly :)
18:25:59  <isaacs>bnoordhuis: stay dead = i unpublish it
18:26:03  <bnoordhuis>mmalecki: what makefile isn't?
18:26:06  <isaacs>bnoordhuis: i don't like tombstones in npm
18:26:23  <mmalecki>bnoordhuis: I pay attention to my makefiles being nice ;)
18:26:37  <bnoordhuis>isaacs: i guess i can do that. it's that people really shouldn't use node-mmap, it's bad for you
18:27:16  <isaacs>bnoordhuis: yeah, that's probably true.
18:27:20  <isaacs>bnoordhuis: i'll unpulbish it
18:27:26  <bnoordhuis>isaacs: already done
18:27:27  * philipsjoined
18:27:29  <isaacs>bnoordhuis: this is like a "drugs should be legal" kinda thing :)
18:27:38  <isaacs>bnoordhuis: oh, ok, thanks :)
18:28:17  * philipsquit (Changing host)
18:28:17  * philipsjoined
18:30:44  * paulfryzeljoined
18:31:20  <bnoordhuis>mmalecki: you can use a couple of rules to make it nice, tidy and transitive
18:31:48  <bnoordhuis>e.g. have a rule that depends on deps/libuv/configure and runs autogen.sh
18:32:01  <bnoordhuis>another rule that depends on e.g. deps/libuv/config.guess and runs configure, etc.
18:34:03  * Azerthothpart ("panem et circenses")
18:34:56  <mmalecki>bnoordhuis: yeah, that's what I did
18:35:44  <isaacs>https://gist.github.com/isaacs/6031732
18:35:47  <isaacs>lotta green lines ^
18:35:50  * defunctzombiechanged nick to defunctzombie_zz
18:36:11  <tjfontaine>looking good
18:36:30  * rendarquit (Ping timeout: 246 seconds)
18:36:46  <tjfontaine>why are smaller chunked slower?
18:37:41  * rendarjoined
18:38:10  <isaacs>yeah, i'm not sure
18:39:33  <isaacs>tjfontaine: only when num=1, too
18:39:39  <isaacs>otherwise it's about the same
18:40:02  <tjfontaine>nod
18:43:01  * defunctzombie_zzchanged nick to defunctzombie
18:44:35  * groundwaterquit (Quit: groundwater)
18:46:21  * icarotjoined
18:48:15  <Domenic_>wat is streams3
18:49:40  <tjfontaine>https://github.com/joyent/node/issues/5860 making it easier to handle flowing/not-flowing
18:50:05  <MI6>joyent/node: Ben Noordhuis v0.10 * e0c4fba : doc: events: clarify 'newListener' emitter state - http://git.io/FD6pqQ
18:50:47  <tjfontaine>hmm that placement of 'if' seems odd ben
18:51:00  <tjfontaine>or I just suck at english today
18:51:18  * icarotquit (Ping timeout: 261 seconds)
18:51:18  <tjfontaine>probably mostly the latter
18:51:54  <isaacs>tjfontaine: more green: http://static.izs.me/streams3-net.html
18:52:43  <tjfontaine>doesn't that mean streams3 is slower?
18:52:57  <isaacs>oh, right, lol
18:53:03  <isaacs>i flipped em. nevermind, that's bad news.
18:53:06  <isaacs>green like diseased :)
18:53:08  <tjfontaine>hehe
18:53:23  <tjfontaine>gangrene is a pretty color
18:55:50  * TooTallNatejoined
18:59:11  * icarot2joined
19:00:24  * c4miloquit (Remote host closed the connection)
19:00:51  * c4milojoined
19:01:17  * c4miloquit (Read error: No route to host)
19:01:33  * c4milojoined
19:02:07  <MI6>nodejs-v0.10: #288 UNSTABLE osx-x64 (1/594) smartos-x64 (1/594) http://jenkins.nodejs.org/job/nodejs-v0.10/288/
19:05:15  <isaacs>ugh. when the benchmark is 40% in one direction or the other between one time and thenext, it's kin of frustrating
19:05:52  <isaacs>and each run takes forever, so doing NODE_BENCH_RUNS=10 is a bit unreasonable.
19:06:21  <tjfontaine>I've been thinking about getting some baremetal for us to test things on
19:06:43  <tjfontaine>just have to see if that would be allowed in the sf lab
19:06:58  <isaacs>tjfontaine: that'd be the best place for it
19:07:09  <tjfontaine>indeed
19:07:38  <tjfontaine>I will dicsuss it over lunch, whenever that happens
19:08:31  <isaacs>tjfontaine: that reminds me.
19:08:35  * isaacsaway omnom
19:09:59  * AvianFluquit (Remote host closed the connection)
19:15:24  * AndreasMadsenquit (Remote host closed the connection)
19:17:07  * julianduquejoined
19:17:38  * paulfryzelquit (Remote host closed the connection)
19:22:15  * defunctzombiechanged nick to defunctzombie_zz
19:22:42  * bajtosquit (Quit: bajtos)
19:24:41  * AvianFlujoined
19:25:40  <MI6>nodejs-v0.10-windows: #116 UNSTABLE windows-x64 (7/594) windows-ia32 (10/594) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/116/
19:26:05  * AndreasMadsenjoined
19:27:59  * AvianFluquit (Remote host closed the connection)
19:28:27  * AvianFlujoined
19:28:48  * defunctzombie_zzchanged nick to defunctzombie
19:31:26  * stagasquit (Ping timeout: 240 seconds)
19:35:37  * defunctzombiechanged nick to defunctzombie_zz
19:39:02  <trevnorris>afternoon
19:40:09  * pachetjoined
19:40:15  * icarot2quit (Ping timeout: 256 seconds)
19:41:48  <trevnorris>tjfontaine: so what's going on w/ the flame charts?
19:42:21  * ik_changed nick to ik
19:47:04  * AndreasMadsenquit (Remote host closed the connection)
20:06:18  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:07:25  * c4miloquit (Remote host closed the connection)
20:08:03  <austo>bnoordhuis: thanks for the info yesterday about using a semaphore inside a uv_work_cb. I ended using a mutex but my tests are passing now
20:12:02  <bnoordhuis>austo: okay, nice :)
20:12:45  <isaacs>ok, conclusion seems to be that streams3 is not an different performance-wise from streams2
20:12:48  <isaacs>which is fine.
20:13:55  * julianduquequit (Quit: rebooting)
20:15:59  * julianduquejoined
20:17:40  * AvianFluquit (Remote host closed the connection)
20:18:09  * AvianFlujoined
20:19:27  * icarotjoined
20:24:25  * icarotquit (Ping timeout: 276 seconds)
20:29:18  * paulfryzeljoined
20:38:00  * jmar777quit (Remote host closed the connection)
20:38:34  * jmar777joined
20:39:36  * mikolalysenkoquit (Ping timeout: 268 seconds)
20:43:18  * jmar777quit (Ping timeout: 268 seconds)
20:44:04  <tjfontaine>trevnorris: well, basically timewise, there's little difference between creating the ArrayBuffer with external memory, vs creating Buffer with smalloc
20:44:24  <tjfontaine>trevnorris: especially true in 1m, and only different in the 1k case because there's 0 pooling going on
20:45:15  * defunctzombie_zzchanged nick to defunctzombie
20:47:01  * mikolalysenkojoined
20:55:58  * groundwaterjoined
21:03:21  <trevnorris>tjfontaine: 1m?
21:03:29  <tjfontaine>1024 * 1024
21:03:52  * loladiroquit (Remote host closed the connection)
21:04:09  * loladirojoined
21:05:34  <trevnorris>tjfontaine: i made sure that buffers have near time / growth, array buffers are going to be able to do that since either it'll zero fill or you have to allocate externally.
21:06:27  <tjfontaine>trevnorris: I'm saying we can use ArrayBuffer now, and just always externally allocate
21:07:12  <trevnorris>tjfontaine: problem is we can't pool with array buffers like we can with buffers, and slicing that way comes at a cost.
21:07:27  <trevnorris>also, we'd have to drop current slice support
21:07:38  <tjfontaine>trevnorris: you'll have to explain why we can't? we can't extend the prototype?
21:08:11  * defunctzombiechanged nick to defunctzombie_zz
21:08:40  <trevnorris>array buffers have the Neuter api, which means we have to use array buffer views to create slices, or we have to drop that functionality.
21:09:07  <trevnorris>and using an array buffer view is expensive.
21:09:46  <tjfontaine>I'm not sure why we couldn't keep using our prototype, but have it easier to swap out and let people interact with it as if it were an ArrayBuffer
21:09:56  <tjfontaine>if that's what they want
21:11:00  <trevnorris>internally, at the cc api, it will be an ArrayBuffer instance. which means users could use the ArrayBuffer API. we'd need to basically remove the cc api from the array buffer instance for it to work.
21:12:28  <tjfontaine>I'm still not seeing the problem, most people from the CC interface will come through the buffer api that they're used ot
21:12:31  <tjfontaine>*to
21:14:20  <trevnorris>if we don't directly hand them back the <ArrayBuffer> then we'll have to tie it to the Buffer object, which has a couple problems:
21:14:39  <trevnorris>using Set*() in cc is freakin slow
21:14:48  * c4milojoined
21:14:53  <trevnorris>so the other options is to set it as the .parent but
21:15:32  <trevnorris>that means ArrayBuffer instantiation has to occur in cc so we can pass in non zero'd data, then call back out to js to set the property.
21:15:50  <trevnorris>either way your instantiation time has just doubled for small allocations because of needing to set properties.
21:16:00  <tjfontaine>I'm not convinced, but whatever
21:16:13  <tjfontaine>I'm stuck in the shim layer atm :)
21:16:24  <trevnorris>ooh. how's that coming?
21:17:04  <tjfontaine>slow and steady, had a good conversation here at work for a nicer way to do the dispatch mechanism
21:17:50  <trevnorris>nice. interested to see what you guys come up with.
21:18:08  <trevnorris>you still shooting for a C binding?
21:18:44  <tjfontaine>ya, I think with this change it's going to be fine
21:19:08  <trevnorris>cool
21:19:12  <tjfontaine>or at least one of the pieces I was worried about will be gone
21:19:58  * st_lukejoined
21:21:10  * wolfeidaujoined
21:21:19  <trevnorris>hm. i want to create an npm package that just includes a header file, but not sure how to export that so don't have to #include "./node_modules/some/path/mything.h"
21:22:47  <tjfontaine>trevnorris: look at how TooTallNate's vorbis/ogg stuff interact, you should be able to use the examples to fixup the include paths
21:23:01  <trevnorris>oh, nice. thanks.
21:23:40  <tjfontaine>though
21:23:47  <tjfontaine>I'd prefer if we only published one solution for this :)
21:24:47  <trevnorris>heh, this is mainly just for me. and if I knew delivery time on yours was deterministic i'd reconsider. :)
21:25:00  <tjfontaine>there will be things to play with this weekend
21:25:09  <tjfontaine>that may mean monday morning, but still :)
21:25:50  <trevnorris>give me something to look forward to over the weekend.
21:26:22  <trevnorris>besides, have the halo 4 global championship I need to compete in so wouldn't have much time to code anyways ;)
21:26:48  <tjfontaine>heh
21:26:51  * pachet_joined
21:28:01  * rendarquit
21:28:38  * pachetquit (Ping timeout: 240 seconds)
21:35:56  * pachet_changed nick to pachet
21:36:01  * pachetquit (Changing host)
21:36:02  * pachetjoined
21:40:03  * TooTallNatejoined
21:42:00  <trevnorris>TooTallNate: i'm making a header file with some simple utility methods I commonly use when writing native modules.
21:42:40  <trevnorris>TooTallNate: looking at your repos for an example, but can't figure out a way to make it so devs don't have to put #include "./node_modules/..."
21:42:44  <trevnorris>have an idea?
21:44:17  * felixgequit (Quit: felixge)
21:47:48  <TooTallNate>trevnorris: well if you put it in the include path in gyp, then you can include it via #include "helpers.h" directly
21:48:01  <trevnorris>whoot! you rock
21:51:16  * philipsquit (Ping timeout: 240 seconds)
21:58:16  * philipsjoined
22:00:48  <isaacs>Jankins doesn't like my dozen commits with the message "wip"
22:00:51  <isaacs>:)
22:00:55  * wolfeidauquit (Remote host closed the connection)
22:01:20  <tjfontaine>would have been fine if you had said "wip:" actually I think
22:02:40  <trevnorris>tjfontaine: :P https://github.com/trevnorris/njsutil
22:03:18  <tjfontaine>trevnorris: your fatal should probably abort()
22:03:37  <tjfontaine>that way a core is generated for people
22:03:44  <trevnorris>hah! thanks.
22:03:53  * sblomjoined
22:04:18  * st_lukequit (Remote host closed the connection)
22:04:19  <trevnorris>I should probably make a note that this isn't safe for public consumption.
22:04:45  <TooTallNate>trevnorris: i think you want a "direct_dependant_settings" section
22:05:01  * dominictarrquit (Quit: dominictarr)
22:05:08  <TooTallNate>trevnorris: like this https://github.com/gypified/libffi/blob/master/libffi.gyp#L111-L113
22:05:38  <trevnorris>TooTallNate: ah cool. thanks
22:05:48  <trevnorris>you guys might actually make this thing work.
22:07:56  <TooTallNate>trevnorris: that's pretty cool actually! totally the beginnings of the node native layer that tjfontaine is envisioning
22:08:38  <trevnorris>TooTallNate: heh, thanks. actually started this because there was functionality in node_internals that I kept having to rewrite myself.
22:09:22  <TooTallNate>trevnorris: also, it's funny that we're essentially replacing the standard C lib/include lookups with node's node_module conventions :p
22:09:59  <tjfontaine>we'll need to work up some useful gyp macros eventually I think
22:10:12  <TooTallNate>i.e. don't load /usr/lib/libblah.so, instead load ./node_modules/libblah/build/Release/libblah.so
22:10:14  <tjfontaine>as we're only going to be getting more complex projects
22:10:23  <isaacs>TooTallNate, trevnorris: This is an essential feature of node.c
22:10:42  <isaacs>trevnorris: the two killer features of Node are modules and streams.
22:11:23  <tjfontaine>isaacs: have you watched the llvm modules talk?
22:11:41  <trevnorris>isaacs: i'll keep the module thing in mind. still hashing out streams though, but think it's coming along. :)
22:11:47  <isaacs>tjfontaine: no, but i read the slides, which were pretty verbose.
22:11:57  <isaacs>trevnorris: modules are the bigger problem
22:12:16  * c4miloquit (Remote host closed the connection)
22:12:35  <isaacs>trevnorris: streams is just a matter of picking one api of the many apis for doing streaming data.
22:12:59  <isaacs>trevnorris: and then make them easy to implement/extend in userland
22:13:39  <trevnorris>isaacs: it's been fun implementing a C api to conform closely to a JS api.
22:13:52  <isaacs>trevnorris: yeah, kind of a flip :)
22:14:22  <isaacs>trevnorris: that's always fun, implementing an existing API in a different language with different patterns and semantics.
22:14:38  <isaacs>trevnorris: if you do it right, then learning one means you know the other.
22:14:42  * hzquit
22:15:22  <trevnorris>isaacs: honestly that's what i'm hoping for. be extremely surprised if any of my C code got traction.
22:15:32  <trevnorris>was more to learn libuv internals
22:17:21  <isaacs>trevnorris: i think a node.c could get pretty good traction.
22:17:30  <isaacs>trevnorris: i know several people at joyent who'd use it. i'd use it for some things.
22:17:50  <isaacs>trevnorris: node-like ease of apis, with predictable memory and cpu usage, would be a huge win.
22:18:01  <isaacs>of course, you give up some of the portability/convenience of js
22:18:06  * defunctzombie_zzchanged nick to defunctzombie
22:19:54  <trevnorris>yeah, well it'll be fun. hopefully bnoordhuis won't flog me for whatever I end up writing :P
22:27:34  * defunctzombiechanged nick to defunctzombie_zz
22:32:04  * wolfeidaujoined
22:32:16  * bnoordhuisquit (Ping timeout: 240 seconds)
22:32:24  <isaacs>trevnorris: if node.c is awesome enough, it might be worth writing a thin JS layer around, and calling Node 2.0 ;)
22:33:59  <trevnorris>hah. scheduled release: 2016
22:34:47  * paddybyersquit (Ping timeout: 256 seconds)
22:37:54  * paulfryzelquit (Remote host closed the connection)
22:40:28  * jmar777joined
22:40:43  * defunctzombie_zzchanged nick to defunctzombie
22:45:19  * wolfeidauquit (Remote host closed the connection)
22:45:23  * c4milojoined
22:47:56  <trevnorris>TooTallNate: that libffi gyp is an awesome example. thanks
22:48:16  <TooTallNate>trevnorris: np :D
22:48:24  <TooTallNate>trevnorris: ya, it's one of the more complex ones i've done so far
22:48:35  <TooTallNate>the only with with asm stuff at least...
22:50:02  * pachetquit (Quit: leaving)
22:51:39  * jmar777quit (Remote host closed the connection)
22:51:54  <trevnorris>tjfontaine: does the python script just build all the tests in test/addons?
22:52:16  * jmar777joined
22:52:41  <tjfontaine>trevnorris: hm?
22:53:00  <trevnorris>tjfontaine: i'm wondering how the tests in test/addons are run?
22:53:04  <tjfontaine>they aren't?
22:53:27  <trevnorris>are they by default?
22:53:33  <tjfontaine>no
22:53:42  <tjfontaine>nothing about them is wired up afaict
22:53:47  <trevnorris>ls
22:53:51  <tjfontaine>which I plan to do, but when we actually have something to test
22:55:23  <tjfontaine>trevnorris: the Makefile test-addons would probably go through and cd into each subdir, and then do: `node-gyp --nodedir=$PWD/../../../ rebuild`
22:55:26  <tjfontaine>more or less
22:55:57  <TooTallNate>tjfontaine: that's what i do for my native addons that require native tests to be built
22:56:07  <trevnorris>cool.
22:56:17  <tjfontaine>TooTallNate: nod, we need to do that, but then also have a test suite that actually knows how to run them :)
22:56:20  <TooTallNate>tjfontaine: https://github.com/TooTallNate/ref-struct/blob/master/package.json#L9
22:56:35  * jmar777quit (Ping timeout: 264 seconds)
22:56:35  <tjfontaine>nod, I've run them quite a few times :)
22:56:41  <TooTallNate>oh ya
22:56:43  <TooTallNate><3
22:56:46  <tjfontaine><3
22:56:59  <tjfontaine>ffi/ref* I've spent a lot of quality time with, though I have missed them recently
22:57:06  <trevnorris>ah, ok. so it needs it's own binding.gyp.
22:57:24  <TooTallNate>tjfontaine: ya me too :( they're mostly *done* though so that's good
22:57:25  <tjfontaine>trevnorris: not necessarily, but it at least tests the thing we expect users to be using
22:57:29  <tjfontaine>TooTallNate: indeed
22:58:01  <trevnorris>ok. just want to write a test to make sure that I can actually include this stupid header.
22:58:28  * defunctzombiechanged nick to defunctzombie_zz
23:06:55  <trevnorris>how do you specify a local node build to use with npm install? --nodedir isn't working for me.
23:07:39  <TooTallNate>trevnorris: ./local/node `which npm` install
23:07:50  <trevnorris>ah. like that. cool.
23:09:39  <trevnorris>finally, got it: /path/to/node/node `which npm` install --nodedir=/path/to/node/ /path/to/lib
23:09:40  <trevnorris>thanks :)
23:10:42  * defunctzombie_zzchanged nick to defunctzombie
23:18:26  * Benviejoined
23:21:52  * loladiroquit (Quit: loladiro)
23:22:59  * sblom_joined
23:23:16  * sblomquit (Ping timeout: 240 seconds)
23:23:49  * julianduquequit (Ping timeout: 248 seconds)
23:24:54  * Benviequit
23:25:15  <trevnorris>TooTallNate: i'm getting "unused function" warnings in my build. know of a way to suppress those?
23:26:33  * udpjoined
23:26:49  <tjfontaine>probably -Wno-unused-function
23:27:12  <tjfontaine>or something in that pattern
23:29:39  <trevnorris>tjfontaine: cool. now just need that to apply to someone consuming this header file.
23:30:13  * brsonquit (Ping timeout: 248 seconds)
23:31:53  <trevnorris>tjfontaine: oh. it was because I was using "static", duh.
23:34:12  <tjfontaine>mk :)
23:38:41  * bnoordhuisjoined
23:43:59  * bnoordhuisquit (Ping timeout: 268 seconds)
23:47:04  * brsonjoined
23:55:10  * wolfeidaujoined
23:57:53  * M28quit (Ping timeout: 248 seconds)