I'll second what everyone else has said (in particular sprinkling "my" generously would be good) but on a more practical note would suggest factoring common operations out of loops. The Pascal compiler will do that for Pascal, but Perl's does not. It adds up.
For instance in the first set of loops rather than looking up $a[$v][$w] repeatedly, store $a[$v] into $a_v and then lookup $a_v->[$w]. Removing the repeated lookup will eliminate half the work of that tight inner loop on the elements that require no further calculation. And on the second set of loops once you know $w you can calculate (1 + $delta[$w])/$sigma[$w] once and avoid all of those lookups and that math in the tight loop.
Doing that should give a considerable speedup. But this kind of stack manipulation is always going to be slower in Perl than Pascal. Where Perl does well is when its complex built-in operations (eg regular expressions, hash lookups) avoid a lot of explicit low-level code. That is obviously not the case here.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.