01:49
ilbot3 joined
05:41
domidumont joined
05:48
domidumont joined
05:49
domidumont joined
06:40
brrt joined
|
|||
brrt | morning moarvm | 06:49 | |
lizmat | brrt o/ | ||
brrt | \o lizmat | ||
i need some efficient way to represent sets... | 06:54 | ||
in C, that is :-) | 06:55 | ||
06:56
stmuk joined
|
|||
lizmat | sets of what ? | 06:58 | |
brrt | sets of live ranges (well, indexes-into-an-array-of-live-ranges, really) | 06:59 | |
lizmat | monotonically increasing integer values ? | 07:00 | |
brrt | … yes | ||
but not necessarily within a single set | |||
and i need the operations: add, remove, merge | 07:01 | ||
i could be using linked lists, i guess | 07:02 | ||
lizmat | what is most important to you: CPU or memory ? | ||
brrt | CPU, usually | 07:04 | |
lizmat | ok, that rules out any encoding such as with MIDI :-) | ||
brrt | MIDI as in the sound files? | 07:05 | |
lizmat | yeah, they have a nice way of encoding data :-) | 07:06 | |
but forget about it :-) | |||
so how often do you add/remove/merge ? | 07:07 | ||
I mean, all the time, or just every now and then ? | 07:08 | ||
brrt | merge is every basic block; add is every use, remove is every definition, so 'all the time' | ||
lizmat | if a lot, I guess linked lists would be an option, as they can easily merge (if I understand you right) | ||
brrt | uhuh | ||
oh, i have another requirement | 07:09 | ||
the merge needs to be nondestructive | |||
but, i think i have an answer | 07:11 | ||
i'm going to keep a few sorted arrays | |||
one for the original set, one for the removals, one for the additions | 07:12 | ||
actually, the removals and additions can be binary heap | 07:13 | ||
07:18
zakharyas joined
|
|||
samcv | efficient with memory or with cpu or both | 07:32 | |
or efficeient for the programmer ;) heh | |||
heh sorry looks like you mention that there too. reading :) | |||
07:35
domidumont joined
07:42
AlexDaniel joined
07:43
brrt joined
|
|||
brrt was riding the ICE just now. it was very, very nice | 07:46 | ||
jnthn | ICE++ | 08:54 | |
Which model of ICE, though? :-) | 08:55 | ||
samcv | ICE? | 09:04 | |
brrt | ehm, the one riding between frankfurt and germany | 09:09 | |
i have no idea | |||
it was shiny, and quiet | |||
d'oh, frankfurt-amsterdam, i mean | 09:10 | ||
jnthn | Heh, I was gonna say, did Frankfurt secede... :P | ||
Think I've been some of the way on that route at some points in the past | 09:11 | ||
I remember we had to change ICE at some point around the NL/DE border because our ICE broke :) | |||
But that aside, I have memories of it being comfortable :) | 09:12 | ||
There's also a diesel ICE | |||
Those are a bit less quiet but still not bad | |||
brrt | i think it was ICE-3 | ||
jnthn | Yeah, likely :) | 09:13 | |
brrt | not ICE-4, and ICE-T is not riding in NL | ||
jnthn | Ah, thinking about it, it was probably Brussels - DE where I had the busted train :) | ||
10:39
stmuk_ joined
10:45
stmuk joined
10:48
stmuk_ joined
10:52
stmuk joined
10:53
ilmari joined
|
|||
brrt | so thinking a bit about complexity; just adding stuff to an array and sorting it afterwards could well be as cheap as keeping it sorted throughout | 10:53 | |
lizmat | brrt: I had an interesting bit of that trying to faster .WHICH representations of sets | 10:54 | |
turned out that, even written in pure nqp, there was no way I could beat the mergesort logic :-( | 10:55 | ||
even if I know I couldn't get any duplicates, so I didn't need to make it stable | |||
brrt | mergesort++ | 10:57 | |
timotimo | mergesort sorts some good merges | ||
brrt | it is one of my favorite algorithms, so mechanical, yet so efficient | ||
10:58
stmuk joined
|
|||
brrt | hmm, i know removals are never duplicated | 10:59 | |
because the IR is in SSA form | |||
11:06
stmuk joined
11:49
stmuk_ joined
|
|||
brrt | this is good - this is my obsesion with precomputing sizes again - because it means that we have an upper bound on the size of the live range in | 11:55 | |
12:00
stmuk joined
12:05
stmuk_ joined
12:08
stmuk joined
12:32
domidumont joined
12:54
stmuk joined
13:28
stmuk_ joined
14:17
lizmat joined
14:50
zostay joined
14:55
zakharyas joined
15:08
brrt joined
15:10
zakharyas joined
16:13
lizmat joined
16:44
domidumont joined
16:53
stmuk joined,
MasterDuke_ joined
17:28
buggable joined
17:38
buggable joined
17:39
buggable joined
17:45
buggable joined
|
|||
buggable | ???????????? It's time for the monthlyAccidental /win Lottery ???????????? We have ballots submitted by users! And the winner is... | 17:45 | |
True | |||
Zoffix | disregard :) | 17:48 | |
geekosaur | buggabley | 17:50 | |
17:55
buggable joined
|
|||
timotimo | Zoffix: damn! i wanted to implement that! | 17:58 | |
though i wasn't actually going to do it just yet | |||
17:58
buggable joined
18:08
stmuk joined
18:11
stmuk_ joined,
buggable joined
18:13
buggable joined
|
|||
Zoffix | timotimo: too slow :P | 18:14 | |
18:38
domidumont joined
18:47
stmuk joined
19:15
buggable joined
19:16
buggable joined
19:18
buggable joined
19:38
Ven joined
20:20
zakharyas joined
20:24
AlexDaniel joined
|
|||
samcv | hello | 20:45 | |
True? | |||
hahah | |||
20:54
Ven joined
21:09
ingy joined
|
|||
Zoffix | Yeah, instead of $.irc.send: :$text I typed $.irc.send: :text | 21:12 | |
:) | |||
21:24
unicodable6 joined,
evalable6 joined
21:29
ingy joined
22:48
AlexDaniel joined
23:16
stmuk_ joined
|