-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use of perl threads #10
Comments
threads are only used in one place where i deal with failure logic, and even then it's only to determine when to place the node back in the pool. I personally hate modules that have a million dependencies but if you think it will improve the project i'm more than happy to work with you to refactor it around IO::Async or whatever module you would prefer. is there a specific performance issue or are you more talking about best practices here? |
Just best practices, I'm trying to find a decent source for the reasoning On Wed, Jan 16, 2013 at 10:21 PM, mkjellman [email protected]:
|
believe me, i'm definitely not the first to suggest threads in perl for any high performance situation. and i've had my fair share of bad experiences with threads in perl, but in more recent releases they have definitely stabilized. Performance is bad when you spawn a thread because under the hood it's a fork. |
this came up in IRC as well in a question from rcoli. let's refactor this :) do you have a specific implementation in mind? |
Thats no coincidence, we contract out to Palomino db at my job
|
(rcoli works for Palomino db)
|
well glad the system is working. priority is getting the client ready for 1.2 and CQL3 but this seems like something pretty easy to refactor. my key requirement would be that it continues to play nice in mod_perl |
wanted to update this thread. I'm almost done implementing the binary protocol. This is all based on anyevent which should allow us to remove the dependency of the downed node thread using perl threads. I'll update when i've done more testing of the binary protocol implementation |
heya,
just a heads up that the use of threads in perl is pretty much avoided at all costs.
Maybe take a look at IO::Async ( event loop based )? Or if you want, I'd totally lend a hand.
The text was updated successfully, but these errors were encountered: