At LexiFi our main application is developed and shipped on Windows. We use the msvc
port of OCaml. This means that you need Cygwin to develop, but the resulting application is fully native and does not depend on the Cygwin DLL. As @dbuenzli mentioned, the Unix
module is the POSIX compatibility layer.
Compilation speed is slower on Windows because process creation is slower on Windows as a general rule, but it is manageable (our application has around 2000 modules + Js_of_ocaml + C bindings + C# component).
We don’t have any issues with runtime performance. The Unix
library mentioned above implements Windows support directly without going through any compatibility layer and is quite efficient.
Cheers!