01:48 ilbot3 joined 06:56 domidumont joined 07:01 domidumont joined 08:50 FROGGS joined 08:52 pyrimidine joined 09:46 ggoebel joined 10:00 domidumont joined 10:10 zakharyas joined 10:44 pyrimidi_ joined 11:17 zakharyas joined 13:03 zakharyas joined 14:07 domidumont joined 14:25 domidumont joined
timotimo seems like all of Grammar.nqp only has 4 occurences of the unipropcode + unipvalcode + hasuniprop pattern at all 15:02
nwc10 isn't quite sure if there's some more context to this that he's missed 15:37
timotimo two of these three can be constant-folded 15:38
nwc10 aha OK
timotimo but it's not worth a lot, i don't think 15:41
well, if someone uses <:Blah> a bunch in their grammars they could notice a different
15:44 domidumont joined 15:47 domidumont joined
timotimo oops, turns out that made stage parse 2x faster! just kidding ;( 15:59
well, at least these two ops would always do an ascii encoding of the string in question 16:03
those are pretty much always short and ascii-only, but still. that mallocs and immediately frees
const_s r35(3), lits(No) 16:05
const_i64 r31(3), liti64(17)
const_i64 r29(3), liti64(11)
hasuniprop r37(4), r3(1), r4(4), r31(3), r29(3)
something's not killing the unnecessary ops, but this ought to be a *bit* faster than before :P
er, i mean, only the const_s would be able to get thrown out 16:07
dalek arVM/line_based_coverage_4: 8de44bb | timotimo++ | src/spesh/optimize.c:
constantfold unipropcode and unipvalcode

those are rather rare, but at least mildly expensive. among other things we don't have to ascii-encode and malloc/free the string for the code twice in a row.
16:10
timotimo oops, that's the wrong branch 16:11
dalek arVM: a1f79f8 | timotimo++ | src/spesh/optimize.c:
constantfold unipropcode and unipvalcode

those are rather rare, but at least mildly expensive. among other things we don't have to ascii-encode and malloc/free the string for the code twice in a row.
16:12 Ven_ joined 20:21 Ven_ joined 20:38 Ven_ joined