From: Federico Abrignani (federignoli_at_[hidden])
Date: 2023-10-22 00:46:33


> Surely, there is a wide variety of use cases, some of them are more
> along the lines of what you're saying. My point, though, is that
> priorities are not about minimizing overall run time, as your
> documentation suggests. They are primarily about minimizing starvation
> or minimizing latency of *specific* threads or tasks at the expense of
> other threads and general performance. Whether that effect is used to
> achieve correctness, reduce latency or improve throughput is
> application-specific.

I see your point. Yes, the reason I started this lib was loop like
pipelines and maybe I got too "settled" with that specific use case
while writing that piece of documentation.
The consumer producer problem is surely not the use case I started
this library for and who knows how many more use cases are there.

But my point is: Imagine you have an loop like pipeline.

while (true){
   update();
   render();
}

This could be a video game or any other graphical application.
update() get performed by X threads each one having a specific task.
In order to gain maximum FPS you want those threads to be able to finish
as fast as possible.
This is the use case I has in mind when I wrote that.
But I see your point now. I will remove that statement and provide instead
different examples of different use cases instead.

Thanks for the feedback.

Federico Abrignani.