Kul också att du kör Octave/Matlab på en gammal burk, med så lite minne!
Python säger du...
Interpreteras (dvs. lite långsamt). Tydligen ingen multithreading, så bara en kärna utnyttjas.
Jag vet inte om du nämnt vad du har för OS, men jag gissar på Windows men garderar med Linux.
Även om tråden finns under hårdvara så skulle jag, baserat på att du säger att temperaturen inte ökar, säga att det inte är hårdvaran som blir långsammare. Om man inte räknar trashing och referensmönster som hårdvara.
Vad menar du när du säger "plottar"? Är det på skärmen eller på någon typ av plotter? Om det är en plotter, hur är den ansluten?
Hur stora arrayer har du i programmet? Hur refereras dom, kolumnvis eller radvis?
Här finns lite om matrislagring i Python:
https://www.johnny-lin.com/cdat_tips...rray_refs.html
Jag börjar med att gå igenom tänkbara alternativ, även om dom redan nämnts:
– Trashing. Något steg i minnescachning, typiskt virtuellt minne, går över en gräns.
– CPU-temperatur gör att datorn klockas ner.
Det där har du redan räknat bort.
Vilka alternativ återstår?
– Något fel i koden som gör att effektiviteten avtar, t.ex. referensmönster.
Ett sätt att få lite mer kunskap om vad som händer är att sätta in tidsmätning i loopen, särskilja olika avsnitt och sedan se vilken del av koden det är som tar mer tid.
Jag skulle nästan gissa på arrayhantering, utgående från vad som framkommit hittills. Om du inte har en bug som gör att antalet beräkningar ökar under exekveringens gång...
Kanske kan den inre loopen effektiviseras?
Har det någon betydelse om det är 32- eller 64-bitarsmiljö?
Det låter ju inte så om du kan köra i 1 GB utan trashing.
–