Open kromar777 opened 6 months ago
Hi @kromar777 thanks for your interest in ChartFX and bringing this up.
We use those daemon threads to offload heavy lifting like point-reduction algorithms and other similar DataSet
operations to keep the UI FX responsive. The threads are usually limited to the number of cores because, unless you are IO-bound, having more parallel tasks than CPU cores causes the threads to compete for and slow down the same CPU resource.
I get where you’re coming from with the pool re-use idea; it’s neat. Honestly, we haven’t prioritized customizing it since it hasn’t been a pressing issue for our use cases (yet).
We're all ears for good ideas and open to PRs (Pull Requests). What kind of enhancements do you have in mind?
Thanks for sparking the conversation! :+1:
There starts and hangs around till app exit a large amount of daemon threads (24 on my CPU), which most of the time do nothing (waiting state). I've never seen noticeble load on these threads actually. I use that pool for my purposes to utilize these threads, isn't it a bad idea? Maybe it makes sense to give the opportunity to set the pool with desired configuration? Quick search in Idea showed not so many usages - in CachedDataPoints, CachedDaemonThreadFactory and MarchingSquares, but I didn't dig deeper.