companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.11 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.11/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
aquijoule_ has joined #ocaml
aquijoule__ has quit [Ping timeout: 272 seconds]
mxns has quit [Ping timeout: 265 seconds]
wagle has quit [Remote host closed the connection]
wagle has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
metreo has quit [Quit: metreo]
Haudegen has joined #ocaml
rock64 has quit [Ping timeout: 240 seconds]
rock64 has joined #ocaml
Haudegen has quit [Ping timeout: 265 seconds]
mxns has joined #ocaml
amiloradovsky has quit [Quit: amiloradovsky]
aquijoule__ has joined #ocaml
mxns has quit [Ping timeout: 260 seconds]
aquijoule_ has quit [Ping timeout: 246 seconds]
mxns has joined #ocaml
mxns has quit [Ping timeout: 272 seconds]
dborisog_ has joined #ocaml
aquijoule_ has joined #ocaml
mfp has quit [Ping timeout: 264 seconds]
aquijoule__ has quit [Ping timeout: 264 seconds]
rdivyanshu has joined #ocaml
hnOsmium0001 has joined #ocaml
infinity0 has quit [Ping timeout: 246 seconds]
zebrag has quit [Quit: Konversation terminated!]
infinity0 has joined #ocaml
rbtEngrDude has joined #ocaml
ArthurStrong has quit [Quit: leaving]
_whitelogger has joined #ocaml
mbuf has joined #ocaml
vicfred has quit [Quit: Leaving]
waleee-cl has quit [Quit: Connection closed for inactivity]
rdivyanshu has quit [Quit: Connection closed for inactivity]
decentpenguin has quit [Read error: Connection reset by peer]
decentpenguin has joined #ocaml
vicfred has joined #ocaml
rbtEngrDude has quit [Quit: Leaving]
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
narimiran has joined #ocaml
vicfred has quit [Quit: Leaving]
vicfred has joined #ocaml
Tuplanolla has joined #ocaml
amiloradovsky has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
Tuplanolla has quit [Quit: Leaving.]
Haudegen has joined #ocaml
haesbaert has joined #ocaml
mbuf has quit [Ping timeout: 265 seconds]
angerman has quit [Ping timeout: 272 seconds]
angerman has joined #ocaml
Serpent7776 has joined #ocaml
olle has joined #ocaml
dinosaure has quit [Ping timeout: 240 seconds]
nore has quit [Ping timeout: 240 seconds]
_tjr_ has quit [Ping timeout: 240 seconds]
dinosaure has joined #ocaml
tristanC has quit [Ping timeout: 240 seconds]
tristanC has joined #ocaml
t-j-r has joined #ocaml
nore has joined #ocaml
bartholin has joined #ocaml
steenuil has joined #ocaml
jlr has joined #ocaml
mfp has joined #ocaml
metreo has joined #ocaml
steenuil_ has joined #ocaml
steenuil has quit [Ping timeout: 256 seconds]
vicfred has quit [Quit: Leaving]
Haudegen has quit [Quit: Bin weg.]
mro_name has joined #ocaml
zebrag has joined #ocaml
zebrag has quit [Client Quit]
zebrag has joined #ocaml
mro_name has quit [Remote host closed the connection]
mro_name has joined #ocaml
mxns has joined #ocaml
mro_name has quit [Remote host closed the connection]
mxns has quit [Ping timeout: 260 seconds]
mro_name has joined #ocaml
Haudegen has joined #ocaml
<olle> How does OCaml GC deal with fork()?
<olle> Current GC, not multicore GC
mro_name has quit [Remote host closed the connection]
<companion_cube> why would it be impacted?
<theblatte> olle: pretty much it doesn't I think, so better not to allocate too much before fork() otherwise you get lots of churn as copy-on-write kicks in like crazy as soon as the processes start a collection
<theblatte> then perf goes to a sad place
mro_name has joined #ocaml
mxns has joined #ocaml
waleee-cl has joined #ocaml
<metreo> cdr
<metreo> sorry*
mxns has quit [Ping timeout: 246 seconds]
<olle> companion_cube: dunno
<olle> because of shared state?
<olle> Like a record with mutable state
<olle> field*
<olle> theblatte: hm ok
mxns has joined #ocaml
<companion_cube> like theblatte said, the pages are copy-on-write
<companion_cube> not mutably shared
<companion_cube> but just don't use fork anyway?
<companion_cube> (or use fork+exec, the only safe use)
mro_name has quit [Remote host closed the connection]
mro_name has joined #ocaml
<olle> fork() is used in the binary tree benchmark on language games
<olle> companion_cube: ok, so it's impossible to share mutable state between forks?
<companion_cube> you can with mmap I think
<olle> ok
<companion_cube> … wait, for ocaml?
<companion_cube> in the benchmark game?
<olle> yep
<companion_cube> ugh, just to use multiple cores I guess
<companion_cube> jesus this is so overoptimized
<olle> hehe
<olle> ^^
<companion_cube> and meaningless
<olle> companion_cube: check the n-body for C and how they apply MISD
<olle> __m128d etc
<companion_cube> yeah but that's reasonably realistic
<companion_cube> but who uses `fork` in ocaml to do binary tree stuff??
<olle> hm
<olle> maybe I'll move to "Advent of code" to get examples from different langs
<companion_cube> look at rosetta stone
<companion_cube> I mean
<companion_cube> rosetta code
<olle> companion_cube: cool, will do
<companion_cube> it's code designed to be used, not overoptimized for some game
<olle> Read an article about Go GC, they had lots of internal benchmarks for the language
<olle> Would be nice to get a hold of as well
<olle> oooh
<olle> thanks guys
<dinosaure> olle: if you want to look about a tree structure on a shared-mmap between fork, you should take a look on rower: https://github.com/dinosaure/art
<olle> dinosaure: I'm not really looking to optimize fork :)
<olle> It's incidental
<olle> That it's used in a benchmark I want to use
<dinosaure> it's not an optimized fork, it's a adaptive radix tree over a file and tests use `fork()` to check a multiple consumers/simple producer (at this stage)
<olle> :d
olle has quit [Ping timeout: 256 seconds]
shawnw has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
Tuplanolla has joined #ocaml
vicfred has joined #ocaml
mro_name has quit [Remote host closed the connection]
mro_name has joined #ocaml
jmiven has quit [Quit: reboot]
jmiven has joined #ocaml
mro_name has quit [Ping timeout: 260 seconds]
bartholin has quit [Quit: Leaving]
tane has joined #ocaml
mxns has quit [Ping timeout: 240 seconds]
mxns has joined #ocaml
<Drup> dinosaure: waa, such graphs
Haudegen has joined #ocaml
metro has joined #ocaml
metreo has quit [Ping timeout: 256 seconds]
metro is now known as metreo
<dinosaure> Drup: graph for what?
<sleepydog> i'm guessing he's referring to https://dinosaure.github.io/art/bench/insert.html . how did you make those?
<Drup> dinosaure: the benchmarks for ART
<dinosaure> ah
<dinosaure> yes, it's done by bechamel :)
<Drup> oh, very nice, I didn't know bechamel could do that
<Drup> (still a genius library name)
<dinosaure> thx :)
amiloradovsky has joined #ocaml
sleepydog has quit [Quit: ZNC 1.8.2 - https://znc.in]
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
ArthurStrong has joined #ocaml
metro has joined #ocaml
metreo has quit [Ping timeout: 240 seconds]
metro is now known as metreo
smazga has quit [Ping timeout: 265 seconds]
smazga has joined #ocaml
jlr has quit [Ping timeout: 240 seconds]
smazga has quit [Ping timeout: 256 seconds]
smazga has joined #ocaml
dborisog_ has quit [Ping timeout: 265 seconds]
smazga has quit [Ping timeout: 265 seconds]
smazga has joined #ocaml
smazga has quit [Ping timeout: 260 seconds]
jnavila has joined #ocaml
mro_name has joined #ocaml
smazga has joined #ocaml
metreo has quit [Ping timeout: 264 seconds]
mro_name has quit [Read error: Connection reset by peer]
metreo has joined #ocaml
smazga has quit [Ping timeout: 264 seconds]
hannes has quit [Ping timeout: 240 seconds]
smazga has joined #ocaml
vicfred_ has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
amiloradovsky has joined #ocaml
vicfred has quit [Ping timeout: 256 seconds]
dinosaure has quit [Ping timeout: 256 seconds]
dinosaure has joined #ocaml
smazga has quit [Ping timeout: 246 seconds]
kini has quit [Ping timeout: 260 seconds]
kini has joined #ocaml
mxns has quit [Ping timeout: 240 seconds]
mxns has joined #ocaml
smazga has joined #ocaml
kini has quit [Ping timeout: 260 seconds]
mxns has quit [Ping timeout: 260 seconds]
mxns has joined #ocaml
hnOsmium0001 has joined #ocaml
kini has joined #ocaml
mxns has quit [Quit: ZNC 1.8.2 - https://znc.in]
mxns has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
amiloradovsky has joined #ocaml
kkeun has joined #ocaml
kini has quit [Ping timeout: 264 seconds]
narimiran has quit [Ping timeout: 265 seconds]
webshinra has quit [Ping timeout: 264 seconds]
webshinra has joined #ocaml
kkeun has quit [Quit: Connection closed]
kini has joined #ocaml
jnavila has quit [Quit: Konversation terminated!]
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
amiloradovsky has quit [Remote host closed the connection]
amiloradovsky has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
haesbaert has quit [Ping timeout: 256 seconds]
troydm has joined #ocaml
sagax has quit [Ping timeout: 272 seconds]
Serpent7776 has quit [Quit: leaving]
sleepydog has joined #ocaml
t-j-r has quit [Changing host]
t-j-r has joined #ocaml
t-j-r is now known as _tjr_
tane has quit [Quit: Leaving]
steenuil_ has quit [Read error: Connection reset by peer]
amiloradovsky has quit [Remote host closed the connection]
amiloradovsky has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
Tuplanolla has quit [Ping timeout: 246 seconds]