In our 500-call test the Rust engine used less than half the processor, with nothing lost.
The first pieces of the engine are running in testing, and the numbers are in.
Carrying 500 calls
Same test as before: 500 calls at once, real audio at the real rate, nothing lost either way.
- Before
- With the engine
Less than half.
The pauses
This is the one we care about most. The old path left a lot of memory to tidy up, and tidying means the whole program stops for a moment.
- Before
- With the engine
From most of a second to about a twentieth of one. Under load, those pauses were when audio arrived late.
Converting voice
When two sides of a call use different codecs, each packet is decoded and encoded again. The engine uses the reference Opus library, built from source.
- Before
- With the engine
- Before
- With the engine
A desk phone talking to a browser now costs about a quarter of the codec work it did.
At a branch
The same engine runs in the branch box. Carrying 400 calls:
- Before
- With the engine
What these numbers are
Measured on our own test desktop, with our own test, on calls between desks. They are not a promise about your hardware.
What they are not
Proof that it is ready. The whole test suite passes with the engine on and with it off, and that is still not the same as real phones spending real time on it. It stays marked as in testing, and off unless switched on, until they have.