[itchyjunk] has quit [Remote host closed the connection]
mbuf has joined #ocaml
zebrag has quit [Remote host closed the connection]
gravicappa has joined #ocaml
wonko has joined #ocaml
mro has joined #ocaml
shawnw has quit [Ping timeout: 252 seconds]
<d_bot>
<Christophe> I think it's meant to make a clear beginning and a clear ending, same as « … »
Skyfire has quit [Ping timeout: 260 seconds]
Skyfire has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
olle has joined #ocaml
klu has quit [Ping timeout: 268 seconds]
klu has joined #ocaml
klu has quit [Changing host]
klu has joined #ocaml
wonko has quit [*.net *.split]
hackinghorn has quit [*.net *.split]
daachi has quit [*.net *.split]
cemerick has quit [*.net *.split]
ansiwen has quit [*.net *.split]
johnel has quit [*.net *.split]
xenu has quit [*.net *.split]
mg has quit [*.net *.split]
terrorjack has quit [*.net *.split]
Haudegen has joined #ocaml
wonko has joined #ocaml
terrorjack has joined #ocaml
hackinghorn has joined #ocaml
cemerick has joined #ocaml
daachi has joined #ocaml
johnel has joined #ocaml
mg has joined #ocaml
ansiwen has joined #ocaml
xenu has joined #ocaml
terrorjack has quit [Max SendQ exceeded]
terrorjack has joined #ocaml
glassofethanol has joined #ocaml
hendursa1 has joined #ocaml
hendursaga has quit [Ping timeout: 276 seconds]
olle has quit [Ping timeout: 250 seconds]
xd1le has joined #ocaml
Everything has joined #ocaml
klu has quit [Ping timeout: 245 seconds]
mro has quit [Remote host closed the connection]
klu has joined #ocaml
klu has quit [Changing host]
klu has joined #ocaml
xd1le has quit [Quit: xd1le]
klu_ has joined #ocaml
klu_ has quit [Changing host]
klu_ has joined #ocaml
klu has quit [Ping timeout: 252 seconds]
bartholin has joined #ocaml
[itchyjunk] has joined #ocaml
xd1le has joined #ocaml
chrisz has joined #ocaml
<d_bot>
<Et7f3> They are the nearest ascii symbol of «»
<d_bot>
<mk-fg> Sometimes when you copy-paste stuff from the internet there are also unicode "left" and "right" single quotes
kakadu has joined #ocaml
<d_bot>
<Et7f3> Aren't they accent ?
mro has joined #ocaml
mro has quit [Ping timeout: 252 seconds]
<d_bot>
<mk-fg> No, pretty sure just different quotation marks, probably inserted by some CMS backend in place of whatever was typed
<d_bot>
<mk-fg> Googling this out of curiosity, found that single-quote practice is usually either justified as a lazy style (less keypresses) or as a preference among british writers (e.g. https://www.scribophile.com/academy/correct-quotation-mark-usage ), interesting
olle has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
xd1le has quit [Quit: xd1le]
quernd has quit [Ping timeout: 246 seconds]
quernd4 has joined #ocaml
<Leonidas>
is there a way to get info from ocamllsp? it stopped to display signatures of my codebase and I am wondering what is going on.
Haudegen has joined #ocaml
mbuf has quit [Quit: Leaving]
mro has quit [Remote host closed the connection]
Guest98 has joined #ocaml
<Guest98>
I have a application where I need to read in a file line by line and manipulate the string and write to an output file. I can either create a giant string and flush to the output file at the end or write to the output file multiple times. Which method is more efficient? Thanks in advance!
<Armael>
working line by line has the advantage that it doesn't require you to load the whole file in memory, so that's what I would do
<Armael>
I'm not sure if it matters a lot in terms of performance
<d_bot>
<mk-fg> If you use stdlib i/o functions, those go through libc's fwrite calls, and those will do buffering for you (hence there's flush func in there)
<d_bot>
<mk-fg> Iirc default glibc buffer is ~8K, which is reasonable wrt filesystem write sizes, so unless you explicitly want to avoid some filesystem pathology or need least possible memory footprint, I'd stick with dropping lines through write calls line-by-line
<Guest98>
I am trying to use Unix.write function
<Guest98>
d_bot thanks!
<d_bot>
<mk-fg> That's probably direct syscall interface that won't have any buffering
<d_bot>
<mk-fg> Not sure how well repeated line-sized (e.g. ~100B) writes work wrt performance tbh - with larger buffered ones it's pretty clear, as those would definitely span couple fs pages, so maybe use those if in doubt instead of Unix.write
<d_bot>
<mk-fg> Or otherwise if it's important for the app, I'd probably benchmark such small sequential writes in something resembling production scenario (e.g. same filesystem/hw/cloud/etc)
<Guest98>
Yea I will probably benchmark it and see. Thanks d_bot!
mro has joined #ocaml
<d_bot>
<mk-fg> If you deal with many such files in parallel and read performance also matters, one thing to watch out for with tiny writes might be degrading read performance on the whole fs due to fragmentation - you can usually check that via filefrag tool on linux, and different filesystems handle such allocation differently
<d_bot>
<mk-fg> You can also avoid that whole issue by using posix_fallocate (on linuxes at least) before doing a lot of writes, like e.g. bittorrents clients do for exactly same reason
gravicappa has quit [Ping timeout: 260 seconds]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
Soni has quit [Ping timeout: 260 seconds]
Soni has joined #ocaml
gravicappa has joined #ocaml
<d_bot>
<mbacarella> You are invited to the next OCaml Cafe on Wed, Oct 13 @ 1pm (US Central).
<d_bot>
<mbacarella>
<d_bot>
<mbacarella> Please join us at the next OCaml Cafe, a friendly, low stakes opportunity to ask questions about the OCaml language and ecosystem, work through programming problems that you’re stuck on, and get feedback on your code. Especially geared toward new and intermediate users, experienced OCaml developers will be available to answer your questions. Bring your code and we’ll be happy to review it, assist with debugging, and provid
<d_bot>
<mbacarella>
<d_bot>
<mbacarella> This month, David Allsop of OCaml Labs and the University of Cambridge will present on OPAM, the OCaml package manager. After introducing OPAM, David will discuss the new features of OPAM 2.1, just released at the beginning of August. Following David’s talk, we will open the discussion to all things OCaml-related.
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]
<d_bot>
<Ulugbek> 1. Make sure you have `Ocaml.trace.server` set to `verbose` (picture 1)
<d_bot>
<Ulugbek> 2. Open `Output` pane (it's located next to `Terminal` pane, usually) and set the dropdown to `OCaml Language Server`
<d_bot>
<Ulugbek>
<d_bot>
<Ulugbek> This way you should see all requests to and responses from ocaml-lsp. If something doesn't work for you, eg jump to def, hover, it's likely that there is a failing response (exception), which should be reported in the pane.