domainslib icon indicating copy to clipboard operation
domainslib copied to clipboard

Parallel Programming over Domains

Results 33 domainslib issues
Sort by recently updated
recently updated
newest added

In #77 we discussed the API of domainslib, and the fact that one could consider several changes, small or large. On my commute back today I tried to "brainstorm" on...

enhancement

While attempting to port this Rust snippet, which executes in ~3 seconds + some overhead irrespective of thread count ```rs let mut tasklist = vec![]; for _ in 1..tasks {...

(This PR is more of a question mark, there's an unpleasant change to make this POC work, and perhaps `domainslib` shouldn't provide this primitive?) When using a lockfree datastructure to...

The first commit closes #87 I then updated the tests to utilise this default - _this changes the behaviour of `dune runtest`_ which now runs those tests in parallel (which...

As discussed in #33 and #37. This includes an optional chunk size parameter in case people wanted more granularity. This patch includes #39 to maintain uniformity in `test_task.ml`. Those changes...

stale

This PR adds an `IntArray` module, which supports parallel initialisation for Integer Arrays mentioned in #6. It uses @stedolan's [prototype](https://gist.github.com/stedolan/f0cb0f5ab24f283d398e48763db1ae62) which uses strings as the base for IntArray. # Benchmarks...

stale

@barko reported that [this short test](https://gist.github.com/barko/83a3bd2570c433174d2adfb5de49e117) can reach 100% cpu activity even though the domains spend their time sleeping. According to perf and a quick investigation, it seems that the...

If the task is small enough you may not want to dispatch it to the thread pool. In those cases it would be nice if you could simply create a...

Over at https://gitlab.com/gasche/domain-shims/-/issues/1, @Sudha247 expressed interest in relying on [domain-shims](https://gitlab.com/gasche/domain-shims) to provide an OCaml 4 version of domainslib. But domain-shims, a pure-OCaml implementation of OCaml 5's `Domain` stdlib module, cannot...

i.e. why is its type not in the form of: `pool -> ('a -> 'b) ->/* 'a -> 'b promise`? Similar in spirit to `Thread.create`