Live data from Hacker News

Rewriting Kafka in Rust

wangjunfei.com

1–7 of 7 posts

Re: Rewriting Kafka in Rust

#2
> 1. Avoid Turning Functions into async Whenever Possible

> Consider the following example:

Has the author benchmarked this? They are essentially replicating what the compiler does already: the compiler doesn't put each statement/expression into its own state, states occur on the boundaries of awaits.

Re: Rewriting Kafka in Rust

#3
post #2

> 1. Avoid Turning Functions into async Whenever Possible > Consider the following example: Has the author benchmarked this? They are essentially replicating what the compiler does already: the compiler doesn't put each statement/expression into its own state, states occur on the boundaries of awaits.

I wouldn't even feel confident in assuming that the compiler wouldn't inline the function they've defined, a one-liner that's only called from a single location. It wouldn't surprise me at all if the compiler produced exactly the same code for the two examples.

Re: Rewriting Kafka in Rust

#4
> it has become evident that C/C++ is gradually becoming a sunset language, nearing its twilight. Its successor, Rust

C and C++ will outlast us all and there are many other languages vying to be the successor, not just Rust.

Re: Rewriting Kafka in Rust

#5
post #2

> 1. Avoid Turning Functions into async Whenever Possible > Consider the following example: Has the author benchmarked this? They are essentially replicating what the compiler does already: the compiler doesn't put each statement/expression into its own state, states occur on the boundaries of awaits.

I think he's trying to suggest not making a few function without any await statements async. He doesn't suggest implementing your own futures manually.

Re: Rewriting Kafka in Rust

#6
post #2

> 1. Avoid Turning Functions into async Whenever Possible > Consider the following example: Has the author benchmarked this? They are essentially replicating what the compiler does already: the compiler doesn't put each statement/expression into its own state, states occur on the boundaries of awaits.

I think he's trying to suggest not making a few function without any await statements async. He doesn't suggest implementing your own futures manually.

That is not what is suggested by the code.