TakinOver has quit [Remote host closed the connection]
TakinOver has joined #ocaml
alexherbo2 has quit [Ping timeout: 260 seconds]
rf has quit [Remote host closed the connection]
<adrien>
I think I've greatly increased the performance of my compression file sorter; I think I've lowered the algorithmic complexity and a test is down to 10 minutes, down from 75 minutes; basically I replaced "cardinal (union set1 set2)" with set1 being a bigarray with a '1' for member, and then I iterate over set2 (roughly-speaking) and check the bigarray
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
gnulinuxuser has quit [Ping timeout: 260 seconds]
<discocaml>
<Kakadu> Is it possible to integrate bisect_ppx with cram tests? From brief exploration it looks like that cram tests are totally ignored...
Anarchos has joined #ocaml
m5zs7k has quit [Ping timeout: 264 seconds]
m5zs7k has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
bartholin has quit [Quit: Leaving]
bartholin has joined #ocaml
xd1le has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
ardon` has joined #ocaml
ardon` has quit [Remote host closed the connection]
Stumpfenstiel has joined #ocaml
Stumpfenstiel has quit [Ping timeout: 252 seconds]
bgs has joined #ocaml
Stumpfenstiel has joined #ocaml
ritsu[m] has left #ocaml [#ocaml]
<companion_cube>
That looks nice, @darrenldl
perrierjouet has quit [Quit: WeeChat 3.8]
Anarchos has joined #ocaml
<discocaml>
<RegularSpatula> Yeah bisect_ppx works with cram if you instrument your executables as well as any of your libraries
<discocaml>
<Kakadu> I tried, but it looks like it isn't. Could you point to working demo?
<adrien>
hmmm, I've just extracted my most expensive chunk of code to a dedicated function; it is called only once since the hot loop is inside the function
<adrien>
and it seems the code got ~4x slower
<adrien>
I'm a bit surprised: the function itself doesn't need to be inlined and it's not directly the hottest code since it triggers a few millions calls of something else which is what is the most expensive by itself
<adrien>
any idea of what to look for?
<adrien>
(I'm cleaning the code currently, that's why I'm not showing it immediately but I could if noone has ideas)
<discocaml>
<AngelicDevil> Hello. Can somebody tell me where I can find exercises with variants and records? Thanks.
alexherbo2 has quit [Remote host closed the connection]
perrierjouet has quit [Quit: WeeChat 3.8]
perrierjouet has joined #ocaml
spip has joined #ocaml
bartholin has quit [Quit: Leaving]
rf has joined #ocaml
xd1le has quit [Quit: xd1le]
waleee has joined #ocaml
olle has quit [Ping timeout: 255 seconds]
alexherbo2 has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
bartholin has joined #ocaml
<adrien>
I had another try with only less code in a separate function and got something as bad (if not worse) so I tried the opposite approach and put some more code in a separate function, and it's fast again...
alexherbo2 has quit [Remote host closed the connection]
bgs has quit [Remote host closed the connection]
Serpent7776 has quit [Ping timeout: 260 seconds]
<mclovin>
@adrien, I see that you're using `ifprintf`. I went over the code quickly so I'm not sure of often you're calling your `log` function, but even when you don't print anything and call `ifprintf` it's going to be quite costly as `ifprintf` has to consume all its argument. A solution is usually to do something like this instead: https://github.com/OCamlPro/owi/blob/main/src/log.ml#L10-L14 ; before I was using `ifprintf` in my interpreter, and calling
<mclovin>
my log function on every instruction. Switching to the various `debug0`, `debug1` etc. functions led to a 25% improvement.
<mclovin>
Which function is the one you extracted ?
bartholin has quit [Quit: Leaving]
<Anarchos>
i finally managed to run coqide on HaikuOS, tweaking a bit lablgtk3 to use gtksourceview4.8.4 as a gtksourceview3 ----> https://imgur.com/a/XK0uSIN
Stumpfenstiel has quit [Ping timeout: 255 seconds]