POE 0.25 Released 10
- ActivePerl 5.8.0 is supported.
- Gentoo Linux is supported. Previously Perl would segfault.
- TCP clients and servers now support different kinds of sessions (Session, NFA, and custom types).
- TCP servers now gracefully handle aborted connections. This prevents them from stopping under heavy load.
- TCP clients and servers are more configurable in general.
- Several unimplemented features in Wheel::Run have been completed.
- POE::Kernel's call() honors array vs. scalar context now.
- Fixed a bug that sometimes prevented POE::Kernel from returning.
- Fixed a leak in signal dispatching. Terminal signals now destroy sessions at the proper times.
POE's web site contains detailed changes for every public release.
http://poe.perl.org/?POE_CHANGES
The latest tarball should be heading towards your favorite CPAN mirror. It is also on the web, and so is a Windows PPD. Users who need advanced notice of changes can follow it via anonymous CVS or POE's mailing list.
http://poe.perl.org/?Where_to_Get_POE http://poe.perl.org/?POE_Support_Resources
Thanks again to everyone who helped with this release.
About POE
POE is an award-winning networking and multitasking framework. It has been in active, open development for over four years. Its developer community has created a large and growing list of reusable components.
http://poe.perl.org/?What_POE_Is http://search.cpan.org/search?mode=module&query=PO E::Component
POE's robustness and performance have made it an integral part of mission critical applications since 1998. It is used in a wide variety of fields and in projects ranging from just a few lines of code to tens of thousands.
- Financial:
Market servers, clients, billing systems, and automated trading agents. - Web:
Commerce servers, content management systems, application servers, data warehousing, WAP proxies, ad exchanges, web crawlers/spiders, and a variety of specialized agents. - System Administration:
Large-scale host monitoring and maintenance, distributed load testing, a distributed file system (InterMezzo), radius monitoring, system log management and reporting, and spam detection. - Entertainment:
Interactive TV servers; mp3 jukeboxes and streaming servers; multi-server multi-game server monitoring, management, billing, and tournament control; and a plethora of IRC applications and agents. - Software Development:
Compile farm management, build management, distributed testing. - Monitoring and Automation:
X10 home control, weather station monitoring, alarm monitoring.
We look forward to hearing how POE has helped you.
-- Rocco Caputo / troc@pobox.com / poe.perl.org / poe.sf.net
"
anybody use this? (Score:4, Interesting)
I downloaded it a while ago and thought it was pretty nice. Event-driven programming for servers and stuff like that.
But I've never used it. Everytime I think I might want to, I think, "hmm all that overhead might not be good, what about performance, what about hidden bugs" and I end up not using it. Just wondering if I should stop thinking that way or what?
Re:anybody use this? (Score:5, Informative)
Here are some observations:
- On a 1GHz linux box POE can execute 5000 no-op events per second. I conclude from that that the overhead of POE is pretty small.
- Network programming is easy under POE. Network programming is inherently asyncronous (ie event driven). Hence any other paradigm, like blocking read/write threads, is a mismatch that undermines performance.
- Breaking code into logical events allows for restructuring and refactoring code very easy.
My advice, is to learn POE as soon as you can. It is a conceptual change in how you write code. Once you are over the learning curve, you will have a powerful new tool in writing Perl. Further, It will lead you to a new (proper) way of thinking about programming in any language.
P.S. My favorite Alan Cox quote:
"A computer is a state machine. Threads are for people who can't program state machines"
Re:anybody use this? (Score:3, Informative)
It's a cool app and like most cool apps it has a bit of a learning curve. Start out with some simple test apps and build from there.
Re:anybody use this? (Score:1)
I didn't know about POE until Randal Schwartz recommended it (thanks Randal), but it solved my problem and performs quite well. I didn't push it past about 8 simultaneous processes, but it worked very well and seems very stable.
in case you are slow like me (Score:3, Informative)
"POE is a framework for creating multitasking programs in Perl."