timotimo MasterDuke: you are correct, it does not support pairs. if you want to create a hash, you can either nqp::hash(key, value, key, value, ...) or use nqp::bindkey and nqp::deletekey, nqp::existskey, and nqp::atkey 00:00
geekosaur hm. what's the pair-like syntax doing, then 00:01
MasterDuke timotimo: hmm, then would you know anything about this error then? "Missing serialize REPR function for REPR VMHash (BOOTHash)"
timotimo huh? it means we can't serialize hashes, but i'm pretty sure we totally can? 00:02
oh
MasterDuke github.com/rakudo/rakudo/blob/nom/....nqp#L2550 00:03
timotimo it has no serialize or deserialize functions
MasterDuke i essentially copied that block and did $name eq '<my variable name>' 00:04
timotimo right 00:05
MasterDuke and the variable has stuff in it, i iterate over the hash right there for debugging and all the right values are there
timotimo well, perhaps you can do it with a flat list instead of a hash?
MasterDuke ha, that's what i was just trying to do
but i was hoping to store a list of pairs
timotimo you'll most likely be binary-searching through the data rather than looking up by key
MasterDuke the mapping is linenumber => filename 00:06
timotimo how do you get that data, btw?
i mean, how do you store it when you come across these #?file blah comments?
MasterDuke a token in Grammar that looks for '#line 1 ' 00:07
timotimo OK. and how do you store these results?
because if that's a hash, that could also be problematic
MasterDuke and then in Action: $*W.add_source_line_number($*W.current_line($/), $<filename>) 00:08
and in World: %!SOURCE_LINE_NUMBERS{$filename} := $line_number
why is a hash problematic? 00:12
timotimo because it apparently can't be serialized 00:18
though if the world gets serialized, we're in trouble
geekosaur the hash code of the beast? 00:19
MasterDuke but why is %?RESOURCES fine? 00:31
timotimo depends on what $Resources.from-precomp creates, i guess 00:32
it's about what gets added to the world 00:33
though i think it's not necessary to explicitly add the objects any more with $*W.add_object
MasterDuke Object of type BOOTHash in QAST::WVal, but not in SC 00:35
if i take out the add_object
timotimo oh, is that what happens if you forget to add_object?
OK
good to know, definitely
MasterDuke btw, from-precomp returns self.new, inside class Distribution::Resources does Associative { 00:36
timotimo OK, that's not repr VMHash, at least 00:38
i'm still surprised we don't have serialization for VMHash
i'm heading towards bed again 00:57
MasterDuke timotimo: thanks for the help again, later... 01:32
timotimo sure :) 01:34
lizmat Files=1151, Tests=53712, 214 wallclock secs (12.76 usr 3.88 sys + 1303.98 cusr 122.85 csys = 1443.47 CPU) 07:44
[Tux] This is Rakudo version 2016.10-167-g5b2bdeb built on MoarVM version 2016.10-39-g4b9e3a8 08:05
csv-ip5xs 3.153
test 14.244
test-t 7.040
csv-parser 16.093
dalek kudo/nom: 050cf72 | lizmat++ | src/core/Shaped (3 files):
Fast-track .ASSIGN-POS for 1,2,3dimmed arrays

Makes them about 40x faster than using the generic N-dimmed ASSIGN-POS
08:57
kudo/nom: 006f008 | lizmat++ | src/core/ShapedArray.pm:
Re-imagine n-dimmed .EXISTS-POS

  - rewrite using nqp ops
  - don't use returns
Makes it about 1.5x as fast
10:41
kudo/nom: b1c41b7 | lizmat++ | src/core/Shaped (3 files):
Fast-track .EXISTS-POS for 1,2,3dimmed arrays

Makes them about 10x faster than using generic N-dimmed EXISTS-POS
11:20
lizmat afk again&
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Fast-track .EXISTS-POS for 1,2,3dimmed arrays 12:11
travis-ci.org/rakudo/rakudo/builds/173219552 github.com/rakudo/rakudo/compare/0...c41b79fd23
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. All failures are on JVM only.
dalek kudo/nom: 2ef2fdb | coke++ | src/ (11 files):
fix spelling
15:45
travis-ci Rakudo build failed. Will "Coke" Coleda 'fix spelling' 17:00
travis-ci.org/rakudo/rakudo/builds/173292907 github.com/rakudo/rakudo/compare/b...f2fdb33204
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. All failures are on JVM only.
viki "Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"" 17:01
tony-o gfldex: i'm pushing some corrections to HTTP::Server::Threaded that should make it usable again 18:10
gfldex tony-o: thanks 18:37
timotimo awesome 18:48
lizmat JVM builds ok for me and makes test also 18:57
viki Probably just hitting Travi's resource limits. 19:07
dalek kudo/nom: 6ccecb1 | lizmat++ | src/core/ShapedArray.pm:
Re-imagine n-dimmed DELETE-POS

  - rewrite using nqp ops
