Menu

Flow — FoundationDB 8.0.0 documentation

apple.github.io·4 months ago
#isEY0JlB
#include#future#coroutine#flow#value
Reading 0:00
15s threshold

Engineering challenges

FoundationDB began with ambitious goals for both high performance per node and scalability . We knew that to achieve these goals we would face serious engineering challenges while developing the FoundationDB core. We’d need efficient asynchronous communicating processes, the speed and I/O efficiency of C++, and extensive simulation to engineer for reliability and fault tolerance on large clusters.

Flow provides the asynchronous runtime for these processes. FoundationDB uses standard C++ coroutines with Flow futures, streams, and cooperative scheduling. The C++ compiler preserves each coroutine’s execution state across suspension points, and Flow connects awaited operations to the event loop.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.