Ich habe ja jetzt schon eine Weile ein schönes MacbookPro. Nun ist es so, dass ich voll fiese numerische Simulationen laufen lasse, die reichlich Zeit brauchen und Ressourcen fressen. Jetzt beobachte ich häufig in meiner Simulation, dass sie am Anfang langsamer läuft und dann, nach einiger Zeit deutlich schneller wird.
Dafür kann ich mir ein paar Gründe vorstellen:
1) Der Prozessor ist erst in einer Art Energiesparmodus, trotz Netzteil. Bleibt die Last für N Sekunden bei meinetwegen 1., wird der Takt oder was auch immer hochgefahren.
Wenn dem so sei: Kann ich das beeinflussen, also schon bei Programmstart? Ich will nicht immer geschätzte 10-20s und gefühlte 5minuten meine Simulation dahinkriechen sehen. Gibt es sowas wie TurnOffPowerSaving()? Oder PushTheTurboButton()?
2) Irgendwelche Pipelines optimieren sich mit der Zeit für die vielen Floats, habe ich schon oft bei Shadern auf der GPU beobachtet. Da kann man sicher nichts machen.
3) Es ist mein Code. Kann ich mir nicht vorstellen, weil exakt über das gleiche Array immer wieder iteriert wird, sind kaum if() drin.
4) Einbildung oder Risse im Raum-Zeit-Kontinuum. Das wäre sehr schlecht.
Also, hat jemand soetwas auch schon einmal beobachtet? Kann man da was machen?
Mein typischer Arbeitsfluss ist halt auch >30min programmieren, tw. mit Papier&Bleistift nachrechnen etc, also CPU-Last bei nahe 0% (ich nehm kein Xcode, darum ist es wirklich so niedrig). Dann kurz ausprobieren, meisst nur 2min (um festzustellen, das alles explodiert...). Da nervt es halt immer, wenn ich am Anfang warten muss.
Dafür kann ich mir ein paar Gründe vorstellen:
1) Der Prozessor ist erst in einer Art Energiesparmodus, trotz Netzteil. Bleibt die Last für N Sekunden bei meinetwegen 1., wird der Takt oder was auch immer hochgefahren.
Wenn dem so sei: Kann ich das beeinflussen, also schon bei Programmstart? Ich will nicht immer geschätzte 10-20s und gefühlte 5minuten meine Simulation dahinkriechen sehen. Gibt es sowas wie TurnOffPowerSaving()? Oder PushTheTurboButton()?
2) Irgendwelche Pipelines optimieren sich mit der Zeit für die vielen Floats, habe ich schon oft bei Shadern auf der GPU beobachtet. Da kann man sicher nichts machen.
3) Es ist mein Code. Kann ich mir nicht vorstellen, weil exakt über das gleiche Array immer wieder iteriert wird, sind kaum if() drin.
4) Einbildung oder Risse im Raum-Zeit-Kontinuum. Das wäre sehr schlecht.
Also, hat jemand soetwas auch schon einmal beobachtet? Kann man da was machen?
Mein typischer Arbeitsfluss ist halt auch >30min programmieren, tw. mit Papier&Bleistift nachrechnen etc, also CPU-Last bei nahe 0% (ich nehm kein Xcode, darum ist es wirklich so niedrig). Dann kurz ausprobieren, meisst nur 2min (um festzustellen, das alles explodiert...). Da nervt es halt immer, wenn ich am Anfang warten muss.
♥C++