00:05:56  * no9quit (Ping timeout: 256 seconds)
00:10:57  <rvagg>leveldb 1.12 was released but I don't see an announcement
00:11:16  <chilts>might be on the way
00:11:26  <chilts>are you subscribed to something to find that out?
00:11:53  <rvagg>google code downloads rss feed
00:12:20  <rvagg>ahhh
00:12:21  <rvagg>Non-functional changes only:
00:12:21  <rvagg>1) Add Kevin Regan to the AUTHORS file
00:12:21  <rvagg>2) Add standard license header to issues/issue178_test.cc
00:12:25  <rvagg>I wish they'd use proper semver
00:12:45  <mbalho>might be worth askin
00:13:07  <chilts>yeah, that's a non-proper release :)
00:18:25  * no9joined
00:19:13  * timoxleyjoined
00:24:06  * CPartridgejoined
00:24:16  * thl0joined
00:26:34  * pikluquit (Ping timeout: 268 seconds)
00:27:22  <chilts>rvagg: those 'releases' just look like commits (with a version change) to me
00:27:27  <chilts>http://code.google.com/p/leveldb/source/list
00:27:33  <chilts>ie. they change the version on every commit
00:28:03  <chilts>seems weird
00:31:16  * piklujoined
00:43:03  * eugenewarequit (Remote host closed the connection)
00:56:55  <piklu>rvagg : morning
00:57:24  <rvagg>morn
01:24:43  * eugenewarejoined
01:42:48  * wolfeidauquit (Remote host closed the connection)
01:50:19  * no9quit (Ping timeout: 264 seconds)
01:52:10  <rvagg>check this baby out! http://r.va.gg/images/2013/06/leveldown_write_random_g+h+b_100M.png
01:52:25  <rvagg>rescrv: ^^
01:52:29  <rvagg>hyperleveldb kills it
01:53:06  <mbalho>wow
01:53:37  <mbalho>rvagg: have you done any crazy long tests like basho was saying they do?
01:54:01  <rvagg>mbalho: no, next step is to do exactly that once I've figured out what I want to test
01:54:05  <rvagg>but you can see clear trends there
01:54:15  <mbalho>yea
01:55:15  <mbalho>rvagg: i wonder if the green throughput line goes flat or keeps going down
01:58:14  <rvagg>the slight upward trend in that grouping of write times in the basho leveldb is interesting, would be nice to see that over a longer period
01:58:27  <rvagg>google's has that too but it's much more subtle
01:59:05  <rvagg>but certainly it's begining to look like hyperdex's tweaks for multithreadded access suit node's usage patterns much better than the others
01:59:19  <rvagg>mind you, it's still fast no matter which you look at, it's just that hyperleveldb is much faster
01:59:33  <piklu>Why is there a solid line on top and down ( blue ones )
02:00:25  <rvagg>piklu: I believe it's related to the write buffer, when it fills up and it needs to perform compactions you get slower write times, then the write buffer is empty and it starts again
02:00:41  <rvagg>when you watch it tick over you see this fast/slow/fast/slow pattern happening
02:00:45  <rvagg>which is what's showing there
02:00:49  <piklu>basho is consistent
02:00:53  <rvagg>it's just that the fast bit isn't as consistent as the slow bit
02:01:24  <piklu>rvagg : Can i host an official level db forum for node.js
02:01:28  <piklu>if there isn't one already
02:01:45  <rvagg>piklu: https://groups.google.com/forum/#!forum/node-levelup
02:02:13  <piklu>ah, but I believe we should have a dedicated website, community blog etc
02:03:03  <rvagg>https://github.com/rvagg/node-levelup/issues/125
02:03:04  * no9joined
02:03:11  <rvagg>work in progress
02:04:19  <piklu>If no one is working on that I can try.
02:05:01  <rvagg>ok, but it should be part of the rvagg/levelup or level/level repo, gh-pages branch
02:05:19  <julianduque>epic issue is epic
02:05:55  * ChrisPartridgequit (Disconnected by services)
02:06:42  * CPartridgechanged nick to ChrisPartridge
02:08:21  <rescrv>rvagg: wow! btw, we're interested in seeing the results of that 60 hour test
02:08:49  <rescrv>mbalho: I suspect it will flatten out eventually
02:09:41  <piklu>Nope, definitely will not flatten
02:10:06  * ChrisPartridgequit
02:10:29  <rescrv>piklu: even if it approaches 0 asymptotically, it's effectively flattening
02:10:50  <piklu>Nope, I believe one will see interesting facts
02:11:04  <rescrv>like?
02:13:38  <rvagg>the problem with the throughput measurement is that it's not a moving average or anything, it's a total average over the full benchmark time, so it'll certainly stabilise just because of that
02:14:43  <rescrv>rvagg: so I should pick a point on the X axis, and the Y2 axis shows average throughput to load X items?
02:15:06  <mbalho>rvagg: do you know who has github.com/leveldb, and if not do you want it?
02:15:52  <rvagg>mbalho: not me, perhaps we should get it and at least put a mirror of the official repo there?
02:16:13  <mbalho>rvagg: you could make it an org and add everyone involved to it and that way it shows a little leveldb logo our our github profiles
02:16:18  <mbalho>rvagg: doesnt need to have any repos
02:16:40  <rvagg>rescrv: yeah, tho xaxis is showing time so you'll have to divide total time by total number to figure out X items
02:16:54  <rvagg>mbalho: we have 'level' for that already
02:17:01  <mbalho>o right
02:17:48  <rvagg>the other interesting thing about these benchmarks is that they are writing X items but since it's random across X there's likely a lot of writes over existing items; which is fine because that's normal db behaviour but it's certainly not putting in X *new* entries
02:17:52  <rescrv>rvagg: if the total average will stabilize, doesn't that mean that a moving average (e.g., last N items) would have stabilized as well.
02:18:19  <rescrv>rvagg: how big is the set of keys?
02:18:49  <rvagg>0-X, 0-filled to 16 characters
02:19:05  <rvagg>I'm doing this in JS but this one is trying to copy db_bench.cc which does all of this
02:19:28  <rvagg>https://github.com/rvagg/node-leveldown/tree/master/bench - db-bench.js (and the gnuplot script is there too)
02:19:57  <rescrv>in my benchmarks I generate random printable ascii strings of 8-16 bytes. I suspect it may be expensive to do that from Javascript.
02:20:21  <rvagg>rescrv: I was doing that for my previous benchmarks, just making a uuid v4
02:20:37  <rvagg>but I wanted to start implementing a JS copy of db_bench.cc
02:20:54  <rescrv>If it's not, it's worth doing the benchmark that way as you're inserting new items with high probability. Otherwise, reporting the total number of items might allow people to understand it better.
02:21:30  <rescrv>Essentially, they want to answer the question, "If I have N unique items to insert, how many seconds will it take?"
02:22:13  <rvagg>yeah, well there's a ton of questions you want answered by a benchmark, for now I'm just taking a random stab at "what's likely to be most suitable for a node backend"
02:22:24  <rvagg>having overwrites is helpful in that case IMO
02:23:17  <rescrv>that's true. do you know what the % of overwrites is vs fresh inserts?
02:23:50  <rvagg>rescrv: nope, that's tricky without querying the store or keeping a separate tracking list which will ruin the benchmarks
02:24:23  <rvagg>rescrv: anyway, I'm a benchmark-sceptic so I'm not going to present this as some kind of absolute truth, I'm keen to try and encourage people to come up with benchmarks that suit their unique load types
02:24:39  <rvagg>AND, most people using this in Node aren't going to hit the kind of constraints where this even matters
02:25:23  <rescrv>rvagg: agreed about the benchmark skepticism. I'm the same way
02:27:48  <rvagg>I'm certainly not going to act like basho over this....
02:27:50  <rvagg> ...
02:28:09  <mbalho>you should probably get defensive
02:29:00  <mbalho>we could make a twitter parody account called huggo that apologizes sincerely to riak users all day
02:29:18  <rescrv>rvagg: what do you mean "act like basho?" I saw some twitter drama about mobile, but that was it.
02:30:17  <rvagg>rescrv: the drama got pretty ugly, I had a whole basho mob on to me
02:30:47  <rvagg>and, it's typical of database companies that have a proper product to sell that they come up with benchmarks and pretend they are absolute truth that applies to everyone
02:31:19  <rescrv>I like to think of this as the "real benchmark" fallacy
02:31:50  <rescrv>"If it were a real benchmark, it'd take into account X." Usually, the person issuing such a statement is a representative of the only group doing X
02:31:58  <mbalho>hah
02:32:14  <rescrv>we've run into that with HyperDex
02:36:08  <rescrv>that doesn't mean that X is wrong
02:43:16  * mmckeggquit (Ping timeout: 260 seconds)
02:43:41  * mmckeggjoined
02:52:57  * wolfeidaujoined
02:58:20  * thl0quit (Remote host closed the connection)
03:02:38  * wolfeidauquit (Remote host closed the connection)
03:26:47  * mreviljoined
03:28:21  * julianduquequit (Read error: Connection reset by peer)
03:28:54  * julianduquejoined
03:36:21  * piklu_joined
03:36:25  * ChrisPartridgejoined
03:37:36  * pikluquit (Ping timeout: 256 seconds)
03:39:24  * piklu_changed nick to piklu
03:41:56  * st_lukequit (Remote host closed the connection)
03:50:46  * no9quit (*.net *.split)
03:50:46  * jez0990quit (*.net *.split)
03:50:46  * substackquit (*.net *.split)
03:51:54  * brianloveswordsquit (*.net *.split)
03:51:54  * rvaggquit (*.net *.split)
03:52:41  * no9joined
03:52:42  * jez0990joined
03:52:42  * substackjoined
03:53:46  * brianloveswordsjoined
03:53:46  * rvaggjoined
03:53:59  * no9quit (*.net *.split)
03:53:59  * jez0990quit (*.net *.split)
03:53:59  * substackquit (*.net *.split)
03:55:38  * no9joined
03:55:38  * jez0990joined
03:55:38  * substackjoined
04:27:26  * julianduquequit (Remote host closed the connection)
04:30:25  * dominictarrjoined
04:31:01  * julianduquejoined
04:50:11  <mbalho>dang, im out of town the day of the leveldb meetup
04:50:27  <mbalho>rvagg: get someone to do a talk about how people should start writing browser tests!
04:50:38  * wolfeidaujoined
04:52:18  <mbalho>e.g. npm run browser-tests or something and it starts a server that you open in a browser to run the test suite for a particular level-* module
04:53:32  <rvagg>right, so we need browser-tests in each of our own level-* projects?
04:53:48  <mbalho>well if you care about it running in the browser
04:53:51  <rvagg>mbalho: do you have an example level-* (other than level.js) that does that?
04:55:12  * timoxleyquit (Ping timeout: 252 seconds)
04:55:27  <mbalho>rvagg: closest thing is https://github.com/juliangruber/multilevel#compatibility off the top of my head, its a new concept
04:55:33  <mbalho>there are lotsa modules that use testling ci etc
04:55:57  <mbalho>its just worth considering now where as it was always theoretical before
04:56:05  <rvagg>mm, I should tinker with it some time
04:56:06  <mbalho>and a lot of people will do things like use binary keys and Buffers everywhere
04:56:16  <rvagg>ONE DAY I'LL HAVE TIME TO DO ALL THE THINGS
05:03:14  * julianduquequit (Ping timeout: 246 seconds)
05:05:33  <chapel>when is the leveldb meetup?
05:07:57  <brycebaril>I think it is a couple days before Nodeconf, so a couple days before I get down there :/
05:09:16  <rvagg>chapel: next tuesday evening
05:09:32  <chapel>hmm, might be able to swing it, where at?
05:10:01  <chapel>Im flying up tomorrow night to spokane, wa, then driving back down sunday
05:11:23  <rvagg>chapel: engine yard
05:11:29  <rvagg>http://www.meetup.com/Node-js-and-LevelDb/events/124638042/
05:13:39  * rvaggtopic: MeetUP http://www.meetup.com/Node-js-and-LevelDb/events/124638042/
05:22:09  * dominictarrquit (Quit: dominictarr)
05:22:42  * dominictarrjoined
05:49:51  * mrevilquit (Remote host closed the connection)
06:07:28  * no9quit (Ping timeout: 256 seconds)
06:20:05  * no9joined
06:38:44  * timoxleyjoined
06:46:18  * no9quit (Ping timeout: 264 seconds)
06:54:18  * mreviljoined
06:59:06  * no9joined
06:59:10  * mrevilquit (Ping timeout: 276 seconds)
07:12:48  * wolfeidauquit (Remote host closed the connection)
07:53:57  * eugenewarequit (Ping timeout: 252 seconds)
08:28:43  * ChrisPartridgequit (Ping timeout: 264 seconds)
08:34:24  * ralphtheninjajoined
09:16:44  * no9quit (Ping timeout: 256 seconds)
09:34:34  * no9joined
10:04:35  * wolfeidaujoined
10:21:23  * timoxleyquit (Ping timeout: 246 seconds)
10:21:47  * no9quit (Quit: Leaving)
10:24:47  * no9joined
10:37:48  * thl0joined
10:38:54  * thl0quit (Remote host closed the connection)
10:39:52  * thl0joined
10:50:30  * wolfeidauquit (Remote host closed the connection)
10:50:55  * wolfeidaujoined
10:52:31  * wolfeidauquit (Remote host closed the connection)
11:09:43  * eugenewarejoined
11:11:30  * no9quit (Ping timeout: 264 seconds)
11:11:56  * thl0quit (Remote host closed the connection)
11:14:54  * thl0joined
11:16:00  * no9joined
11:45:24  * mcollinajoined
12:05:01  * owen1joined
12:10:58  * chirinoquit (Quit: Computer has gone to sleep.)
12:16:40  * no9quit (Ping timeout: 256 seconds)
12:27:40  * dominictarrquit (Quit: dominictarr)
12:29:19  * no9joined
12:29:33  * werlejoined
12:30:59  * dominictarrjoined
12:34:19  * dominictarrquit (Client Quit)
12:45:21  * Acconutjoined
12:45:59  * Acconutquit (Client Quit)
12:46:27  * Acconutjoined
12:46:46  * Acconutquit (Client Quit)
12:49:33  * wolfeidaujoined
12:57:22  * werlequit (Quit: Leaving.)
12:58:15  * thl0quit (Remote host closed the connection)
12:59:19  * thl0joined
13:01:39  * dominictarrjoined
13:03:33  * thl0quit (Ping timeout: 248 seconds)
13:26:24  * werlejoined
13:28:59  * thl0joined
13:59:14  * ralphtheninjaquit (Ping timeout: 256 seconds)
14:31:26  * timoxleyjoined
14:56:58  * mreviljoined
14:58:06  * mrevilquit (Remote host closed the connection)
14:58:14  * mreviljoined
15:17:02  * no9quit (Ping timeout: 268 seconds)
15:24:50  * dominictarrquit (Quit: dominictarr)
15:25:01  * Acconutjoined
15:29:34  * no9joined
15:31:55  * Acconutquit (Quit: Acconut)
15:37:29  * dominictarrjoined
15:47:01  * julianduquejoined
16:03:24  * no9quit (Ping timeout: 240 seconds)
16:16:14  * no9joined
16:23:38  * ralphtheninjajoined
16:25:41  * ralphtheninjaquit (Client Quit)
16:26:29  * ralphtheninjajoined
16:32:30  * ralphtheninjaquit (Ping timeout: 264 seconds)
16:33:08  * ralphtheninjajoined
16:34:24  * no9quit (Ping timeout: 260 seconds)
16:42:05  * timoxleyquit (Quit: Computer has gone to sleep.)
16:48:47  * dominictarrquit (Quit: dominictarr)
16:54:06  * Acconutjoined
16:54:07  * Acconutquit (Client Quit)
17:08:32  * dominictarrjoined
17:10:02  * dominictarrquit (Client Quit)
17:22:07  * mcollinaquit (Ping timeout: 264 seconds)
17:22:27  * ralphtheninjaquit (Quit: leaving)
17:37:17  * brianloveswordsquit (Excess Flood)
17:38:52  * brianloveswordsjoined
17:46:24  * pikluquit (Ping timeout: 240 seconds)
17:46:41  * piklujoined
17:56:06  * nathan7_joined
18:00:08  * nathan7quit (*.net *.split)
18:09:40  * mrevilquit (Remote host closed the connection)
18:10:36  * Acconutjoined
18:14:02  * Acconutquit (Client Quit)
18:21:30  * weetabeexquit (Remote host closed the connection)
18:33:09  * Acconutjoined
18:35:40  * Acconutquit (Client Quit)
18:48:27  * no9joined
18:49:43  * nathan7_changed nick to nathan7
18:54:21  * no9quit (Quit: Leaving)
19:10:39  * mreviljoined
19:18:12  * mrevilquit (Ping timeout: 260 seconds)
19:52:04  * no9joined
19:58:30  * no9quit (Quit: Leaving)
19:59:44  * ralphtheninjajoined
20:10:04  * Acconutjoined
20:10:13  * Acconutquit (Client Quit)
20:24:29  * ramitosquit (Read error: Operation timed out)
20:29:43  * ramitosjoined
20:38:47  * mreviljoined
20:56:07  * ramitosquit (Read error: Operation timed out)
20:57:56  * ramitosjoined
21:33:42  * piklu_joined
21:35:24  * pikluquit (Ping timeout: 240 seconds)
21:38:27  * piklu_changed nick to piklu
21:44:01  * mcollinajoined
21:56:18  * dominictarrjoined
21:57:01  * eugenewarequit (Remote host closed the connection)
22:20:53  * jez0990quit (Read error: Connection reset by peer)
22:20:59  * jez0990joined
22:38:09  * dominictarrquit (Quit: dominictarr)
23:03:19  * thl0quit (Remote host closed the connection)
23:10:59  * mcollinaquit (Remote host closed the connection)
23:16:27  * timoxleyjoined
23:24:58  * no9joined
23:27:44  * pikluquit (Read error: Connection reset by peer)
23:28:20  * piklujoined
23:29:04  * jez0990quit (Quit: No Ping reply in 180 seconds.)
23:29:11  * jez0990joined
23:30:20  * ChrisPartridgejoined
23:30:23  * julianduquequit (Ping timeout: 240 seconds)
23:43:58  * julianduquejoined
23:56:58  * werlequit (Quit: Leaving.)
23:58:03  * werlejoined