Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



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 @07: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 @10: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 @08:55PM (#5261434) Homepage
    somewhere in all the links:

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

You must realize that the computer has it in for you. The irrefutable proof of this is that the computer always does what you tell it to do.

Working...