oleiade / Elevator

Elevator is an open source, on-disk key-value store. Provides high-performance bulk read-write operations over very large datasets while exposing a simple and efficient API.
http://elevator.readthedocs.org
MIT License
71 stars 12 forks source link

Worker recv_multipart non-blocking is very very slow #100

Closed oleiade closed 12 years ago

oleiade commented 12 years ago

Decreases performances in an order of 10x

oleiade commented 12 years ago

Non-blocking was used in order to be able to .join() a Worker's thread, when a Keyboard interrupt was caught on elevator.

oleiade commented 12 years ago

Solution is : using internal constants (WORKER_HALT) that the workers pool will send to each workers. Wend this internal is received, then the worker knows it has to stop.