blob: 18bbf1f9227d5c0dbe70944f5d92d8ef92ef10e2 [file] [log] [blame] [view]
# Performant
Fuchsia is a commercial operating system designed for real world product
requirements and optimized for performance. Fuchsia efficiently manages system
resourcesprocessors, memory, storage, networking, and powerto optimize
performance across a variety of platforms, architectures, and devices.
## Flexibility and efficiency
**[Design principles][design-principles] prioritize performance**
Fuchsia enables programs to run as fast as the hardware allows. Whether its
choosing a [programming language][programming-language] or deciding between
[structs and tables][structs-and-tables], Fuchsia is designed to give developers
flexibility while maximizing efficiency.
## Performance benchmarks
**Every subsystem on Fuchsia is [benchmarked] to evaluate
performance**
Comparing Fuchsias overhead to previous builds and other operating systems
ensures that Fuchsia meets performance expectations. While Fuchsia does not
yet achieve its performance goals in all areas, it is an area under active
development.
## A flexible scheduler optimizes the system
**[Fair scheduling][fair-scheduling] gives the system more flexibility**
Increasing the choices available to the system scheduler gives the scheduler the
flexibility to optimize for power, throughput, or latency, as appropriate for
the situation. At any given time, there are more threads in the system that are
ready to do useful work than there would be if threads commonly blocked one another.
## Asynchronous communication
**APIs use [asynchronous communication][async-com] to reduce latency**
Fuchsia makes heavy use of asynchronous communication, which reduces latency by
letting the sender proceed without waiting for the receiver. This is important
for delivering software that can come and go on a device as needed, to account
for network latency.
[design-principles]: /docs/contribute/governance/rfcs/0027_you_only_pay_what_you_use.md
[programming-language]: /docs/contribute/governance/rfcs/0082_starnix.md
[structs-and-tables]: /docs/contribute/governance/rfcs/0047_tables.md#should_i_use_a_struct_or_a_table
[benchmarked]: /src/tests/benchmarks
[fair-scheduling]: /docs/concepts/kernel/fair_scheduler.md
[async-com]: /docs/concepts/fidl/overview.md#messaging_models