tadzik all of them, at once :) 00:00
00:11 jnap joined 00:18 timotimo joined 00:44 harrow joined
japhb__ en.wikipedia.org/wiki/Gustafson%27s_law # Not scaling? Just add more work! 00:50
timotimo japhb__: are you okay with my changes to extract common stuff from bench? 00:54
japhb__ timotimo: I chewed on that a bit, wondering if it was a net win. Then I realized 1) We might want to make more than one Perl 6 tool in that repo, and 2) We can precompile the common stuff module, making for faster load time. So yeah, I'm fine with it. 01:00
Except I thought 'our' and 'is export' were redundant?
At least for the way you're using them. 01:01
timotimo i *thought* it was, too
then i tried to make it work without it and failed
also, i'm hacking up a tool that i want to have the common code shared in it 01:02
but i'm thinking before i actually tackle that tool, i want to make multi-part versions work
japhb__ If the our/is export pair are *both* needed, we should figure out why ... because that's probably a bug somewhere. 01:03
What will your new tool do?
timotimo be a menu/dialog driven interface to the benchmarker 01:04
oh, by the way 01:05
i'd really like to have a feature that'll let me give aliases to the pieces that make up a benchmark output
so that instead of rakudo-moarvm/12345, rakudo-moarvm/54321 we'll have "/before" and "/after" or something like that
japhb__ Menu as in prompt(), or as in curses?
timotimo closer to the first 01:06
japhb__ Aliases would be nice, yes. I would think they wouldn't be all *that* hard -- all the work should be in bench, not in timeall.
timotimo good 01:07
japhb__ Heck, there's at least a 10% chance that just putting symlinks in the right places will magically work. :-)
timotimo i'm wondering wether to introduce a class to identify a particular "version" of something
japhb__ Why do you need that? 01:08
timotimo so that for-components or for-checkouts may be a bit more structured
maybe it's just to clear my mind WRT how sub-component-versions should work
japhb__ I don't want to add accidental complexity -- I've tried pretty hard to keep bench down to the intrinsic complexity of the problem space, translated directly to Perl 6.
timotimo mhm 01:09
japhb__ (The Perl 5 scripts -- well, they give up some of that in places. Such is the nature of the beast.)
timotimo do you think sub-component-versioning is a bad idea all in all?
i've really been missing it a couple of times 01:10
japhb__ Give me an example for concreteness ...
timotimo i've implemented a fastpath for string concatenation in moarvm
now i want to compare rakudo-moar/1234 vs rakudo-moar/1234 01:11
japhb__ And your solution would be?
timotimo as you can see, rakudo-moar/1234 and rakudo-moar/1234 are "the same"
i'd tell bench to time rakudo-moar/1234;;abcd and rakudo-moar/1234;;ffff 01:12
; is not a good choice, i think i decided to use : instead?
japhb__ Yeah, but how do the actual checkouts differ?
timotimo they check out a different version of moarvm when building their dependencies 01:13
and they have a different name to reflect that fact
japhb__ Oh, that's right, I remember now.
Yup, gotcha. What about: rakudo-moar/1234:moarvm=abcd 01:14
To be general about component references
timotimo i don't really like it all that much, but i'm not 100% sold on forcing them to be positional 01:15
japhb__ timotimo: Or maybe we piggyback on your alias concept -- Our aliases can include not just a checkout of the top component, but additional settings (such as subcomponent versions, compiler flags, environment vars to set, etc.) 01:17
Which means that if you want all the power, you have to shift from pure argument expansion to configuring real aliases first. 01:18
timotimo oof
japhb__ (Unless we want to specify a packed command line form for said aliases, sorta like I mentioned above) 01:19
I'm basically wondering if we've reached a tipping point between "lots of little sugars" to "we need a unifying concept here"
01:22 woosley joined 01:45 jnap joined 02:08 jnap joined 04:11 jnap joined 04:45 jnap joined
JimmyZ I updated dyncall to newest version to fix the license issue. 05:45
05:46 jnap joined
TimToady JimmyZ++ 06:03
06:06 woosley1 joined 06:47 jnap joined 07:28 ggoebel11116 joined 07:48 jnap joined
jnthn JimmyZ: Great, thanks! :) 07:51
08:06 FROGGS joined 08:10 zakharyas joined 08:49 jnap joined
JimmyZ bonsaikitten: ^^ 08:56
dalek arVM: 20c20b5 | jimmy++ | src/io/syncfile.c:
Make lock/unlock function static
09:27
09:49 jnap joined 10:51 tomyan joined
tomyan I'm trying to try out rakudo with moarvm with "perl Configure.pl --gen-moar --gen-nqp --backends=moar" in a rakudo clone, and getting the error "Unable to checkout 'a9e6eec70785f43f63ef17189fc2733d4ceb8446' in submodule path '3rdparty/dyncall'" 10:53
anyone know how to fix it?
has "git error: fatal: reference is not a tree: a9e6eec70785f43f63ef17189fc2733d4ceb8446" before the error 10:55
11:51 jnap joined 11:52 tomyan joined 12:08 TimToady joined
JimmyZ tomyan: rm 3rdparty/dyncall and git reset HEAD --hard 12:16
12:21 FROGGS joined
tomyan JimmyZ: just tried, but have same error 12:31
timotimo "git submodule update" perhaps?
in moarvm/ ?
timotimo waves hands 12:32
tomyan don't really understand as I can see the submodule here github.com/MoarVM/dyncall/tree/a9e...d4ceb8446, but even if I cd 3rdparty/dyncall and do "git checkout a9e6eec70785f43f63ef17189fc2733d4ceb8446" I get "fatal: reference is not a tree: a9e6eec70785f43f63ef17189fc2733d4ceb8446"
same with git submodule update 12:33
have tried in a separate MoarVM checkout (with
s/\(with)// 12:34
slightly beyond my knowledge of git :-(
moritz maybe the submodule references a wrong repo? 12:37
.gitmodule should say url = github.com/MoarVM/dyncall.git 12:38
tomyan it does 12:40
timotimo how about git pull? will that help?
moritz git fetch (in the submodule)
timotimo or that
moritz pull won't work, 'cause submodules usually are in detached HEAD state
timotimo right
tomyan is a fresh clone
timotimo moarvm/dyncall says the latest commit is 5c4e85
that's not the same as what tomyan is getting an error for 12:41
in fact
i cannot find that commit in the recent logs
tomyan to reproduce: git clone [email@hidden.address] && cd MoarVM && perl Configure.pl --optimize --prefix=/some/path --make-install 12:42
moritz it's from 2013-08-27
timotimo hm 12:44
i don't get the error fwiw
tomyan oh
moritz also tries
tomyan what version of git, perl?
timotimo even after rm -rf 3rdparty/dyncall
tomyan git version 1.7.5.2
timotimo git version 1.8.1.2
moritz I use 1.7.9.2, and now I got the same error 12:45
tomyan will try upgrading and see if it goes away
timotimo moritz: how can i reproduce that error? o_O 12:46
timotimo freshly clones moarvm 12:47
ah
with a fresh clone it *does* fail
perhaps there was a rebase or something? 12:48
yup, the commit we're looking for has disappeared 12:49
tomyan ah, not git version related - will stop doing battle with macports :-) 12:50
timotimo i'll make a quickfix. 12:51
12:52 jnap joined
timotimo try now. 12:52
moritz timotimo: what did you do? 12:53
timotimo i pushed the referenced commit up to the dyncall repo under a new branch named "safety_branch"
tomyan cool, thanks 12:55
moritz ah, now I understand
it wasn't referenced from anywhere
timotimo yes 12:56
moritz and exisitng checkouts still had the commit, so a simple pull wouldn't exhibit the problem
timotimo we should keep this branch around, or bisecting and such in the future will be very painful
yes
12:57 dalek joined
JimmyZ I just have a fresh clone moarvm, I didn't see the issue 13:13
timotimo yes, i just fixed it :) 13:14
JimmyZ No, before you fix it
timotimo oh? 13:20
dalek arVM: 79973cf | jimmy++ | 3rdparty/dyncall:
Bump dyncall to latest version
13:28
JimmyZ ^^ should fix the real problem
tomyan: ^^ 13:29
dalek arVM: 20931e6 | jimmy++ | build/setup.pm:
fixed posix build
13:45
FROGGS JimmyZ++ # good catch 13:46
14:08 jnap joined 15:01 FROGGS joined 15:51 jnap1 joined 16:47 cognominal joined
timotimo gc_mark is a pretty bad spot for updating the forwarder. 17:46
but i'm not sure where to place this :|
perhaps before copy_to would get called? 17:47
since i'm now only doing debug output instead of changing the forwarderd, i expect the ratio of "put a new string into the hash" to "used an existing string" would get pretty lobsided, as it'll put the same string into the hash again and again in the next collection 17:48
potentially
hm. the forwarder of the "earlier" string may not be initialized at all during the gc_mark of MVMString 18:03
hm. actually. i can solve this totally differently 18:04
hm. 18:24
how come copy_to of MVMString seems to never be called? 18:33
so, what i'm doing is if i reach an MVMString in gc_mark, I add the object to the coalescing hash using the string it represents as a key 18:36
at the beginning of a gc run, i clear out the hash (which hangs off of the threadcontext) and when the gc run finishes, i go through the hash and try to follow all the forwarders 18:37
except none of these has a forwarder set
apparently i don't need to follow the forwarder at that point o_O 18:40
so is gc_mark called after the object is copied over? O_o
605908maxresidentk with coalescer 18:43
607684maxresidentk without 18:45
hum.
well, i may just be doing it completely wrong. but if not, this isn't particularly helping. 18:47
timotimo took the coalescer for gen2 out) 18:49
so many smilies 18:50
but still 604m :\
FROGGS btw, I can't help you there but I just want to tell that I am with you :o) 18:57
timotimo heh
something must be keeping the objects i've intended to throw out around after the fact 18:58
the strings still clump up by the thousands in the old generation
Could not locate compile-time value for symbol &infix:<,> [======= 6 18:59
m)
now i kind of wish there was a "how many objects point to this" analysis 19:02
but doing that in python would be absurdly slow
i may have to re-implement parts of the GC memory analysis in C anyway
19:04 tomyan joined
timotimo feels rather useless now 19:05
yawnt you're not useless timotimo! 19:10
yawnt goes back to sleep
TimToady timotimo: you should do it in Perl 6--I hear it's designed to be heavily optimized :) 19:21
timotimo i'm designed to be heavily optimized 19:31
19:47 raiph joined 20:11 jnap joined 21:18 colomon joined
jnthn timotimo: GC mark has to be called after copying/marking an object. 22:08
timotimo: Since it happens once it's in its new location.
timotimo ah!
that's why i didn't have to follow the forwarders
jnthn I still worry a lot about getting the GC to do this. 22:09
There's a reason it's relatively quick at what it does: it's *simple*.
timotimo right; what i've done now is different
i put the coalescing into repr_get_str and repr_set_str 22:10
and only let the gc clear out the coalescing hash
which may have been a bad idea after all.
ah well. i'll let that code rot^Wrest until further notice 22:14
dalek arVM: 0566111 | jonathan++ | docs/ChangeLog:
Mostly complete 2014.03 ChangeLog.
22:33
arVM: 09c66c0 | jonathan++ | README.markdown:
Some README tweaks.
arVM: 362ce65 | timo++ | docs/ChangeLog:
tiny typo fix
22:36
jnthn It may be missing some of the last commits
I did it on the plane with a not-exactly-up-to-date checkout 22:37
timotimo ah
jnthn And coudlnt' pull in the sky :)
timotimo there were no big changes
hm
a dyncall update, though
dalek arVM: 8da2d17 | (Timo Paulssen)++ | docs/release_guide.md:
try to fix release guide shell code.
22:40
timotimo why does github render it to be just one line? >_> 22:41
dalek arVM: 9333f87 | (Timo Paulssen)++ | docs/release_guide.md:
try to fix release guide shell code.
timotimo aaw COME ON!
jnthn: interestingly it seems like i didn't get any performance penalty from my coalescing fails at all 22:50
jnthn bah, chrome translates the DKK to £ o.O 22:56
uh, ww
retupmoca jnthn: did you see my moarvm nativecall issue with precompilation? gist.github.com/retupmoca/9606605
jnthn retupmoca: The one I fixed, or another one? 22:57
timotimo this is from a day ago, so i would think it's another one 22:58
retupmoca jnthn: another one I think - nativecall compiles fine, but anything that 'is native(...)' doesn't seem to precompile right
jnthn ah
yeah, it's a new one
*sigh*
retupmoca sorry :)
jnthn Not sure why it doesn't work.
I didn't try that yet. I was kinda expecting to get the Star modules to point such things out.
dalek arVM: 1fc0e35 | (Andrew Egeler)++ | docs/release_guide.md:
Fix release_guide.md step 5
23:09
arVM: acaa6c2 | timo++ | docs/release_guide.md:
Merge pull request #83 from retupmoca/master

Fix release_guide.md step 5
23:35 tomyan joined
dalek arVM: d4d0d86 | (Gerd Pokorra)++ | Configure.pl:
Add --has-libtommath extension.

Enables use of a system libtommath, which is helpful for packagers.
23:36