<h0rror>
hi folks, should one use merlin or ocaml-lsp these days? what's the consensus? also, does anyone have an nvim config with OCaml-specific bells and whistles to check out? :)
<companion_cube>
just ocaml-lsp for me, and lunarvim knows about it
<h0rror>
companion_cube: thanks, checking out lunarvim
wingsorc__ has joined #ocaml
wingsorc has quit [Remote host closed the connection]
<loopspace>
I started with merlin but am trying to switch to lsp in emacs
<h0rror>
getting lsp to work with 5.0.0 on arm64 is proving non-trivial unfortunately
<discocaml>
<Kali> i currently use merlin+nvim, but i've never used ocaml-lsp. does it offer any particular advantages to merlin?
<h0rror>
visual studio code magically works without any configuration though
chrisz has quit [Ping timeout: 265 seconds]
chrisz has joined #ocaml
<companion_cube>
lsp is just the standard now
<companion_cube>
merlin works, but really, if you use multiple languages, using lsp is a no brainer
<loopspace>
(Things appear to be working to some extent, but I'm new to this setup, so I haven't tried much so far)
czy has joined #ocaml
czy has quit [Remote host closed the connection]
Tuplanolla has joined #ocaml
bartholin has joined #ocaml
Serpent7776 has joined #ocaml
olle has joined #ocaml
czy has joined #ocaml
Haudegen has joined #ocaml
xd1le has joined #ocaml
azimut_ has quit [Ping timeout: 255 seconds]
spip has joined #ocaml
<discocaml>
<dumbpotato> could anybody please answer my question in the beginners channel ☹️ i’ve been stuck on it for over 5 hours
xd1le has quit [Quit: xd1le]
alexherbo2 has joined #ocaml
Haudegen has quit [Ping timeout: 240 seconds]
Anarchos has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
Haudegen has joined #ocaml
Techcable has quit [Ping timeout: 250 seconds]
alexherbo2 has joined #ocaml
Techcable has joined #ocaml
olle has quit [Ping timeout: 240 seconds]
azimut has joined #ocaml
u92n has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Anarchos has joined #ocaml
Stumpfenstiel has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
oriba has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
kakadu has quit [Remote host closed the connection]
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
Anarchos has joined #ocaml
u92n has quit [Quit: Client closed]
Anarchos has quit [Ping timeout: 240 seconds]
alexherbo2 has quit [Ping timeout: 260 seconds]
Anarchos has joined #ocaml
<Anarchos>
hello
alexherbo2 has joined #ocaml
olle has joined #ocaml
<adrien>
so... packing my values didn't help much I think; or at least not noticeably enough at the moment; I think the interval map itself uses quite a lot of memory; intervals are only 2 bytes on average
<olle>
Can't you fork?
<olle>
Hm that wouldn't reduce the total mem usage
<olle>
adrien: what about distributed computing?
<adrien>
but I was able to run this on my larger dataset by calling Gc.compact regularly; it still used 44GB
<adrien>
I don't think it can be distributed easily but I might be able to turn the tree into an array
<olle>
adrien: How big is the code eating the memory? In LOC
<adrien>
another option is to turn the tree (the map) into a set of trees instead so that they can be freed as the rest of the program continues
<adrien>
batteri's batimap
<adrien>
basically
<olle>
adrien: Would arenas help? Or pools or whatever.
<adrien>
hard to tell; I have a few things to try before such things
<olle>
Splitting it up sounds like a good idea.
<olle>
If possible.
<olle>
We have a PHP script that takes 15 min to run to export a data set, but didn't look into it yet. It's more about SQL opt, I'd assume. Still, customer was annoyed.
<adrien>
I'm trying to optimize my type first but overall the boxing and use of large ints everywhere kind of hurts
<olle>
That shouldn't be a problem if you can split it? Divide and conquer.
<adrien>
the issue is that the data at any point can use anything that appeared previously
Anarchos has quit [Quit: Vision[]: i've been blurred!]
alexherbo2 has quit [Ping timeout: 260 seconds]
<adrien>
I had type t = Padding | Literal | Match of int * int * int, and I was actually able to remove Padding now (it was useful when the code was still in flux) and then I was able to use only int * int * int because that second int being equal to 0 can be use to mean Literal
<adrien>
and if I pack that type, I save around 1GB out of 11.5GB
alexherbo2 has joined #ocaml
<adrien>
but it's also a bit surprising that the simpler type saved nothing by itself and I'm wondering if I'm leaking; which is going to force me to be kinda scientific and actually use memprofstat
bartholin has quit [Quit: Leaving]
wingsorc__ has quit [Quit: Leaving]
wingsorc has joined #ocaml
<octachron>
int * int * int is still "header + 3 fields".
<adrien>
since the memory usage is slightly lower in practice when packing, I'm probably missing something else, which is why I'm thinking of some kind of leak
<olle>
adrien: write old data to disk and remove it from RAM_
<olle>
?
<olle>
What does "at any point" mean?
<olle>
Like, statistically?
Serpent7776 has quit [Ping timeout: 255 seconds]
tjnhxmzhmqgytuwt has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
olle has quit [Ping timeout: 240 seconds]
wingsorc has quit [Remote host closed the connection]