Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: Seeking design improvements for Perl code library remote server

by flexvault (Monsignor)
on Dec 29, 2012 at 15:08 UTC ( #1010818=note: print w/replies, xml ) Need Help??

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 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).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010818]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2018-06-25 02:56 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.