02:01:17
| * ralphtheninja | quit (Ping timeout: 252 seconds) |
02:54:26
| * Pwnna | joined |
03:15:17
| * Pwnna | quit (Ping timeout: 256 seconds) |
03:38:46
| * Pwnna | joined |
03:39:44
| * timoxley | joined |
03:57:45
| * Pwnna | quit (Read error: Connection reset by peer) |
04:16:17
| * levelbot | joined |
04:20:38
| * Pwnna | joined |
04:38:59
| * brycebaril | joined |
04:42:33
| * Pwnna | quit (Ping timeout: 256 seconds) |
05:03:23
| * timoxley | quit (Quit: Computer has gone to sleep.) |
07:07:27
| * wolfeidau | joined |
08:01:28
| <rvagg> | this latest memory leak is a tricky one, I've narrowed it down to LevelDB itself! but that obviously doesn't seem right; these guys are much smarter than me |
08:01:29
| <rvagg> | but... |
08:01:35
| <rvagg> | will gist in a mo, it's crazyness |
08:17:24
| * ralphtheninja | joined |
08:56:20
| * timoxley | joined |
09:26:17
| <rvagg> | ok, I think I've worked it out mostly |
09:28:11
| <levelbot> | [npm] leveldown@0.4.4 <http://npm.im/leveldown>: A Node.js LevelDB binding, primary backend for LevelUP (@rvagg) |
09:36:36
| <rvagg> | https://github.com/rvagg/node-leveldown/issues/44#issuecomment-18097961 |
10:07:25
| <rvagg> | this is a nifty new interface on leveldown@0.4.4, very interesting data to watch: https://github.com/rvagg/node-leveldown/#leveldown_getProperty |
10:08:00
| <rvagg> | I guess that deserves a minor version bump, I'll take it up to 0.5.0 before we ship this next levelup |
10:16:04
| <dominictarr> | juliangruber: rvagg can you link me to the chained batch code? |
10:17:09
| <rvagg> | dominictarr: this commit, or the one before it, or just the whole 0.9-wip branch: https://github.com/rvagg/node-levelup/commit/0f65d96e5e4d21d2d1f31179df0b5d811cda5cea |
10:18:16
| <rvagg> | Batch#put(key, value[, options]), Batch#del(key[, options]), Batch#clear(), Batch#write([cb]) |
10:19:07
| <rvagg> | this.ops tracking the changes all the way, equivalent of what you'd submit to a standard batch(array) |
10:19:39
| <dominictarr> | right. |
10:19:57
| <dominictarr> | so, that will be different using leveldown chained batches? |
10:20:09
| <dominictarr> | isn't that where the perf improvement comes from? |
10:20:23
| <rvagg> | yeah, this.ops is only there so it has an array to emit for the 'batch' event |
10:20:40
| <rvagg> | other than that, it's not being used for anything useful |
10:21:08
| <dominictarr> | oh, right |
10:21:09
| * levelbot | quit (Remote host closed the connection) |
10:21:28
| * levelbot | joined |
10:21:29
| <levelbot> | [npm] leveldown@0.4.4 <http://npm.im/leveldown>: A Node.js LevelDB binding, primary backend for LevelUP (@rvagg) |
10:23:08
| <rvagg> | hm, levelbot your repetition bug is supposed to be fixed... |
10:23:13
| <dominictarr> | rvagg: I don't think the chainable api will be just as simple, maybe even simpler |
10:25:40
| <rvagg> | dominictarr: does clear() mess it up though? and the fact that they aren't committed until write() is called? |
10:26:21
| <rvagg> | I guess if you're just amending the current batch it shouldn't matter |
10:28:34
| <dominictarr> | oh, clear aborts the batch? |
10:30:26
| <dominictarr> | rvagg: yeah, you should not start another write op from a pre hook, because one could fail, and the other succeed and you'd have inconsistent data. |
10:31:03
| <rvagg> | clear() doesn't abort but it clears previous operations on that batch so you can start fresh |
10:33:33
| <dominictarr> | so you can reuse the batch object? |
10:33:42
| <dominictarr> | or do you abort the previous items? |
10:36:36
| <rvagg> | you can keep on using it until you write() |
10:36:56
| <rvagg> | actually, that's probably something we need to ensure--that it can't be reused after a write(), that needs tests |
11:32:54
| <levelbot> | [npm] leveldown@0.5.0 <http://npm.im/leveldown>: A Node.js LevelDB binding, primary backend for LevelUP (@rvagg) |
14:04:42
| * hareth | joined |
14:58:15
| * hareth | quit (Quit: hareth) |
14:59:48
| * hareth | joined |
15:29:56
| * brianloveswords | quit (Excess Flood) |
15:30:03
| * brianloveswords | joined |
15:34:03
| * Pwnna | joined |
15:47:11
| * No9 | joined |
15:48:31
| * ingsoc | joined |
15:59:04
| * ingsoc | part |
16:31:55
| * levelbot | quit (Remote host closed the connection) |
16:32:43
| * levelbot | joined |
16:58:35
| * Pwnna | quit (Ping timeout: 260 seconds) |
18:40:34
| * dominictarr | quit (Quit: dominictarr) |
18:45:21
| * No9 | quit (Ping timeout: 248 seconds) |
18:47:30
| * No9 | joined |
19:52:03
| * hareth | quit (Quit: hareth) |
20:42:11
| * dominictarr | joined |
21:10:03
| * Pwnna | joined |
21:15:45
| * Num9 | joined |
21:16:17
| * No9 | quit (Ping timeout: 252 seconds) |
21:34:29
| * werle | joined |
21:35:35
| * Pwnna | quit (Remote host closed the connection) |
21:45:35
| * No9 | joined |
21:48:13
| * Num9 | quit (Ping timeout: 256 seconds) |
22:46:14
| * Num9 | joined |
22:49:05
| * No9 | quit (Ping timeout: 248 seconds) |
22:51:21
| * werle | quit (Quit: Leaving.) |
23:34:43
| * levelbot | quit (Ping timeout: 264 seconds) |
23:35:16
| * levelbot | joined |