ThinkMeta ConcurrentTasks is a C++ runtime that makes fine-grained parallelism worthwhile: it drives many small tasks on a few threads with almost no per-switch cost, so an algorithm can use every core without being rewritten around a new programming model. The science behind it is described under Research.

Four encoders as proof

What fine-grained parallelism gains is shown by four encoders built on ThinkMeta ConcurrentTasks. Each is a C++ port of a well-known reference encoder, writes exactly the same output byte for byte, and spreads the work on a single file over all cores. That is hard because these encoders are sequential by design: every frame and every block depends on the state the one before it left behind.

ctLame

14.1×

MP3 · bit-identical to LAME 4.0

45 hours of CD audio in 83 s instead of 19½ minutes – almost 2,000 times real time.

ctJpeg

6.9×

JPEG · bit-identical to jpegli

A 39-megapixel photo in 0.11 s – with jpegli’s smaller files, 3.4 to 4.7 times as fast as libjpeg-turbo on large images.

ctDeflate

4.9×

gzip · bit-identical to libdeflate 1.26

One 1 GB file at 303 MB/s at level 9, streaming with asynchronous I/O – a 5.2 GB file needs less than 150 MB of memory.

ctOpus

4.4×

Opus · bit-identical to opusenc

At maximum complexity twice as fast as opusenc at minimum complexity. Live: 1,024 streams in real time, one task each, without a missed deadline.

Same bits. A fraction of the time.

Looking for first adopters

We are starting a first-adopter programme for teams who want to run ThinkMeta ConcurrentTasks on a real, compute- or latency-critical workload – game engines, medical imaging and signal processing, simulation, real-time media – and help shape the first release. Get in touch.

Status

ThinkMeta ConcurrentTasks is in active development; the Windows build is the current focus.

Roadmap

  • Windows version – end of 2027
  • Embedded systems – end of 2028
  • Xbox and PlayStation – end of 2029

Target dates.

An unhandled error has occurred. Reload