История изменений
Исправление
vertexua,
(текущая версия)
:
Он превращает цепочки async вычислений в машину состояний, которую если потянуть за веревочку, то она будет выдавать результаты пока они не закончатся. В данном случае одно число. Если бы было IO, то выдавало бы результаты, пока IO не закончилось. Когда закончилось бы, то оно поставило себя в очередь еще на больше IO. Когда новое IO пришло, оно бы уведомило вызывающего что еще результаты готовы.
Теоретически можно писать такой код, чтобы машина состояний была без аллокаций совсем, сугубо в фиксированой памяти. Конечно редко нужно так упарываться, но Rust единственный язык, где комбинации futures - zero alloc.
Исправление
vertexua,
:
Он превращает цепочки async вычислений в машину состояний, которую если потянуть за веревочку, то она будет выдавать результаты пока они не закончатся. В данном случае одно число. Если бы было IO, то выдавало бы результаты, пока IO не закончилось. Когда закончилось бы, то оно поставило себя в очередь еще на больше IO. Когда новое IO пришло, оно бы уведомило вызывающего что еще результаты готовы.
Теоретически можно писать такой код, чтобы машина состояний была без аллокаций совсем, сугубо в фиксированой памяти. Конечно редко нужно так упарываться, но Rust единственный язык, где комбинации futures -zero alloc.
Исправление
vertexua,
:
Он превращает цепочки async вычислений в машину состояний, которую если потянуть за веревочку, то она будет выдавать результаты пока они не закончатся. В данном случае одно число. Если бы было IO, то выдавало бы результаты, пока IO не закончилось. Когда закончилось бы, то оно поставило себя в очередь еще на больше IO. Когда новое IO пришло, оно бы уведомило вызывающего что еще результаты готовы.
Теоретически можно писать такой код, чтобы машина состояний была без аллокаций совсем, сугубо в фиксированой памяти. Конечно редко нужно так упарываться, но Rust единственный язык, где Future - zero alloc.
Исходная версия
vertexua,
:
Он превращает цепочки async вычислений в машину состояний, которую если потянуть за веревочку, то она будет выдавать результаты пока они не закончатся. В данном случае одно число. Если бы было IO, то выдавало бы результаты, пока IO не закончилось. Когда закончилось бы, то оно поставило себя в очередь еще на больше IO. Когда новое IO пришло, оно бы уведомило вызывающего что еще результаты готовы.
Теоретически можно писать такой код, чтобы машина состояний была без аллокаций совсем, сугубо в фиксированой памяти. Конечно редко нужно так упарываться, но Rust единственный язык, где Future - zero alloc.