Makes it about 1.3x as fast
19:28
kudo/nom: 55b9e90 | lizmat++ | src/core/Shaped (3 files):
Fast-track .DELETE-POS for 1,2,3dimmed arrays

Makes them about 20x faster than using generic N-dimmed DELETE-POS
19:46
kudo/nom: 2827edb | lizmat++ | src/core/ShapedArray.pm:
Re-imagine n-dimmed BIND-POS

  - rewrite using nqp ops
  - rather than using "is raw" on the slurpy, use decont() on the value
   This allows a faster path to be taken, without needing to index.
Makes it about 1.3x faster. Also brought ASSIGN-POS and BIND-POS more in line.
20:27
kudo/nom: 9f94525 | lizmat++ | src/core/Shaped (3 files):
Fast-track .BIND-POS for 1,2,3dimmed arrays

Makes them about 20x faster than using the generic N-dimmed BIND-POS
20:41
tony-o Transactions: 3256 hits 20:43
Availability: 100.00 %
Elapsed time: 59.98 secs
Data transferred: 0.02 MB
Response time: 0.18 secs
Transaction rate: 54.28 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 9.98
Successful transactions: 3256
Failed transactions: 0
Longest transaction: 0.27
Shortest transaction: 0.01
oops
timotimo: H:S:T looks a lot more stable with the changes - ^those are the stats for concurrency 10 and benchmarked for one minute with siege. more usable format here: gist.github.com/tony-o/299adfbcc21...10f5aa82da 20:44
timotimo what, availability is 100% 20:51
so it wasn't possible to get it to b0rk on any request?
that's quite slow, though :( 20:52
tony-o: if only it weren't threaded, we could have a look at a profile ... 20:56
tony-o: actually, are you on linux? you could try running the server with perf. it's probably spending a whole lot of time trying to acquire the lock for the fixedsize_alloc and _free ...
i should really get on with that multi-thread optimization thing
i've got a paper in front of me that tells me how to do it, i just need to do it ... 20:57
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Re-imagine n-dimmed DELETE-POS
travis-ci.org/rakudo/rakudo/builds/173357503 github.com/rakudo/rakudo/compare/2...cecb176567
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
timotimo t/04-nativecall/20-concurrent.t (Wstat: 65280 Tests: 0 Failed: 0) 21:00
^- only on one of the mac targets
lizmat ok, I got it to fail: gist.github.com/lizmat/32ce2b17a5a...9a64ca9bef 21:06
looks like we lost the actual code to be executed 21:07
jnthn I fear it'll be Wed before I get to look at it, so feel free to skip that test for now 21:17
Unless I get chance during the weekend, which may happen. But I'm shot for today and Mon/Tue I'll be busy with visiting $dayjob colleague. :)
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Fast-track .DELETE-POS for 1,2,3dimmed arrays 21:47
travis-ci.org/rakudo/rakudo/builds/173362055 github.com/rakudo/rakudo/compare/6...b9e90b7460
MasterDuke_ timotimo: do you happen to know where the "parent-most" code that prints the backtrace when you do --ll-exception is? 21:50
timotimo i happen to know where to look 21:51
MasterDuke_ i'm in Backtrace.AT-POS, but that doesn't seem to be it
timotimo find it in nqp/src/HLL/Compiler.nqp 21:52
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Re-imagine n-dimmed BIND-POS 22:56
travis-ci.org/rakudo/rakudo/builds/173371703 github.com/rakudo/rakudo/compare/5...27edb38c87
buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), or GitHub connectivity (0). All failures are on JVM only. 22:57
lizmat good night, #perl6-dev! 23:17
timotimo nite
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Fast-track .BIND-POS for 1,2,3dimmed arrays 23:39
travis-ci.org/rakudo/rakudo/builds/173374666 github.com/rakudo/rakudo/compare/2...94525ed87f
MasterDuke_ timotimo: i've found a problem with my current approach. my variable that holds the linenumber => filename info is populated when it's encountered in m-CORE.setting 23:41
however, since that isn't necessarily at the end of the settings, it doesn't have the rest of the mappings 23:42
hmm, what if i create it via EVAL...? 23:43
timotimo that way lies madness :) 23:48
i wonder why it won't take future changes into account
MasterDuke_ hmm, i'm assigning it to another variable...maybe i should try binding instead? 23:49