bisect_ppx VS mirage

Compare bisect_ppx vs mirage and see what are their differences.


Code coverage for OCaml and ReScript (by aantron)


MirageOS is a library operating system that constructs unikernels (by mirage)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • OPS - Build and Run Open Source Unikernels
bisect_ppx mirage
1 12
239 1,718
- 1.3%
8.7 7.3
9 days ago 1 day ago
OCaml OCaml
MIT License ISC License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of bisect_ppx. We have used some of these posts to build our list of alternatives and similar projects.
  • Debugging/Profiling/VM library for Ocaml.
    1 project | | 21 Sep 2021
    It's not so clear to me what you want, the following come to mind: - if you want to "inspect the recursive calls" of a recursive function, you may not need any instrumentation: you can turn your function in open-recursion style, and provide a fixpoint combinator that does the inspection (see code below) - if you want to instrument the code globally, one easier-than-most approach is to use a ppx preprocessor to instrument the code (this assumes that the logic you want can be expressed as a slight modification of the user-written code), see ppx_bisect (code-coverage instrumentation) for example.


Posts with mentions or reviews of mirage. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-16.
  • The one and only..
    6 projects | | 16 Jan 2022
    No mention of yet
  • Tokio Console
    11 projects | | 17 Dec 2021
    Unikernels are a thing e.g. AFIACT uptake has been ... slow. You give up a lot to erase most or all of your OS, and only the most performance sensitive applications realize a benefit
  • Mu: A Human-Scale Computer
    4 projects | | 8 Dec 2021
    From my skim of the README this sounds like (in part) a system for generating unikernels, is that correct?

    Would anybody like to compare/contrast this with

  • writing kernel in haskell or ocaml.
    1 project | | 26 Oct 2021
    The main example of which is probably MirageOS
  • Best Lisp(s) for Functional & (seperately) Systems programming?
    8 projects | | 7 Sep 2021
    That's a somewhat outdated view, computers are fast enough now that you can do about anything fine with a garbage-collected FP language. Moreso if you're willing to get a bit dirty with it and do some tricks to optimise allocations and limit GC usage. For example, my understanding is that OCaml manages pretty well in this space overall; well enough that Jane Street uses it for financial software (which is time-sensitive) and the Mirage unikernel is made with it.
    8 projects | | 7 Sep 2021
    Very bold claims and I'm start I ng to agree with you but. First of all I don't understand what you mean by saying that OSs shouldn't exist and linking to smalltalk referencing made for "communication" and if there is no OS how would we even use our computer. Also TBH I don't think an OS written in Common Lisp or Haskell) or OCaml or any other high level language could run as fast as an OS written on C and Assembly. Even Rust would perform better. Even if it could perform on par with C, the level of optimization would make it more difficult to handle code. Also yes I am that annoying game dev too (kinda).
  • Why should I learn OCaml?
    1 project | | 9 Jul 2021
    You might be interested in Mirage OS then. You use it to build a tiny OCaml-based OS with just the libraries needed to run your network application, then run it on a Xen hypervisor. Has a bunch of libraries that are a mix of standard OCaml libraries and stuff specific to Mirage with a focus on network use.
  • Unikraft: Fast, Specialized Unikernels the Easy Way
    5 projects | | 27 Apr 2021
    How does this differ from MirageOS? ( )
  • Mirage OS
    1 project | | 21 Apr 2021
  • Learning path and direction for application build?
    1 project | | 11 Apr 2021
    Since you're focusing on server-side applications, you might be interested in Mirage OS. It's a project that constructs minimal application-specific VMs constructed using OCaml. Haven't used it but I believe the idea is you write your service in OCaml, test it on a normal system, and when you're done it will build a minimal VM image that has the minimal amount of OS required to host and run the service. You then manage it with xen or kvm.

What are some alternatives?

When comparing bisect_ppx and mirage you can also consider the following projects:

unikraft - Unikraft is an automated system for building specialized OSes known as unikernels. Unikraft can be configured to be POSIX-compliant. (Core repository)

lib-python3 - Unikraft port of Python 3

sb-simd - A convenient SIMD interface for SBCL.

oberon-riscv - Oberon RISC-V port, based on Samuel Falvo's RISC-V compiler and Peter de Wachter's Project Norebo. Part of an academic project to evaluate Project Oberon on RISC-V.

Lupine-Linux - Linux in Unikernel Clothing

opam - opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.

linuxkit - A toolkit for building secure, portable and lean operating systems for containers

ocamlformat - Auto-formatter for OCaml code

pyre-check - Performant type-checking for python.

ocaml - The core OCaml system: compilers, runtime system, base libraries

google-drive-ocamlfuse - FUSE filesystem over Google Drive

tracing - Application level tracing for Rust.