Desktop
Website
Multimedia
Database
Security
Enterprise
Vraag : Het manuscript die van Perl te lang duren
Ik heb een manuscript dat heel wat sorteren gebaseerd op een „eenvoudig bewegend gemiddelde“ doet dat beurtelings op 100's van series gebaseerd is. Het programma besteedt heel wat tijd het uitvoeren van math. Ik moet het versnellen. Hier is de code:
LEIDING
package; strikte
use;
sub simple_moving_avg;
my $length_of_sma = 4; @price_array
my = qw/
11.3
11.25
11.82
11.64
11.19
11.48
11.37
10.84
10.51
10.76
10.8
11.25
11.36
11.34
11.59
11.41
11.18
11.11
11.72
11.57
/;
foreach mijn (@price_array) $i {
druk „I: $i \ n“;
}
my $sma = 0; mijn
for ($count = 100000; $count >= 1; $count--) {# knalt van 4 waarden „$length_ma "
$sma = simple_moving_avg (\ @price_
array, $len
gth_of_sma
); „het Eenvoudige bewegen zich/>
}/>print avg: $sma \ n“;
exit;
sub simple_moving_avg {mijn
$pointer_array = $_ [0]; mijn
$length_ma = $_ [1];
mijn $sum = 0; mijn
@tmp = @$pointer_array;
voor (mijn $count = $length_ma; $count >= 1; $count--) {mijn
$value = knalt (@tmp);
als (bepaalde $value) {
$sum = $value + $sum;
}
}
mijn $ma = sprintf („%.2f“, ($sum/$length_ma));
terugkeer $ma;
}
Here is het resultaat van het lopen DProf: verloop van tijd
Total = 1.987965 de Tijd van Seconds
User+System = 2.194965 seconden van Seconds
Exclusive Times
%Time ExclSec CumulS #Calls/vraag Csec/c Name
108. 2.377 2.377 100000 0.0000 0.0000 LEIDING:: simple_moving_avg
0.00 - -0.000 strikte 1 - -:: import
0.00 - -0.000 1 - - leiding:: BEGIN
0.00 - -0.000 strikte 1 - -:: bits
0.00 - -0.000 1 - - LEIDING:: BEGIN
/>My de vraag
Antwoord : Het manuscript die van Perl te lang duren
sub simple_moving_avg {
mijn ($pointer_array, $length_ma
) =@_;
mijn $sum = 0;
$sum += $ _ voor @ {$pointer_array} [0. $length_ma-1
];
terugkeer sprintf " %.2f ", $sum/$length_ma;
}
Andere oplossingen
Somebody verzendt emialsvorm mijn hotmailrekening
een programma probeert om het volgende e-mailbericht uit uw naam te verzenden - de Levende post van Vensters
Kleine Statische IP Bedrijfs van de Server 2008 verandering
sharepoint stichting 2010 op met 32 bits?
Word 2003 die - met lijsten, rijen, en cellen werken
Navigeer aan de pagina van een specifiek punt op een gridview
Hyperlink die het diagram/de Tekening activeren
Apple iWeb - hoe te om HTML aan Schijf de website via FTP te publiceren te bewaren of?
sql - datumformaat
Het van een lus voorzien over de tellers van googlekaarten v3