<TFK>
Ah, the "module Foo = ... end;;" was a bad idea in the files, wasn't it?
fmardini_ has quit [Read error: 110 (Connection timed out)]
<TFK>
I'm doing some profiling on natively-compiled code, and I see "sweep_slice", "mark_slice" and "caml_initialize". They take up more than 60% of the program speed - what are they?
<TFK>
caml_initialize got called more than a billion times...
<zmdkrbou>
it's the GC
<zmdkrbou>
(at least the first two)
<TFK>
Oh my...
<TFK>
I suppose it means I create too many short-lived objects?
<zmdkrbou>
probably
<TFK>
Hmmm. I am using a lot of temporary arrays, something I didn't do before.
<zmdkrbou>
there is probably no memory sharing with arrays, so that temporary arrays is possibly a really bad thing
<TFK>
Welp, now I have tons of calls to caml_modify and camlArray__fill :-)
<TFK>
A billion calls to caml_modify, in fact.
<TFK>
I guess it has to do with Array.fill... ugh...
<TFK>
I was right. Array.fill is really, really slow for some reason.
noj_ has joined #ocaml
Ycros is now known as foocros
foocros is now known as Ycros
piggybox_ has joined #ocaml
ikaros has joined #ocaml
piggybox has quit [Read error: 110 (Connection timed out)]
<TFK>
Hmmm, what's caml_copy_double?
fmardini has joined #ocaml
kelaouchi has joined #ocaml
piggybox has joined #ocaml
mnemonic_ has joined #ocaml
mnemonic2 has joined #ocaml
mnemonic2 has quit [Client Quit]
piggybox_ has quit [Read error: 110 (Connection timed out)]
mnemonic has quit [Read error: 110 (Connection timed out)]
piggybox_ has joined #ocaml
seafoodX has joined #ocaml
mnemonic_ has quit [Read error: 110 (Connection timed out)]
piggybox has quit [Read error: 110 (Connection timed out)]
<TFK>
Can I mark the end of a match expression?
fmardini has quit []
seafoodX has quit []
Smerdyakov has joined #ocaml
piggybox__ has joined #ocaml
piggybox_ has quit [Read error: 110 (Connection timed out)]
piggybox has joined #ocaml
piggybox__ has quit [Read error: 110 (Connection timed out)]
ygrek has quit ["Leaving"]
Smerdyakov has quit ["Leaving"]
<flux>
no, you need to use parenthesis
<flux>
or you can use the revised syntax..
<TFK>
What's the revised syntax?
Mr_Awesome has joined #ocaml
piggybox_ has joined #ocaml
piggybox has quit [Read error: 110 (Connection timed out)]
<mbishop>
Anyone have a good write up somewhere (not wikipedia please, I have that one already) about why C sucks?
<TFK>
I'm sure google has about 258237592375 rants on that topic ;-)
pantsd has joined #ocaml
<mbishop>
meh, only blog posts with bad grammar
ikaros has quit ["segfault"]
<TFK>
Why do you need this, anyway?
<mbishop>
Trying to convince others :P
<TFK>
Write your own rant!
<mbishop>
I ended up doing that heh
<abez>
mbishop: look for a lisp versus C argument
<abez>
mbishop: those are the most interesting because often they talk about culture
pantsd has quit [Read error: 110 (Connection timed out)]
pantsd has joined #ocaml
Mr_Awesome has quit ["time to impregnate a moth"]
rhz has joined #ocaml
<rhz>
Why is this not valid ocaml: if false then 2 else Printf.printf "hello"; 3;; ?
<zmdkrbou>
because of parsing priorities
<rhz>
is there a way to fix this code?
<zmdkrbou>
if false then 2 else (Printf.printf "hello" ; 3) ;;
<rhz>
great thanks
<zmdkrbou>
np
tehdeuce has joined #ocaml
<tehdeuce>
Hey. I'm interested in writing an ocaml program which uses xlib. What would the best way to do this be? http://www.linux-nantes.org/~fmonnier/OCaml/Xlib/ seems immature, and none of the ffi generators I've found have worked.