7169050: (se) Selector.select slow on Solaris due to insertion of POLLREMOVE and 0 events
Seán Coffey
sean.coffey at oracle.com
Wed May 23 07:55:59 PDT 2012
Had a look here also Alan. Looks good. I'm wondering if
INITIAL_PENDING_UPDATE_SIZE of 64 is the optimum start size there. In
any case, I guess a busy server won't be long arriving at the optimal
array size.
some typos in comments :
// cancel(s) ? any pending update
// skip update if key can has cancelled
// write any reminaing updates
regards,
Sean.
On 23/05/12 14:15, Alan Bateman wrote:
> On 23/05/2012 13:46, Chris Hegarty wrote:
>> These changes look great Alan.
>>
>> One minor comment, the events are now stored as a byte. Is it ever
>> possible to have an event that has a valid value that uses the upper
>> order byte ( that is passed to the native short pollfd.events )? It
>> must not be, just thought I'd ask.
> In theory it should be a short[] but that takes up too much memory
> when a fd limit of 64k or higher. A byte works for us because the
> values of POLLIN and POLLOUT fit without any shifting or mapping. So
> thanks for reviewing, this resolves a long standing performance issue.
>
> -Alan.
More information about the nio-dev
mailing list