University of Cambridge > Talks.cam > Computer Laboratory Systems Research Group Seminar > Memo: an incremental computation library that powers Dune

Memo: an incremental computation library that powers Dune

Add to your list(s) Download to your calendar using vCal

  • UserAndrey Mokhov, Jane Street
  • ClockThursday 29 June 2023, 15:00-16:00
  • HouseFW11.

If you have a question about this talk, please contact Ryan Gibb.

https://cl-cam-ac-uk.zoom.us/j/97216272378?pwd=M2diTFhMTnppckJtNWhFVTBKK0REZz09

Abstract: Build systems are used by every software developer on the planet, but they are far from being a solved problem. For years the venerable Make and its variants dominated, but more recently the challenges of scale have driven large software firms to develop their own build systems, such as Google’s Bazel or Meta’s Buck/Buck2. Jane Street is not as large but we are not an exception; in fact, we developed not one but two build systems! The new one, called Dune, is now the standard build tool for the wider OCaml community, and we at Jane Street are working hard on migrating our monorepo with 30+ millions of lines of OCaml code, and various critical systems around it, to Dune.

In this talk, we’ll look into some algorithmic challenges of building software, touching on the topics of incremental computation, graph data structures, and concurrency. We’ll take a look at Dune’s build engine and, in particular, at Memo—the incremental computation library that powers Dune.

Bio: Andrey Mokhov leads Jane Street’s build systems team, trying to keep the build times under control despite the rapidly growing population of software developers. Before joining Jane Street, he was an academic researcher at Newcastle University (UK), working on asynchronous circuits, functional programming, and build systems.

This talk is part of the Computer Laboratory Systems Research Group Seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2024 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity