http://www.perlmonks.org?node_id=1010818


in reply to Seeking design improvements for Perl code library remote server

Welcome daluu,

First, I don't have a clue about what you are trying to do, but since you do, maybe you could explain why your approach is 'better' or 'easier' or 'friendlier' or 'whatever' for your potential users.

One way to find the value of your code, is to profile your server with 'Devel::NYTProf'. This great tool will help you find your server's bottlenecks and help you improve your server performance. Set a realistic benchmark like ___ (your input needed) serves per minute, and then use the detailed information from 'Devel::NYTProf' to improve your own code. Look for code that can be moved outside of a loop and at the same time it will help you improve your Perl coding skills.

Try to improve your code by 100%. If you only get 1-2% then your code is optimized already. But be honest with yourself.

When you find something that you think could be better, but don't know how to improve the code -- that's when to ask the PM members for specific help. You'll get some good answers and a lot more help.

Good Luck!

"Well done is better than well said." - Benjamin Franklin

  • Comment on Re: Seeking design improvements for Perl code library remote server

Replies are listed 'Best First'.
Re^2: Seeking design improvements for Perl code library remote server
by daluu (Initiate) on Dec 30, 2012 at 00:53 UTC

    Hi flexvault,

    Thanks for the performance tuning tip, I will look into that some time. Though my server is not likely to be used heavily with high traffic. But performance checking it might be good for finding any potential memory or resource leaks or high CPU consumption, deadlocks. Otherwise, I don't really need to optimize the code for performance at this time.

    I actually made this post in terms of code design improvements. Specifically 2 things. (1) whether some of the code could be written according to modern (and proper?) Perl standards and using better Perl modules, optimizing for standards (rather than performance). (2) for any suggestions on how to fix or tackle the open issues and todo items I've listed in the project.

    FYI, the server is used to serve QA/automation test libraries written in Perl remotely (on different machine or even just localhost) over XML-RPC for integration/use by RobotFramework.org test automation framework, using it's remote library API specification (which utilizes XML-RPC). The details on how the server works and what it's use is can be found on the wiki page link I mention earlier and in the Robot Framework documentation. Functionally, it works for basic support, but there's a few areas that can be improved for it to be up to standards with the reference spec implementation (the Python remote server for same framework).