00:00 ab5tract left 00:13 molaf joined 00:16 pernatiy left 00:17 abercrombie left 00:22 pernatiy joined 00:24 cexsum left 00:30 abercrombie joined 00:31 tokuhirom joined 00:36 flussence left 00:38 flussence joined 00:47 whiteknight joined 00:50 uasi joined 00:52 tokuhirom left 00:59 abercrombie left 01:00 uasi left 01:14 uasi joined 01:15 daniel-s left 01:16 daniel-s joined 01:28 whiteknight left 01:33 abercrombie joined 01:41 cexsum joined 01:57 pjcj left, woosley joined
lue what the heck is @@w supposed to mean? I remember reading not too long ago something about @@ and slices, but I don't know anything beyond that. 02:13
02:15 jaldhar joined 02:17 REPLeffect left 02:20 pjcj joined 02:31 REPLeffect joined 02:42 drbean left 02:51 am0c joined 03:01 dark_x joined
dalek : 1df6eb2 | lue++ | examples/functional/ (7 files):
[examples] fixed most of examples/functional to work with rakudo/nom

The entirety of the fixes include making sure functions returned Bool values when they said they would, flattening where it would otherwise cause infinite recursion, and avoiding redeclaration of variables (how that managed to happen is beyond me). Only monads.pl was untouched, due to an NYI error about typed arrays.
03:04 cexsum left 03:23 Su-Shee_ joined 03:25 Su-Shee left 03:28 agentzh joined 03:34 betterworld joined 03:37 jrockway joined 03:41 wolfman2000 left 03:42 natureboy joined 03:43 swarles joined
natureboy hi swarles :] 03:44
swarles hey =] 03:48
sorear hello and welcome, natureboy and swarles. 03:57
natureboy hello, thanks 03:58
mberends \o 03:59
TimToady »ö« 04:01
sorear lue: @@x sounds like something from the Dark Age of Pugs, perhaps 2003 04:02
04:03 drbean joined
TimToady was a little later than that 04:03
swarles hello o/
TimToady perl6: say "Howdy doody!" 04:04
p6eval pugs, rakudo 2bac6a, niecza v9-7-g252c6a5: OUTPUT«Howdy doody!␤»
mberends ▷☋◁ 04:05
TimToady a frog with fins?
mberends Iron Butterfly 04:06
TimToady looks kinda like a bat
sorear .u ☋ 04:07
phenny U+260B DESCENDING NODE (☋)
sorear bleh 04:09
.net's async IO model is very un-POSIX-like
they have Select but it's sockets only
other kinds of file descriptors use a stateful request/callback system 04:10
natureboy: swarles: anything we can help you with? 04:11
04:11 araujo left
swarles Nope I'm just here to watch/listern :) 04:11
TimToady ⊱ö⊰
⊱⍥⊰ 04:12
sorear has little idea what kind of interface to present to Perl 6
natureboy not really, but thanks sorear 04:13
TimToady ⊱⚉⊰ 04:15
decomputing &
natureboy is that supposed to look like "Camelia" ?
TimToady vaguely 04:16
mberends Campelia
04:17 jrockway left
mberends sorear: structuring async I/O around callbacks would be useful, to unify with other NCI events (eg GUI input) 04:18
04:20 birdwindupbird joined
lue severely detests Google's refusal to search symbols essential to any programmer's diet. 04:29
04:30 natureboy left
sorear mberends: I think I'm going to shift my month focus to general CLR integration and let someone else worry about API design. 04:32
I don't like API design.
mberends lue: you should look beyond Google, even if only to resist the creation of another kind of monopoly
sorear you should detest Google for other reasons.
mberends sorear: I'll gladly participate in API bikeshedding, but would like to work mainly with example use cases. 04:33
lue I got NoScript to stop Google from the stupid "guess what you want as you're typing" when they brought it to the SSL version. [It severely slows down my connection and makes Google think I'm using a bot to do mass searches!] 04:34
lue investigates other search engines
04:35 jrockway joined 04:38 jevin left 04:39 ccc_ left 04:40 jevin joined
mberends sorear: I'm very happy that you'll work on CLR integration instead. If you you devise something that goes beyond Zavolaj's NativeCall, it will create many application opportunities for Niecza and throw out a challenge for Rakudo to catch up. Therefore I hope you can make it as VM agnostic as possible. 04:43
lue: I'm not sure 'wormhole' is the best choice of word, could you help me with some possible improvements? github.com/sorear/niecza/blob/mast...mpiler.pod 04:47
lue looks 04:50
mberends that sentence reads better with "Perl 6 virtual world" and "executable real world" as well 04:54
lue instead of wormhole, maybe passageway? [also, I noticed this: "How is the Niecza compiler babby formed?" Are you sure it's babby? ] 04:55
04:55 Exodist joined
mberends lue: yes, I'm sure. I was hoping for something more cosmic, to spice up the text. 'bridge' is too mundane, 'stargate' too exotic. 04:57
.oO(gateway perhaps?)
mberends yes, better. how about portal? 04:59
sorear rabbit-hole.
mberends yes, quite nice 05:00
lue I like rabbit-hole, reminds me of Alice in Wonderland (where CLR is real life, and P6 is Wonderland, according to your analogy) 05:01
mberends no, implies similar worlds too much, like wormhole
oh, the looking-glass!
sorear it's not really like a boundary between P6 and real life
and as I said yesterday, rawscall has nothing to do with system calls 05:02
the "s" stands for "static"
"rawcall" calls instance methods, "rawscall" calls class methods
mberends oh, I missed that totally 05:03
sorear CLR makes the distinction
mberends I'd kinda mapped VM to system
05:04 sftp left
mberends ok, that will get a rewrite. I'm really attracted to 'looking-glass', I think it triggers appropriate thoughts. 05:05
sorear DownCall/UpCall is kind of like a wormhole, it's a portal through time 05:06
it allows code compiled using last month's Niecza to call code compiled using the current Niecza, and vice versa (for eval)
05:06 sftp joined
mberends I assumed that was only during the bootstrap compile, and that in the next iteration of recompile the versions of caller and callee would be in sync. 05:08
sorear mberends: it would be possible to do it that way, and the release binaries are set up that way 05:09
mberends I like the time travel viewpoint of the bootstrap, that might be worth mentioning more explicitly.
sorear mberends: but for development I only want to build niecza once, which means that "self-compiled" is a bad idea
in ghc/gcc parlance builds from source are always stage1s 05:10
mberends aye, I hacked on Small-C many years ago and had the same self-hosting stability risks
sorear ... "Small-C"? haven't heard of that in ages. 05:11
mberends by James Hendrix, an excellent learning tool 05:12
sorear most of the "stability" problems went away when niecza started running roast
I don't fear that I'm rebooting with a broken niecza
mberends yes, testing++ 05:13
05:14 dukeleto left
sorear mberends: hrm, I wonder then if CLR interop should be more like Zavolaj or Blizkost 05:20
mberends sorear: so far I've preferred Zavolaj because it's more explicitly declarative 05:21
TimToady literal but non-portable interfaces are okay for building portability layers on top of
mberends sorear: Zavolaj is independent on what lies beyond, for example hooking up PostgreSQL was a breeeze. 05:23
*of, *breeze even 05:26
sorear mberends: preferred Zavolaj over...?
mberends sorear: Blizkost, the other option you mentioned for 'interop like' 05:27
05:28 araujo joined, araujo left, araujo joined
sorear mberends: yeah just wondering where you would have the option to use both 05:29
and goodnight.
mberends 'night
05:31 dark_x left 05:36 wamba joined 05:48 wtw joined
mberends phenny, tell sorear we have the option to use Zavolaj or Blizkost generally when a Perl 5 module abstracts a native library, for example a PostgreSQL or MySQL client. I preferred independence from the effect a Perl 5 layer might have on what is available to the Perl 6 code. In short, call direct. The question for the Niecza interop design is whether you can _always_ interrogate native code to tell you its methods and parameters, or not. I don't think 05:51
you can.
phenny mberends: I'll pass that on when sorear is around.
06:02 wamba left
mberends phenny, tell sorear otoh, CLR is easier to deal with than native code because CLR has Reflection. Calling from Niecza to native code involves jumping through two hoops, CLR and FFI. We don't want the solution to look like Perl 5 XS. 06:03
phenny mberends: I'll pass that on when sorear is around.
lue oh! I was reading up more on the capture sigil (¢) ooc, and found an irc log discussion mentioning ¢'s supposed alternative (@%) used to be @@. So, does that mean @@ is just ¢ ? 06:06
06:08 perlhack joined
perlhack 用中文 像大家问好 06:08
06:10 Su-Shee_ is now known as Su-Shee 06:16 molaf left 06:17 koban` joined, koban` left
tadzik good mornings 06:28
man, HPatMoR chapters are coming out at insane pace 06:30
06:34 jerome_ joined 06:58 cexsum joined 07:05 cognominal_ left 07:06 cognominal joined
tadzik rakudo: class A { has $!b; submethod BUILD { say $!b } }; A.new(b => 5) # correct? istr it worked 07:15
p6eval rakudo 2bac6a: OUTPUT«Mu()␤»
pmichaud I think the new standard is that private attributes aren't automatically initialized that way. 07:23
(nom implements the new version, ng had the old one) 07:24
07:25 wamba joined
pmichaud S12:882 07:25
07:26 daxim joined 07:28 perlhack_ joined
tadzik rakudo: class A { has $.b; submethod BUILD { say $.b } }; A.new(b => 5) # correct? istr it worked 07:28
p6eval rakudo 2bac6a: OUTPUT«Mu()␤»
tadzik doesn't seem so, unless I miss something
07:28 TimToady left
pmichaud I think "rakudo: 07:28
07:28 TimToady joined
pmichaud I think "rakudo:" now refers to nom. 07:29
tadzik yes, that's what I'm hoping for
07:29 perlhack left
pmichaud ng: class A { has $.b; submethod BUILD { say $.b } }; A.new(b => 5) # correct? istr it worked 07:29
b: class A { has $.b; submethod BUILD { say $.b } }; A.new(b => 5) # correct? istr it worked
p6eval b a55346: OUTPUT«Any()␤»
tadzik b needs callsame for that, I believe
b: class A { has $.b; submethod BUILD { callsame; say $.b } }; A.new(b => 5) # correct? istr it worked
p6eval b a55346: OUTPUT«5␤» 07:30
pmichaud b: class A { has $!b; submethod BUILD { say $!b } }; A.new(b => 5) # correct? istr it worked
p6eval b a55346: OUTPUT«Any()␤»
07:30 wamba left
tadzik that doesn't help nom though 07:30
pmichaud well, in nom's case you're overriding BUILD, so you don't get the default BUILD
tadzik rakudo: class A { has $.b; submethod BUILD { callsame; say $.b } }; A.new(b => 5) 07:31
p6eval rakudo 2bac6a: OUTPUT«Mu()␤»
tadzik no, something else's broken
pmichaud rakudo: class A { has $.b; submethod BUILD($!b) { say $.b } }; A.new(b => 5) 07:33
p6eval rakudo 2bac6a: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in submethod BUILD at /tmp/WM9GqkKeFO:1␤ in method BUILDALL at src/gen/CORE.setting:483␤ in method bless at src/gen/CORE.setting:473␤ in method new at src/gen/CORE.setting:458␤ in <anon> at /tmp/WM…
pmichaud rakudo: class A { has $.b; submethod BUILD(:$!b) { say $.b } }; A.new(b => 5) 07:34
p6eval rakudo 2bac6a: OUTPUT«5␤»
pmichaud hmmmmmmmmmm
07:36 wamba joined
tadzik I don't like it, again :) 07:41
07:41 wamba left
tadzik I believe BUILD { say $!b } used to Just Work in nom some time ago 07:42
07:46 mj41 joined
moritz \o 07:56
07:56 perlhack_ left
tadzik o\ 07:56
moritz doesn't that need to be BUILD(:$!b) { say $!b } ?
tadzik I hope not. I don't like easy things hard to do 07:57
I think I'm missing a being
07:57 perlhack joined
perlhack hi 07:57
tadzik hi perlhack
08:01 wamba joined
perlhack hello tadzik,i am ready to get off duty.i wish you have fun. 08:02
08:03 daxim left
woosley what is BUILD used for? just like BUILD in Moose? 08:05
08:06 perlhack left
tadzik woosley: I hope it to be, but it seems that it's a different magic 08:06
08:09 daxim joined
woosley tadzik: so what is the magic here? 08:09
tadzik woosley: it doesn't work as expected :) The attributes aren't neceserilly set in your BUILD, you may have to do that yourself. I mean, those passed to the .new 08:10
08:11 donri joined 08:14 swarles left 08:17 am0c left, swarles joined 08:19 apejens left, apejens joined 08:23 dakkar joined, bbkr_ joined 08:24 am0c joined 08:27 senobmeht joined 08:30 apejens left, apejens joined
mberends phenny, tell pmichaud the next timing accuracy improvement in Test.pm will be to move $time_before and $time_after assignments out from proclaim() to ok(), is*(), diag() etc, because some of those do lots of work before calling proclaim(). There should be negligible performance impact, but I'd like your opinion before proceeding. Also, there will probably be a few sub-microsecond times soon. We could record nanoseconds instead of microseconds (I pref 08:33
phenny mberends: I'll pass that on when pmichaud is around.
mberends er integers), even though clocks do not have nanosecond resolution (yet).
08:33 wamba left 08:36 y3llow_ joined 08:37 mberends left 08:38 y3llow left, y3llow_ is now known as y3llow 08:39 pnu joined
eiro hello all 08:41
tadzik hello eiro 08:42
eiro i'm trying to use the comments of arguments for doc (pastebin.com/cYwvCGxj)
it sends me the message: ===SORRY!=== 08:43
Whitespace character is not allowed as a delimiter at line 4, near " one of CR"
08:43 mberends joined
eiro hello tadzik. i was trying to write my first IA for the farm game. 08:43
AI 08:44
actually it's more like IS (artificial stupidity) 08:45
moritz well, natural stupidity we have more than enough :-) 08:47
tadzik eiro: docs for signatures are NYI 08:49
I may poke that soon, since someone actually needs this :)
lue docs for signatures? What's that? [Or rather, which spec would tell me about it, if it's too long to explain here] 08:51
eiro moritz, i can't just plug my brain to parrot :) 08:54
tadzik, NYI ?
moritz NYI = Not Yet Implemented 08:55
eiro arg :)
ok thanks
moritz lue: S26 allows attaching doc strings to just about anything
lue ohh, now that I know we're talking about doc strings, I can figure out exactly what docs for signatures are. 08:57
.oO(could you attach doc strings to doc strings?)
mberends lue: :) don't go there... 09:01
tadzik why, yes you can :) 09:02
.oO(#=this is a doc string explaining method foo of class xyzzy. Its purpose is to tell you the purpose of foo)
tadzik rakudo: gist.github.com/1185757 09:03
p6eval rakudo 2bac6a: OUTPUT«Array.new("doc #= double doc")␤»
tadzik documented documentation :)
lue oooh, I didn't know p6eval took files 09:05
tadzik lives 09:06
lue I won't for much longer if I don't go to bed. Good night everyone o/ 09:08
09:10 orafu left 09:11 orafu joined 09:18 envi joined 09:29 im2ee joined
im2ee Could I find somewhere modules which are build in Perl6? 09:33
Like IO::Socket ? :)
mberends im2ee: IO::Socket in built in to Rakudo itself. Modules are here: modules.perl6.org/ 09:34
im2ee I know modules.perl6.org. So, there is no site about modules which are build in to Rakudo? :) 09:35
mberends im2ee: avoid confusion, what is built into Rakudo is not *modules*. The complete set of Synopses describes what *should* be built in perlcabal.org/syn/ and this is the progress so far: perl6.org/compilers/features 09:38
im2ee mberends, ok. Thank You! :) 09:39
09:40 birdwindupbird left, rhr left, eiro left, benabik left, Helios left, risou_awy left, tewk left, Exodist left, fhelmberger left, nine left, lumi_ left, LoRe_ left, jasonmay left
mberends im2ee: IO::Socket is specified in perlcabal.org/syn/S32/IO.html 09:40
im2ee Great. :)
09:42 birdwindupbird joined
mberends im2ee: examples of IO:Socket are github.com/cosimo/perl6-lwp-simple and github.com/mberends/http-server-simple 09:42
09:42 Exodist joined, rhr joined, eiro joined, benabik joined, Helios joined, risou_awy joined, tewk joined, fhelmberger joined, nine joined, lumi_ joined, LoRe_ joined, jasonmay joined 09:43 donri left, donri joined
im2ee mberends, thanks again. :) 09:43
mberends have lots of fun! :)
finally, a 6model/c raw list implementation is free of memory leaks according to valgrind. Next up, a bigger test suite :) 09:48
im2ee Hmm, some more questions. :) 09:50
What about threading in Perl6? :)
Using fork, or some modules?
And... does exist something like DO (from p5)? 09:51
09:52 woosley left
mberends im2ee: not much implemented yet, your can use run('command') or qx(command). I think Niecza has some threading support but not Rakudo. I did create this example using Zavolaj: github.com/jnthn/zavolaj/blob/mast...ix-fork.p6 09:54
09:54 domidumont joined
mberends im2ee: oops, qx/command/ 09:57
im2ee hmmm.. No problem in total. :)
I'll be glad to help You with Perl6. :)
mberends great! when can you start?
im2ee But ... now I must get to know perl6 better. :) 09:58
I use Perl5 for 1 y (maybe 2), now I'll learn P6. :)
Hmm, I know C too. 09:59
mberends oh good, then you may be able to get involved with Parrot as well.
im2ee Hm, don't now exactly when - but I would as soon as possible :) 10:00
10:00 mux joined
im2ee Where I can find informations about what is to do? :) 10:00
mberends, You wrote Zavolaj? 10:01
mberends im2ee: I am contributor. jnthn++ is the author. 10:02
im2ee Ok. :) 10:03
mberends, Where I can find informations about what is to do? :) 10:04
mberends im2ee: first make sure that you can use Perl 6, (Rakudo, Niecza or both). The try to create your own module to share with the community. Then try to add a Perl 6 language test to github.com/perl6/roast. 10:05
10:06 mux left, mux joined
im2ee Hmm, is there maybe a site where I can find information abouts who is working on what? 10:06
10:07 cexsum left
im2ee I won't to work on something over which one is working now :) 10:07
mberends im2ee: not really. I recommend searching the logs of this channel at irclog.perlgeek.de/perl6/ 10:08
what would you *like* to work on? maybe I can remember who is interested in similar things. 10:09
moritz im2ee: people generally publish their work early and often 10:12
im2ee: so if something isn't on modules.perl6.org, you can be confident nobody has invested too much time in it
im2ee Hm, maybe for start on something like IRC bot module, etc. 10:15
You know - Im now professional, I hope You it'll be changed ! :) 10:16
And I hope You understand, that I'm not professional. :)
Right? :)
Hi moritz :)
moritz is not professional either :-)
im2ee :)
mberends there are already several people playing with IRC clients, I cannot remember names but that irc log search will find them.
10:16 wk joined
im2ee Hmm, but there is IRC Bot framework, right ? :) 10:17
moritz right, by TiMBuS++
im2ee Net::IRC::Bot
Ok. So .. hm, something else :)
mberends other people often ask for modules to build web applications. There are some incomplete frameworks, they need more love. 10:18
TiMBuS yay im getting attention
mberends :)
moritz TiMBuS: not you, just your module :-)
mberends lol
TiMBuS im2ee, feel free to contribute to make my module suck less
i never added module unloading support! the whole reason i made it modular 10:19
thats a good palce to start
moritz for example you could write a simple bot, and see if you miss any functionality from the framework
or find unintuitive, or so
mberends but please don't point a buggy bot at this lovely channel ;) 10:20
TiMBuS i miss the part where, the bot disconnects if it times out. because i have no async IO or threads >:[
mberends, the last bot someone sent here was a barrel of laughs
mberends oh yeah 10:21
im2ee TiMBuS, I don't thing that Your module sucks. :)
TiMBuS joke please
im2ee think*
TiMBuS thanks im2ee! but you can still probably make it better
im2ee TiMBuS, makeing irc module will be good lesson for me. :) 10:23
Hmm, does my English suck?
mberends nope 10:24
TiMBuS mines worse
10:25 saaki joined
im2ee mberends, thanks. :) 10:25
TiMBuS, where are You from? :)
mberends im2ee: :) 10:26
10:26 ccc_ joined
TiMBuS australia. 10:26
im2ee I must say something. This is the most friendly community that I have ever known. :) 10:27
mberends im2ee: thank you 10:28
im2ee No, I thank You. :)
So. :)
I'll learning P6 today. :) 10:29
mberends im2ee: one small thing, English people write 'you' with a small 'y'
im2ee Ok. :)
mberends im2ee: have you installed Rakudo or Niecza yet? It seems a logical first step. 10:30
10:30 showi left
im2ee I have Rakudo 07.2011 10:30
mberends good. Then also install Panda, as described on the Modules page. 10:31
10:31 cexsum joined, saaki left
im2ee i have Panda too. :) 10:31
and i installed some modules :)
mberends impressive :)
im2ee :) 10:32
So. I'm on the good way. :)
a instead of the :)
or? :)
nevermind :)
mberends I guess a, but nevermind 10:33
10:33 saaki joined 10:35 wk left
im2ee Now, I'll write some code which will help me learn the language. 10:35
daxim im2e++ for practicality 10:49
mberends im2ee++ even
im2ee :) 10:50
10:53 wamba joined 10:56 wamba left 11:01 sftp_ joined 11:02 mtk left 11:05 sftp left, awoodland joined
im2ee $sock.say("JOIN $chan\r") for @channels -> $chan; 11:06
what is wrong? :)
Trashlord uh 11:12
for my $chan @channels;
or 11:13
for my $chan (@channels);
flussence maybe $sock.say("JOIN $^chan\r" for @channels); 11:14
im2ee Works, thanks. :) 11:15
write method on IO::Socket::INET is better, isn't it? 11:19
11:22 espadrine joined 11:23 frettled joined
flussence .write would be better than mixing an explicit \r and implicit \n... 11:23
im2ee flussence, thanks :) 11:24
flussence (having a working &wrap would be better, just make $sock.say do the right thing...)
pmichaud good morning, #perl6 11:57
phenny pmichaud: 08:33Z <mberends> tell pmichaud the next timing accuracy improvement in Test.pm will be to move $time_before and $time_after assignments out from proclaim() to ok(), is*(), diag() etc, because some of those do lots of work before calling proclaim(). There should be negligible performance impact, but I'd like your opinion before proceeding. Also, there will probably be a few sub-microsecond times soon. We could record nanoseconds instead of micr
pmichaud mberends: I'll go with your judgement on this one. 12:00
mberends pmichaud: ok, we'll give it a try. Results so far are encouraging :) I'm curious how Niecza measures up. 12:02
the delay in is_deeply() is probably huge, and nondeterministic 12:04
bbkr_ rakudo: "aa" ~~ /(a)($0)/; $1.say # bug? 12:17
p6eval rakudo 2bac6a: OUTPUT«␤»
moritz yes 12:19
rakudo: "aa" ~~ /(a)($0)/; $0.say
p6eval rakudo 2bac6a: OUTPUT«a␤»
bbkr_ reported 12:20
moritz bbkr_++
12:36 espadrine left 12:39 awoodland left 12:40 awoodland joined
tadzik im2ee: good to see you around :) 12:42
PerlJam good * #perl6 12:45
12:46 mtk joined 12:48 odoacre left 12:49 JimmyZ joined 12:54 jferrero left 12:56 MayDaniel joined
im2ee tadzik, good to see you too. :) 12:57
mls morning perl6! 13:00
If you're interested whay perl6 does when it compiles the setting: www4.informatik.uni-erlangen.de/~ml...ing.out.gz 13:01
It's in kcachegrind input format 13:02
I've patched parrot's runloop to collect call statistics 13:05
bbkr_ rakudo: sub foo ( /abc/ ) { 1 }; foo( Regex ); # bug with method delegation?
p6eval rakudo 2bac6a: OUTPUT«===SORRY!===␤Cannot use a value type constraints whose value is unknown at compile time at line 1, near ") { 1 }; f"␤»
bbkr_ std: sub foo ( /abc/ ) { 1 }; # i don't know what kind of monster is it, but STD allows such declaration, therefore foo(Regex) should delegate 13:07
p6eval std e3c970e: OUTPUT«ok 00:01 123m␤»
flussence mls++
moritz bbkr_: I think it's a limitation in rakudo's current handling of constraints and literals 13:08
flussence (seems like the grammar is the slowest part...)
PerlJam using grammar is always faster than parsing grammar ;) 13:09
moritz mls++ 13:10
lineof is the function that takes the most time 13:11
13:12 daxim left
mls it is? 13:12
I don't see it 13:13
moritz mls: that's what your report says when I sort by the 'self' column in kcachegrind
flussence it's the longest per-call, it only gets called 18k times though 13:14
mls it takes the most ops, but you can switch to 'cycles'