Resources to learn more about I/O in OCaml

Sorry for asking a pretty vague question, but what are some good resources to learn more about how I/O works on unix like systems.

Most of my experience in the past has been either using languages that provide a high level abstractions leading to efficient use of I/O (erlang/elixir) or using other framework abstractions that do the actual heavy lifting.

I’d like to change that and actually learn about what goes on under the hood. Where should one start if they want to learn more about the cost of such operations, things to keep in mind when dealing with I/O heavy workload, and what are some abstractions that OCaml provides.

An example of a writeup I found useful in the past: https://www.evanmiller.org/elixir-ram-and-the-template-of-doom.html Before reading that I did not know about writev. That post provided good pointers about things to read more about.

I suppose what it boils down to is, what is a good place to start, to eventually learn enough to ask the right questions :slight_smile:

3 Likes

You might find the “Unix system programming in OCaml” book helpful: https://ocaml.github.io/ocamlunix/ocamlunix.html
(I personally haven’t read it)

1 Like