Hey everyone, I've been diving into latency-sensitive systems and I've noticed two common approaches: either creating a separate process for each "tile" and pinning those processes to specific cores, or starting a main process and then launching threads for each "tile" while pinning the threads to cores. I'm curious about the pros and cons of each method and what motivates others to choose one over the other. My understanding is that threads have shared memory and process space, which allows for easier resource sharing, while processes operate independently. However, I'm sure I'm missing some key details!
1 Answer
Honestly, the performance difference really comes down to your specific use case—it's not a one-size-fits-all situation. If you're not seeing any measurable impact from pinning yet, it might not be a concern. Once you notice a performance issue, then you'll need to benchmark to see which approach works better for you. Don't stress too much about it until you're in that position; just keep measuring as you go!
I get that! But it’s tough for someone like me who can't run two complete infrastructures side-by-side just to benchmark them. I appreciate any insights from those who’ve been through this already.