▲ | butterisgood 5 days ago | |
I just wish people who give this advice for 1 thread per core would "expand their reasoning" or "show the work". It's not blanket good advice for all things. | ||
▲ | thinkharderdev 5 days ago | parent | next [-] | |
It is definitely not good advice for all things. For workloads that are either end of the CPU/IO spectrum (e.g. almost all waiting on IO or almost all doing CPU work) it can be a huge win as you can get very good L1 cache utilization, are not context-switching and don't need to handle thread synchronization in your code because not state is shared between threads. For workloads that are a mix of IO and non-trivial CPU work, it can still work but is much, much harder to get right. | ||
▲ | lossolo 5 days ago | parent | prev [-] | |
Check out Scylla and its underlying framework Seastar. They expand their reasoning and show the work. |