github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
samcv MasterDuke: i have built it with flto and i didn't see many changes 05:22
samcv also working on implementing Fibonacci hashing 08:16
got around to fully looking at the article. and my favorite part is that it uses all the bits of the hash, so probably more secure 08:17
MasterDuke samcv: Fibonacci hashing with/for the current uthash? or something new? 11:17
brrt \o 11:58
I advertised MoarVMs string handling for a bit: lemire.me/blog/2018/06/15/emojis-j...ent-308918 11:59
samcv++
(for looking into improving our hashing) 12:00
re: concurrent lock-free hashmap, I can't seem to solve the problem of resizing, to my embarassement 12:01
jnthn brrt: I guess you've seen web.stanford.edu/class/ee380/Abstr...eeHash.pdf ? 12:37
brrt i haven't 13:46
brrt that's interesting 13:49
jnthn :) 13:50
Yeah, I have a collection of lock-free modules for some of the simpler cases (stack, queue, trie), and pondered doing the hash table one, but it's a comparatively big undertaking :) 13:51
brrt i was thinking of doing a linked hash table, it's kind of simpler to do that with CAS 13:52
the thing i can't figure out is how to do atomic resize 13:54
robertle jnthn: you have a lock-free updateable trie? does that lie around somewhere by any chance? 14:07
timotimo it's on the ecosystem 14:08
eco: Trie
buggable timotimo, Trie 'A Trie implementation': github.com/FCO/Trie 5 other matching results: modules.perl6.org/s/
timotimo eco: Trie::Concurrent
buggable timotimo, Nothing found
timotimo eco: Concurrent::Trie
buggable timotimo, Concurrent::Trie 'A lock-free concurrent trie (Text Retrieval) data structure.': modules.perl6.org/dist/Concurrent::...cpan:JNTHN
robertle k, will have a look!
samcv MasterDuke: uthash 14:35
brrt samcv: any explicit plans to replace it completely rather than fully? 14:38
no need to, btw, we basically forked dynasm as well
*completely rather than partially :-)
samcv not atm
timotimo if linking moarvm takes such a long time with -flto, i wonder if gold can also do lto? 14:42
it's supposed to be very fast
brrt what's gold? 14:47
in this context i mean
ilmari another linker 14:49
MasterDuke from google i think
brrt oh, i see 14:50
timotimo yeah, since go always links everything statically, they have loads more symbols to put into their binaries, or something like that 14:52
iiuc gold does some multithreading at the very least 14:53
brrt i think gold predates go, if i read my wikipedia correctly 14:55
timotimo oh, OK
samcv yes gold predates go 15:00
ilmari google are just really unimaginative when it comes to naming 15:03
MasterDuke hm. i added -fuse-ld=gold as well as -flto=4, but took the same amount of time 15:06
however, i'm not even entirely sure i have gold installed... 15:07
timotimo heh. 15:08
a good time to try out execsnoop perhaps?
MasterDuke don't know what that is 15:09
timotimo it's a tool based on perf that tells you everything that gets exec'd by a process directly and indirectly
i haven't actually tried it yet, but that's my idea of what it is
it's another brendan gregg thing, like the flamegraphs thing and flamescope 15:10
MasterDuke cool 15:10
MasterDuke well, changing /usr/bin/ld to be a symlink to /usr/bin/ld.gold didn't change the build time any 15:18
huh. /usr/bin/ld and /usr/bin/ld.gold have different sizes, but the output of -v for both of them is the same: GNU ld (GNU Binutils) 2.30 15:19
timotimo i get GNU gold (version 2.29-13.fc27) 1.14 15:21
MasterDuke that was in arch linux. in kubuntu 18.04 i get 'GNU ld (GNU Binutils for Ubuntu) 2.30' and 'GNU gold (GNU Binutils for Ubuntu 2.30) 1.15' 15:23
Geth MoarVM: 9d53069b04 | (Timo Paulssen)++ | src/jit/graph.c
steal pow_i impl from interp.c for the jit
17:31
timotimo wait, are we okay with new commits on master right now?
brrt ehm, i'm not against it, but i'm guessin we want extra-carefulness for rakudo star 17:38
timotimo btw, surely there's a better implementation of pow_i out there than this?
brrt probably :-) 17:41
timotimo and surely we know one of the two values often enough to generate better code at the jit stage :)
brrt also probably :-) 17:44
MasterDuke star is next month isn't it? 18:18
timotimo: why the name pow_i_impl? there aren't any other *_impl functions 18:20
timotimo i didn't want to find a good place to put it %)
MasterDuke heh 18:21
brrt fwiw, 'where do i put this internal function' is one of the least of my worries :-) 19:24