Habr: Яндекс→ original

How Yandex Profiles Memory on Millions of Alice Smart Speakers: The Fight for 256 MB

Yandex has described how it fights for memory on Alice smart speakers: the entry-level models have just 256 MB of RAM for the entire device. The team that writes C/C++ code for speakers, TVs and cars built a sampling profiling tool and now collects memory dumps daily from millions of devices in production, so it can see exactly where every megabyte goes: business logic, audio processing or local neural networks.

AI-processed from Habr: Яндекс; edited by Hamidun News
How Yandex Profiles Memory on Millions of Alice Smart Speakers: The Fight for 256 MB
Source: Habr: Яндекс. Collage: Hamidun News.
◐ Listen to article

The Yandex team that writes application code in C/C++ for Alice-powered smart devices described in July 2026 how it built a sampling memory profiler and now collects memory dumps daily from millions of speakers in production. The motivation is simple: the entry-level speaker models have just 256 MB of RAM for the entire device.

Why memory is the scarcest resource

The entry-level Alice smart speakers have only 256 MB of RAM for the whole device, and that memory has to be shared among business logic, audio processing and local neural networks. According to the Yandex team, the components compete fiercely for every megabyte: whatever one module takes beyond its share is no longer available to another.

Unlike servers, where you can buy more memory, a smart speaker is fixed, cheap hardware. A developer cannot "just add another gigabyte": the capacity is baked into a device that is already sitting in a user's home. So the question of where the megabytes go is not an abstract one. It determines which features will fit on the device at all.

  • 256 MB of RAM on the entry-level speaker models, for the entire device
  • Memory dumps are collected daily from millions of speakers
  • The devices' application code is written in C/C++
  • One platform serves not only speakers but also TVs and cars with Alice
  • The device fleet runs on Linux

Why profile memory in production?

Yandex needs to profile in production to see real memory consumption on users' live devices, not the averaged picture from a test bench. A lab scenario rarely reproduces how a speaker behaves day after day, week after week, in a real apartment with real requests to Alice.

The key to scale is the word "sampling." A full dump and detailed tracing of every memory allocation on weak 256 MB hardware would eat up part of the very resources it is trying to measure. A sampling approach collects data selectively and with low overhead, so it can stay switched on across millions of devices at once without interfering with the speaker's operation.

Millions of sources produce statistics that a single test bench cannot: the team sees not an isolated case but a distribution, showing which components consistently consume memory across the whole fleet and which leak only in rare scenarios.

"There is a real fight for every megabyte between many teams and components: business logic, audio processing, local neural networks," said

Sergey, a developer on Yandex's smart devices team, in the company's blog on Habr.

What this means

As local neural networks move onto devices, memory becomes as critical a resource as compute used to be. The Yandex case shows that fitting a voice assistant and on-device models into 256 MB takes more than careful code: it takes a tool that continuously measures real consumption across the entire device fleet in production.

ZK
Hamidun News
AI news without noise. Daily editorial selection from 50+ sources. A product by Zhemal Khamidun, Head of AI at Alpina Digital.
✦ Hands-On AI Engineering

Build & Ship Production AI Apps with Vibe Coding

Join Zhemal Khamidun's hands-on Vibe Coding Intensive at hamidun.com/vibecoding — master Claude Code, Cursor, and autonomous agentic workflows.

Explore Vibe Coding →Vibe Academy Platform
What do you think?
Loading comments…