All Projects → ocaml-multicore → Ocaml Multicore

ocaml-multicore / Ocaml Multicore

Licence: other
Multicore OCaml

Programming Languages

ocaml
1615 projects

Projects that are alternatives of or similar to Ocaml Multicore

Chymyst Core
Declarative concurrency in Scala - The implementation of the chemical machine
Stars: ✭ 142 (-75.97%)
Mutual labels:  concurrency, multicore
Streamly
Beautiful Streaming, Concurrent and Reactive Composition (Haskell)
Stars: ✭ 553 (-6.43%)
Mutual labels:  concurrency
Throat
Throttle a collection of promise returning functions
Stars: ✭ 419 (-29.1%)
Mutual labels:  concurrency
Start
🔴 Functional task runner for Node.js
Stars: ✭ 478 (-19.12%)
Mutual labels:  concurrency
Asks
Async requests-like httplib for python.
Stars: ✭ 429 (-27.41%)
Mutual labels:  concurrency
Slacker
Slack Bot Framework
Stars: ✭ 495 (-16.24%)
Mutual labels:  concurrency
Entitycomponentsystemsamples
No description or website provided.
Stars: ✭ 4,218 (+613.71%)
Mutual labels:  multicore
Concurrent Programming
🌵《实战java高并发程序设计》源码整理
Stars: ✭ 562 (-4.91%)
Mutual labels:  concurrency
Rockgo
A developing game server framework,based on Entity Component System(ECS).
Stars: ✭ 532 (-9.98%)
Mutual labels:  concurrency
Parallel
Parallel processing for PHP based on Amp.
Stars: ✭ 478 (-19.12%)
Mutual labels:  concurrency
Mpmcqueue
A bounded multi-producer multi-consumer concurrent queue written in C++11
Stars: ✭ 468 (-20.81%)
Mutual labels:  concurrency
Fetch
Simple & Efficient data access for Scala and Scala.js
Stars: ✭ 453 (-23.35%)
Mutual labels:  concurrency
Hamsters.js
100% Vanilla Javascript Multithreading & Parallel Execution Library
Stars: ✭ 517 (-12.52%)
Mutual labels:  concurrency
Go Wrk
go-wrk - a HTTP benchmarking tool based in spirit on the excellent wrk tool (https://github.com/wg/wrk)
Stars: ✭ 421 (-28.76%)
Mutual labels:  concurrency
Helenos
A portable microkernel-based multiserver operating system written from scratch.
Stars: ✭ 553 (-6.43%)
Mutual labels:  multicore
Thread Pool
Thread pool implementation using c++11 threads
Stars: ✭ 417 (-29.44%)
Mutual labels:  concurrency
Workerpool
Concurrency limiting goroutine pool
Stars: ✭ 466 (-21.15%)
Mutual labels:  concurrency
Concurrency
Java 并发编程知识梳理以及常见处理模式 features and patterns
Stars: ✭ 495 (-16.24%)
Mutual labels:  concurrency
Javamtp
《Java多线程编程实战指南(设计模式篇)》源码
Stars: ✭ 575 (-2.71%)
Mutual labels:  concurrency
Coyote
Coyote is tool designed to help ensure that your C# code is free of annoying concurrency bugs.
Stars: ✭ 556 (-5.92%)
Mutual labels:  concurrency

Multicore OCaml

A concurrent and shared-memory parallel extension of the OCaml compiler.

Multicore OCaml cleanly separates abstractions for concurrency (overlapped execution) from parallelism (simultaneous execution). Concurrency is expressed through effect handlers and parallelism through domains. Much of the work in supporting shared memory parallelism is the development of a mostly-concurrent, generational, mark-and-sweep collector that strikes a balance between single-threaded performance and feature backwards compatibility, and multicore scalability.

See the wiki for more resources.

Variants

  • Parallel Minor GC (default) -- A variant that performs stop-the-world parallel minor collection. The branch is parallel_minor_gc.
  • Concurrent Minor GC -- A variant that garbage collects each domain's minor heap concurrently. The branch is master.
  • Parallel Minor GC + No effect syntax -- This branch does not have syntax extension for effects (but includes the compiler and runtime system changes). The branch is no-effect-syntax. This branch is useful to install ppx libraries.

Installation

If you want to try out Multicore OCaml, the easiest way is to install the compiler using OPAM.

Parallel programming examples are available in the domainslib library.

Effect handler (concurrent programming) examples are available in effects-examples repo.

Notes

The original README.adoc file has been moved to README.stock.adoc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].