Hi, And it also depends on how you define "performance". Are you after lower latency or higher throughput ?
Maarten On Thu, Feb 26, 2009 at 10:24 AM, Emmanuel Lecharny <[email protected]>wrote: > Patrizio Munzi wrote: > >> Doing some performance tests on my client/server application with two >> 2-CPUs machines I see that adding two thread pools (one for >> MESSAGE_RECEIVED and one for WRITE) application performances lower. >> Of course it depends from my application and test machines but it shows >> that using thread pools doesn't always brings benefit with it. >> > > Can you post the performance results you get in the different cases you > tested ? > >> >> I wonder if performances reduction in case of thread pools executors >> depends on some kind of overhead spreading work among threads. >> > There are many factors : > - you now have a pool to manage : that mean some synchronization > - spreading jobs on threads does not lead to a linear improvement > - depending on what the threads are doing, you may have a lower performance > if, for instance, you are sharing data across tasks > - from the MINA pov, adding a new filter in the chain add some more > processing (each filter induce 3 more methods calls), but that should be not > measurable. > > Now, it also depends on how many threads you manage in the pool. > > > > > -- > -- > cordialement, regards, > Emmanuel Lécharny > www.iktek.com > directory.apache.org > > >
