badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 244 seconds]
orivej has joined #racket
catonano__ has joined #racket
catonano has quit [Ping timeout: 260 seconds]
catonano__ is now known as catonano
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
dmiles has quit [Ping timeout: 265 seconds]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
dmiles has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
badkins has joined #racket
badkins has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #racket
orivej_ has quit [Ping timeout: 246 seconds]
libertyprime has joined #racket
dddddd has quit [Ping timeout: 260 seconds]
TestNasm has joined #racket
orivej has joined #racket
orivej has quit [Ping timeout: 260 seconds]
orivej_ has joined #racket
badkins has joined #racket
orivej has joined #racket
orivej_ has quit [Ping timeout: 256 seconds]
badkins has quit [Ping timeout: 264 seconds]
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #racket
nebunez has quit [Ping timeout: 264 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
<dzoe>
samth: mul/s=29038977.170089286 (matrix multiplications, CS, after playing with register allocator, up from 22M/s in CS and <4M/s in BC)
<dzoe>
Let's see if I can have a patch by tomorrow.
<dzoe>
And fps in my rasterizer test went up significantly as well.
rgherdt has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
lockywolf has joined #racket
lockywolf has quit [Max SendQ exceeded]
lockywolf has joined #racket
lockywolf has quit [Max SendQ exceeded]
lockywolf has joined #racket
lockywolf_ has joined #racket
lockywolf_ has quit [Remote host closed the connection]
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 265 seconds]
rsaarelm has left #racket [#racket]
orivej has quit [Ping timeout: 244 seconds]
orivej has joined #racket
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #racket
orivej_ has joined #racket
orivej has quit [Ping timeout: 264 seconds]
dddddd has joined #racket
_whitelogger has joined #racket
orivej has joined #racket
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #racket
orivej_ has joined #racket
orivej has quit [Ping timeout: 244 seconds]
<dzoe>
Ok, xmm8-9 extended to xmm8-15, register allocator is impossible to improve right now and for SIMD new emit procedures must be written.
orivej_ has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
badkins has joined #racket
orivej has quit [Quit: No Ping reply in 180 seconds.]
badkins has quit [Ping timeout: 240 seconds]
lockywolf__ has joined #racket
orivej has joined #racket
lockywolf_ has quit [Ping timeout: 240 seconds]
badkins has joined #racket
<samth>
dzoe: :)
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 258 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
catonano has quit [Read error: Connection reset by peer]
catonano has joined #racket
orivej has quit [Quit: No Ping reply in 180 seconds.]
TCZ has joined #racket
orivej has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej_ has joined #racket
lockywolf_ has joined #racket
lockywolf__ has quit [Ping timeout: 264 seconds]
_whitelogger has joined #racket
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 240 seconds]
orivej has joined #racket
orivej_ has quit [Ping timeout: 246 seconds]
ermo has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #racket
ermo has joined #racket
badkins has joined #racket
orivej_ has quit [Ping timeout: 256 seconds]
orivej has joined #racket
badkins has quit [Ping timeout: 260 seconds]
fanta1 has joined #racket
badkins has joined #racket
dddddd has quit [Ping timeout: 256 seconds]
TCZ has quit [Quit: Leaving]
TCZ has joined #racket
libertyprime has quit [Ping timeout: 246 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 256 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
orivej has quit [Quit: No Ping reply in 180 seconds.]
TCZ has quit [Quit: Leaving]
orivej has joined #racket
orivej has quit [Read error: Connection reset by peer]
orivej has joined #racket
badkins has joined #racket
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 256 seconds]
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
_whitelogger has joined #racket
orivej_ has joined #racket
jjsimpso has joined #racket
orivej has quit [Ping timeout: 246 seconds]
m455 has quit [Quit: WeeChat 2.3]
m455 has joined #racket
orivej_ has quit [Ping timeout: 240 seconds]
orivej has joined #racket
lockywolf__ has quit [Remote host closed the connection]
lockywolf__ has joined #racket
<dzoe>
samth: 38M/s is the final result - 10x original BC performance :)
aeth has quit [Ping timeout: 246 seconds]
aeth has joined #racket
_whitelogger has joined #racket
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
fanta1 has quit [Quit: fanta1]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #racket
orivej_ has joined #racket
orivej has quit [Ping timeout: 265 seconds]
orivej_ has quit [Ping timeout: 246 seconds]
orivej has joined #racket
badkins has joined #racket
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #racket
<samth>
dzoe: that's pretty amazing
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #racket
dddddd has joined #racket
badkins has quit [Remote host closed the connection]
badkins has joined #racket
<dzoe>
samth: now I can only hope that Matthew likes it and merges it before 7.8 branch - and to be honest, I have no idea, what to do with windows
<samth>
dzoe: i think merging before 7.8 is probably unlikely, given the timing
<dzoe>
On linux and osx it is easy, but on windows a different calling convention is used and my naive understanding is that there are more fp register available for allocation.
<dzoe>
I know, I know ...
<samth>
did you post a PR?
badkins has quit [Ping timeout: 240 seconds]
<dzoe>
No, it is not official yet, I am just exchanging ideas and code with Matthew.
<dzoe>
But he's got the patches from me.
<dzoe>
Actually it is just a small patch for ta6le.def, ta6osx.def and x86_64.ss
<dzoe>
The funny thing about that is that I spent a few evenings with cpnanopass.ss and tried to improve the allocator only to rigorously verify there is no way to do so right now.
<dzoe>
Just out of curiosity - how do you build Racket on Windows?
<dzoe>
I should probably include that platform in my testing anyway ...
badkins has joined #racket
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #racket
nebunez has joined #racket
<wild_buffalo>
samth: Yeah the only thing that held me back from using it was that it seems to have no support for XPaths? I'm not familiar enough with Racket to query the resulting nested lists in an efficient manner yet
<wild_buffalo>
But I'll try it in the future
<samth>
dzoe: I just create pull requests and let the ci build on Windows
<dzoe>
samth: that is not very convenient if you want to do the trial-and-error testing of various ideas ... and given that CS is apparently different on windows at the lowest level, I should probably run a VM?
<dzoe>
x86_64.ss starts with (if-feature windows ...
catonano has quit [Remote host closed the connection]
<samth>
dzoe: yes, probably a VM is the right choice then
m455 has quit [Quit: WeeChat 2.3]
<dzoe>
samth: and may I ask for a hint about using disassemble to look inside let loops residing inside compiled functions? I get stuff like 96: e9d52e0000 (jmp (+ rip #x2ed5)) ; #<code xloop at do-hline-detail.rkt:86.3>
<dzoe>
Of course it is (let xloop (...) ...)
TCZ has joined #racket
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #racket
<samth>
dzoe: probably the right thing is to extend disassemble to accept addresses
<dzoe>
Ok, so I'll just factor that out to top level :)
<dzoe>
I am really confused about what I did.
<samth>
yeah there's not an easy solution right now
epony has quit [*.net *.split]
benaiah has quit [*.net *.split]
mario-goulart has quit [*.net *.split]
mceier has quit [*.net *.split]
poga has quit [*.net *.split]
erkin has quit [*.net *.split]
idxu has quit [*.net *.split]
eMBee has quit [*.net *.split]
ski has quit [*.net *.split]
<dzoe>
I can speed up matrix multiplication with 8 registers easily - but I am absolutely clueless as of what is happening inside a very simple loop with 3x fl+ in each iteration.
<dzoe>
It just blows up the inliner and ends up using a single fp register for everything.
<dzoe>
And funnily enough, it is xmm15, so I asume that xmm8-14 are bound to some absolutely unrelated and mostly unused values :)
sagax has joined #racket
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #racket
eMBee has joined #racket
poga has joined #racket
mceier has joined #racket
epony has joined #racket
ski has joined #racket
benaiah has joined #racket
mario-goulart has joined #racket
idxu has joined #racket
erkin has joined #racket
<samth>
also possible that you can use the object inspector on chez to get access to xloop
<samth>
possibly through the `relocations` that the disassmbler already uses
eMBee has quit [*.net *.split]
dmiles has quit [*.net *.split]
mjanssen has quit [*.net *.split]
srji has quit [*.net *.split]
dvdmuckle has quit [*.net *.split]
mzan has quit [*.net *.split]
evhan has quit [*.net *.split]
eMBee has joined #racket
srji has joined #racket
mjanssen has joined #racket
dvdmuckle has joined #racket
dmiles has joined #racket
evhan has joined #racket
mzan has joined #racket
sz0 has quit [*.net *.split]
samth has quit [*.net *.split]
terrorjack has quit [*.net *.split]
jackhill has quit [*.net *.split]
<dzoe>
Yes, I either need to get different access to the code in question or refactor the whole example. My current understanding is that with let loops, different rules for inlining apply.
fridim has quit [*.net *.split]
ohama has quit [*.net *.split]
hoek has quit [*.net *.split]
sz0 has joined #racket
jackhill has joined #racket
samth has joined #racket
terrorjack has joined #racket
terrorjack has quit [Max SendQ exceeded]
<dzoe>
Yes, I either need to get different access to the code in question or refactor the whole example. My current understanding is that with let loops, different rules for inlining apply.
hoek has joined #racket
ohama has joined #racket
fridim has joined #racket
evdubs has quit [*.net *.split]
dustyweb has quit [*.net *.split]
winny has quit [*.net *.split]
nisstyre has quit [*.net *.split]
bremner has quit [*.net *.split]
ilmu has quit [*.net *.split]
dumptruckman has quit [*.net *.split]
hoek has quit [Max SendQ exceeded]
<dzoe>
I will probably implement dumping of the graph coloring internals during the register assignment.
bremner has joined #racket
evdubs has joined #racket
nisstyre has joined #racket
dustyweb has joined #racket
winny has joined #racket
dumptruckman has joined #racket
ilmu has joined #racket
nisstyre has quit [Max SendQ exceeded]
<dzoe>
I just drew that on a paper and it is so simple that everything should be inlined in 6 xmm registers.
dddddd has quit [*.net *.split]
pounce has quit [*.net *.split]
juanfra has quit [*.net *.split]
dddddd has joined #racket
pounce has joined #racket
juanfra has joined #racket
sz0 has quit [Ping timeout: 260 seconds]
nisstyre has joined #racket
zenspider has quit [*.net *.split]
mbrndtgn has quit [*.net *.split]
r3x5- has quit [*.net *.split]
mbrndtgn has joined #racket
zenspider has joined #racket
r3x5- has joined #racket
orivej has quit [*.net *.split]
sagax has quit [*.net *.split]
ArthurStrong has quit [*.net *.split]
Lowl3v3l has quit [*.net *.split]
wild_buffalo has quit [*.net *.split]
FreeFull has quit [*.net *.split]
emacsomancer has quit [*.net *.split]
nullman has quit [*.net *.split]
DGASAU has quit [*.net *.split]
mbrndtgn has quit [Max SendQ exceeded]
mbrndtgn has joined #racket
edmoore has quit [*.net *.split]
cbarrett has quit [*.net *.split]
Zandose has quit [*.net *.split]
krono has quit [*.net *.split]
jmiven has quit [*.net *.split]
griffinbyatt has quit [*.net *.split]
jhei has quit [*.net *.split]
FreeFull has joined #racket
ArthurStrong has joined #racket
orivej has joined #racket
DGASAU has joined #racket
emacsomancer has joined #racket
Lowl3v3l has joined #racket
nullman has joined #racket
sagax has joined #racket
wild_buffalo has joined #racket
edmoore has joined #racket
jmiven has joined #racket
jhei has joined #racket
cbarrett has joined #racket
Zandose has joined #racket
griffinbyatt has joined #racket
krono has joined #racket
TCZ has quit [*.net *.split]
aeth has quit [*.net *.split]
ermo has quit [*.net *.split]
gabot has quit [*.net *.split]
acarrico has quit [*.net *.split]
Oxyd has quit [*.net *.split]
lavaflow has quit [*.net *.split]
ephemera_ has quit [*.net *.split]
emacsomancer has quit [Max SendQ exceeded]
aeth has joined #racket
TCZ has joined #racket
acarrico has joined #racket
lavaflow has joined #racket
ephemera_ has joined #racket
ermo has joined #racket
Oxyd has joined #racket
gabot has joined #racket
notzmv has quit [*.net *.split]
aidalgol has quit [*.net *.split]
xensky has quit [*.net *.split]
jboy has quit [*.net *.split]
dzoe has quit [*.net *.split]
rubic88 has quit [*.net *.split]
m1dnight_ has quit [*.net *.split]
deeglaze has quit [*.net *.split]
`micro has quit [*.net *.split]
emacsomancer has joined #racket
travv0 has quit [*.net *.split]
iyzsong has quit [*.net *.split]
greghendershott has quit [*.net *.split]
conjunctive has quit [*.net *.split]
hexagoxel has quit [*.net *.split]
edmoore has quit [Ping timeout: 246 seconds]
aidalgol has joined #racket
dzoe has joined #racket
notzmv has joined #racket
xensky has joined #racket
rubic88 has joined #racket
m1dnight_ has joined #racket
jboy has joined #racket
`micro has joined #racket
deeglaze has joined #racket
m1dnight_ has quit [Max SendQ exceeded]
conjunctive has joined #racket
travv0 has joined #racket
greghendershott has joined #racket
iyzsong has joined #racket
hexagoxel has joined #racket
krono has quit [Ping timeout: 246 seconds]
TCZ has quit [Remote host closed the connection]
TCZ2 has joined #racket
Ekho has quit [*.net *.split]
overflow has quit [*.net *.split]
camelCaser has quit [*.net *.split]
idstam has quit [*.net *.split]
eagleflo has quit [*.net *.split]
notnotdan has quit [*.net *.split]
TestNasm has quit [*.net *.split]
ullbeking has quit [*.net *.split]
englishm has quit [*.net *.split]
ncl3 has quit [*.net *.split]
bchar has quit [*.net *.split]
lexi-lambda has quit [*.net *.split]
JStoker has quit [*.net *.split]
ecraven has quit [*.net *.split]
cky has quit [*.net *.split]
cheers has quit [*.net *.split]
Blkt has quit [*.net *.split]
Zandose has quit [Ping timeout: 246 seconds]
jhei has quit [Ping timeout: 246 seconds]
Ekho has joined #racket
notnotdan has joined #racket
overflow has joined #racket
eagleflo has joined #racket
camelCaser has joined #racket
idstam has joined #racket
Ekho has quit [Max SendQ exceeded]
m1dnight_ has joined #racket
cbarrett has quit [Ping timeout: 246 seconds]
emacsen has quit [*.net *.split]
emacsen has joined #racket
travv0 has quit [Ping timeout: 244 seconds]
conjunctive has quit [Ping timeout: 244 seconds]
wingo has quit [*.net *.split]
ChanServ has quit [*.net *.split]
TestNasm has joined #racket
ncl3 has joined #racket
cky has joined #racket
englishm has joined #racket
lexi-lambda has joined #racket
cheers has joined #racket
bchar has joined #racket
ecraven has joined #racket
JStoker has joined #racket
Blkt has joined #racket
wingo has joined #racket
ChanServ has joined #racket
tonyg has quit [*.net *.split]
meimeix has quit [*.net *.split]
tomaw has quit [*.net *.split]
rudybot has quit [*.net *.split]
fiddlerwoaroof has quit [*.net *.split]
dyl_ has quit [*.net *.split]
tonyg has joined #racket
tomaw has joined #racket
rudybot has joined #racket
fiddlerwoaroof has joined #racket
dyl_ has joined #racket
meimeix has joined #racket
<samth>
dzoe: it's funny because one of the main reasons that compiling in racket cs takes a long time is the register allocator
Ekho- has joined #racket
edmoore has joined #racket
terrorjack has joined #racket
cbarrett has joined #racket
Zandose has joined #racket
conjunctive has joined #racket
<dzoe>
Got it!
<dzoe>
The flonums don't get unboxed here.
hoek has joined #racket
<dzoe>
The whole thing breaks even before it gets to register allocator.
orivej has quit [*.net *.split]
sagax has quit [*.net *.split]
ArthurStrong has quit [*.net *.split]
Lowl3v3l has quit [*.net *.split]
wild_buffalo has quit [*.net *.split]
FreeFull has quit [*.net *.split]
nullman has quit [*.net *.split]
DGASAU has quit [*.net *.split]
sagax has joined #racket
ArthurStrong has joined #racket
Lowl3v3l has joined #racket
nullman has joined #racket
orivej has joined #racket
wild_buffalo has joined #racket
FreeFull has joined #racket
DGASAU has joined #racket
<samth>
dzoe: what operation is missing?
<dzoe>
Honestly, I don't know. It is fine that it does not work out of box, however I am really confused why it does not work when I give it all those safe-fl+ hints as suggested.
sz0 has joined #racket
ullbeking has joined #racket
<wild_buffalo>
is there a way to set a breakpoint in the DrRacket REPL?
<dzoe>
The let loop keeps allocating new flonums for each iteration.
<dzoe>
And this is something Matthew solved a month ago (and it works under other circumstances).
<samth>
wild_buffalo: there's a debugger in drracket which allows you to set breakpoint, but i believe only through the gui
TCZ2 has quit [Quit: Leaving]
TCZ has joined #racket
<wild_buffalo>
samth: Right, so I can set breakpoints in the definitions pane. Is it possible to set breakpoints in the REPL pane?
<samth>
wild_buffalo: i don't think so
<wild_buffalo>
Cool, thanks
orivej_ has joined #racket
orivej has quit [Ping timeout: 264 seconds]
Ekho- is now known as Ekho
badkins has quit [Remote host closed the connection]
<wild_buffalo>
I have an xml file that I'm trying to transform into xexpr so I can run some queries on it
badkins has joined #racket
<wild_buffalo>
I'm attempting to turn it into a xexpr this way: