Depending what your code is doing, it could either be that your code requires 50% of thr cpu in order to do the work it is doing OR, it could be that the way your code is doing what it is doing it less efficient than it could be and that by switching to a better algorithm, you maybe able to improve it.

Often just the right choice of algorithm can make a world of difference. In effect, the better compiler you need is the one compiling (ie. typing :) the source code.

Why not profile your code (see Devel::Dprof or Devel::SmallProf ), and when you know where your code is using the most time, post that here and see if we can't help you optimise that.

It may be that you might need to recast some small parts of your program into Inline::C) to improve things.

That said, usually, an efficient algorithm uses more cpu than less--it just finishes more quickly. It could be that you could reduce the cpu loading your program generates by the tactical inclusion of a short sleep statement into one or more of your loops. This is especially true if your program spends a lot of time polling, waiting for something to happen.

Without a description of the program, or preferably, sight of the code, it is difficult to speculate what approach might be the best,


Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.

In reply to Re: Which is the best compiler by BrowserUk
in thread Which is the best compiler by agynr

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.