|
github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
|
00:02
sena_kun joined
00:04
Altai-man_ left
02:01
Altai-man_ joined
02:04
sena_kun left
04:02
sena_kun joined
04:04
Altai-man_ left
|
|||
| nwc10 | good *, #moarvm | 05:22 | |
|
06:01
Altai-man_ joined
06:04
sena_kun left
07:29
zakharyas joined
08:03
sena_kun joined
08:04
Altai-man_ left
|
|||
| jnthn | morning o/ | 09:19 | |
| moritz | \jnthn | 09:21 | |
| nwc10 | \o | ||
| moritz | (there are now vowels in jnthn, so adding an o seems wrong) :D | ||
|
10:02
Altai-man_ joined
10:04
sena_kun left
11:02
squashable6 joined
11:36
zakharyas left
12:03
sena_kun joined
12:04
Altai-man_ left
12:48
zakharyas joined
12:59
AlexDani` left
14:01
Altai-man_ joined
14:04
sena_kun left
14:45
AlexDani` joined,
AlexDani` is now known as AlexDaniel
14:46
AlexDaniel left,
AlexDaniel joined
|
|||
| Geth | MoarVM/hash-cleanup-MVP: 39 commits pushed by (Nicholas Clark)++ review: github.com/MoarVM/MoarVM/compare/2...436250eca1 |
14:58 | |
| nwc10 | from the department for "I can't believe it doesn't SEGV" | ||
| it's not just "It compiles; ship it" | |||
| but it's not done yet. | 14:59 | ||
| jnthn: that still has those assert in it. I've not cleaned them up yet. | |||
| jnthn | That and The Pain! | 15:02 | |
| nwc10 | I rebased that commit to HEAD | ||
| it was about 37 | |||
| and likely to get lost | |||
| jnthn | cleanup slight undersells what this branch does :) | 15:03 | |
| nwc10 | er | 15:04 | |
| jnthn | *slightly | ||
| nwc10 | most of it is getting to the good place | ||
| last 2 commits are the reasonable part | |||
| turned out that I didnb't have lvalue_fetch implemented in the new thing yet | |||
| so need to do that | |||
| so | |||
| 1) lvalue fetch | |||
| 2) iterators | |||
| 3) randomisation | |||
| and then | |||
| it's probably good to consider merging | 15:05 | ||
| but there are a couple more optimisations that could go in | |||
| also, much of the earlier commits in it (right up to the ones that take randmoisation *out*) could be reiviewed and cherry-picked right now. | |||
| if we think that this is a good direction. | |||
|
15:09
dogbert17 left
15:10
Kaeipi joined,
patrickb joined
15:13
vesper joined
15:14
elcaro_ joined,
vesper11 left,
[Coke]_ joined,
[Coke]_ left,
[Coke]_ joined,
dogbert17 joined
15:17
synthmeat joined
|
|||
| nwc10 | (what you don't have there is the development code and its regression tests. Which have a bit more stuff implemented that's not yet ported) | 15:23 | |
| anyway, works on "my" machine, and my machine | 15:24 | ||
| we run on both kinds of OS - debian and raspbrian. (er, oh, Raspberry Pi OS, or whatever it rebranded to) | |||
| samcv: and that's why I've been asking all these stupid questions :-) | 15:43 | ||
| lizmat: and that's why I don't want to rewrite ucd2c.pl | |||
| lizmat | hmmm... not sure what the reason is | 15:44 | |
| nwc10 | 39 commits down, still have a few more to create | 15:45 | |
| completely reworking the hash code | |||
| lizmat | because reworking the hash code is more useful ? | 15:47 | |
| nwc10 | we'll see when we get to the point of benchmarking it | ||
| but I think that it already halves the memory overhead | |||
| (the memory the hash structures need. the deadweight) | 15:48 | ||
| lizmat | that would be way cool | ||
| moritz | I think regex captures would *really* benefit from the way that some javascript compilers optimize hashes | 15:49 | |
| jnthn | nwc10: This also, iiuc, gets us to it being a single blob of memory for the table, no linked lists, etc? | ||
|
15:49
nebuchadnezzar joined
|
|||
| lizmat | moritz: and how is that ? | 15:49 | |
| moritz | that is, they create anonymous classes with attributes that correspond to the keys | ||
| nwc10 | jnthn: yes, but right now it's using two so that ASAN can hate me more. | ||
| moritz | so that they get a very compact storage for precisely the current hash | 15:50 | |
| jnthn | Two blobs? | ||
| lizmat | moritz: so implicit pseudo-hashes under the hood :-) | ||
| nwc10 | yes | ||
| moritz | lizmat: right | ||
| and in regexes, the combinations of keys in those matches would probably be pretty low | |||
| jnthn | This should help a lot with the whole concurrent hash abuse crasehs too. | ||
| *crashes | |||
| nwc10 | jnthn: yes, there are two malloc() calls right next to each other. It's trivial to replace them with 1 malloc() call (would actually be a call to the FSA) and then calcuate the sceond ponter. | ||
| jnthn | OK, nice | 15:51 | |
| nwc10 | jnthn: sadly I think not. because open adress hashes move elements around when they insert or delete elements. | ||
| jnthn | And then when we're using the FSA we can do the whole free at safepoint dance, and yay, safety :) | ||
| nwc10: We don't have to give correct answers. We just have to not SEGV. | |||
| nwc10 | so any inserts on thread A will move things around for thread B's reader | ||
| jnthn | That's fine so long as they don't read outside of the memory block, though? | 15:52 | |
| nwc10 | we will SEGV. I managed to make the hash fsck code SEGV by having inconsistent shapes | ||
| jnthn | Ah, darn. | ||
| nwc10 | yes, probably darn | ||
| lets get to Minimum Viable Product | |||
| and then see what else can be optimised/improved | |||
| it doesn't yet do everything that the current code does. | |||
| jnthn | Yeah. I think this design is certainly more likley to be fixable than the previous one. | 15:53 | |
| Though maybe at a slight cost | |||
|
16:03
sena_kun joined
16:04
Altai-man_ left
17:26
zakharyas left
17:37
patrickb left
17:40
patrickb joined
18:02
Altai-man_ joined
18:05
sena_kun left
18:56
Merfont joined
18:57
Kaeipi left
19:11
zakharyas joined
19:29
MasterDuke joined
19:30
[Coke]_ is now known as [Coke]
20:02
sena_kun joined
20:05
Altai-man_ left
20:25
zakharyas left
21:00
MasterDuke left
|
|||
| Geth | MoarVM/hash-cleanup-MVP: 5 commits pushed by (Nicholas Clark)++ | 21:07 | |
| nwc10 | a bug fix - utter daftness with the bucket shift, exposed by trying to build the new code on arm | ||
| (Which has different semantics for shifting by an amount larger than the size of the integer) | |||
| IIRC it's all undefined behaviour. I certainly wasn't meanign to do it | 21:08 | ||
| and ptr_hash_table.h etc is now the new fangled thing. | |||
|
21:57
[Coke] left
22:01
Altai-man_ joined
22:05
sena_kun left
22:35
[Coke] joined
22:37
squashable6 left
22:41
squashable6 joined
23:12
patrickb left
23:30
AlexDaniel left
23:51
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
|
|||