Opened 3 years ago

Closed 3 years ago

#2247 closed enhancement (duplicate)

Improved locking and reduced object churn in EventPumper

Reported by: Zlatin Balevsky Owned by: zzz
Priority: minor Milestone: 0.9.36
Component: router/transport Version: 0.9.34
Keywords: ntcp nio Cc:
Parent Tickets: Sensitive: no


I put together the following patch: http://zerobin.i2p/?96d2071efa6a9ff1#mHnx9YaWjXBe00yjKcEjzMFEL37uAoPtCakYmRhYA0E=

It does several things:

  • gets rid of object churn inherent in LinkedBlockingQueue
  • reduces blockage of EventPumper thread by using tryLock()
  • increases CPU cache hit ratio by preferring recently used ByteBuffers

I'll deploy it soon to my busy router to judge if it has any impact on performance and update this ticket.


Change History (3)

comment:1 Changed 3 years ago by zzz

Component: unspecifiedrouter/transport
Milestone: undecided0.9.36
Owner: set to zzz
Status: newaccepted

Probably can't blame jrandom for this one, but I may try… to be researched.

comment:2 Changed 3 years ago by zzz

#2263 entered for generic LBQ caching issue

comment:3 Changed 3 years ago by Zlatin Balevsky

Resolution: duplicate
Status: acceptedclosed

Closing as duplicate as a more generic solution is implemented in ticket #2263

Note: See TracTickets for help on using tickets.