Simulate N clients bidding on M items in an 'ebay' style market. Bid values are current highest bid + random value, N(0,1).

Goal - maximize throughput (bids/sec) for max number of clients and items to bid on

Clients run in separate threads and bid 1k times on each item in the system.

User code is 100% thread safe, using 'no lock' & CAS style operations where appropriate.

Classes use concurrent hash map, CAS counters, & Container<Bid>.

Relative performance was determined for different Container<Bid> implementations.

- impl1: blocking priority queue
- impl2: blocking list + 1 peak value
- impl3: concurrent linked queue+1 CAS peak value

Uses Guice for Dependency Injection.

Makes heavy use of generics for entities, keepers, factories, & DAOs.

Performance Peaks

- impl1: 1.6 M bids/sec
- impl2: 2.5 M bids/sec
- impl3: 2.,6 M+ bids/sec

Throughput increased and jitter reduced by setting init capacity of maps to 1k.

see README MEMORY MODEL

Project Samples

Project Activity

See All Activity >

Follow elise-ebay

elise-ebay Web Site

Other Useful Business Software
Earn up to 16% annual interest with Nexo. Icon
Earn up to 16% annual interest with Nexo.

Let your crypto work for you

Put idle assets to work with competitive interest rates, borrow without selling, and trade with precision. All in one platform. Geographic restrictions, eligibility, and terms apply.
Get started with Nexo.
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of elise-ebay!

Additional Project Details

Registered

2014-03-05