Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Perl Programming Upgrades

POE 0.25 Released 10

Casey West writes "Version 0.25 of the award-winning POE networking and multitasking framework has been released. This version is mainly a bug fix release." Read on for more...
Thanks go out to everyone who helped make this release happen, especially our new committers and testers.
  • 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

"
This discussion has been archived. No new comments can be posted.

POE 0.25 Released

Comments Filter:
  • anybody use this? (Score:4, Interesting)

    by Anonymous Coward on Saturday February 08, 2003 @06:59PM (#5261162)
    So, anybody out there use this for any real mission-critical stuff? Let's hear about it.

    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)

      by LunaticLeo ( 3949 ) on Saturday February 08, 2003 @09:14PM (#5261802) Homepage
      Yeah, I use it to write high performance network servers. I think it is foolish that Rocco hasn't bothered to call it 1.0 yet. It is pretty stable. I love POE; it is powerful and smart.

      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)

      by Anonymous Coward
      I use it when I want to do a network app that apache would be overkill for. It imposes very little overhead on the app and is running 24/7 for the past 8 or 9 months for us.

      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.
    • I used it trying to work around the lack of fork() in Win32. Perl's emulation didn't quite cut it. I was trying to watch a process through CGI without timing out the page, and was having all sorts of fun problems and wasting a lot of time.

      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.

  • by egott ( 81357 ) on Saturday February 08, 2003 @07:55PM (#5261434) Homepage
    somewhere in all the links:

    "POE is a framework for creating multitasking programs in Perl."

Do you suffer painful illumination? -- Isaac Newton, "Optics"

Working...