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

You Might Also Like
Our Free Plans just got better! | Auth0 by Okta Icon
Our Free Plans just got better! | Auth0 by Okta

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your secuirty. Auth0 now, thank yourself later.
Try free now
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