Hur snabbare är uint vs float?
Re: Hur snabbare är uint vs float?
Du kan lika väl fråga hur långt ett snöre är, beror helt och hållet på processor och kompilator
Re: Hur snabbare är uint vs float?
Har för mig att vi postade resultaten här.
Re: Hur snabbare är uint vs float?
Som andra sagt, hur långt är ett snöre.
Enklast är att skriva funktionen du vill kolla hastigheten på, sedan kan du antingen köra den på hårdvara, i en simulator eller räkna instruktioner.
Re: Hur snabbare är uint vs float?
I viewtopic.php?f=43&t=69617&p=1021158&hi ... d#p1021158
Postade Sodjan ett stycke kod, skillnaden är 50% mer kod om man inte använder nativ ordlängd.
Postade Sodjan ett stycke kod, skillnaden är 50% mer kod om man inte använder nativ ordlängd.
Re: Hur snabbare är uint vs float?
Nä. Inge "Hur långt är ett snöre"-argument här. Schas! Bort med det!
Det måste väll finnas någon erfaren som kan ge ett enkel förklaring på om det går snabbt eller långsamt. Jag kräver inga specifika siffror
Tänk typ en matris som är 1000*200. Denna ska multipliceras med en vektor på 200. Detta lär gå långsamt på ett inbyggt system, eller hur?
Re: Hur snabbare är uint vs float?
Inte nödvändigtvis, det beror ju ens definition av snabbt/långsamt.
Re: Hur snabbare är uint vs float?
Långsamt för mig är beräkningshastighet på 10 sekunder.
Snabbt för mig är en beräkningshastighet på 1 sekund.
Snabbt för mig är en beräkningshastighet på 1 sekund.
Re: Hur snabbare är uint vs float?
Enkel matematik säger att för en PIC32 med 80 Mhz klocka bör klara 200k 8-bitars multiplikationer på runt 27 ms i teorin (om jag räknat rätt), till detta tillkommer naturligtvis indexering mm
en 8-bitars multiplikation tar maximalt 137ns
en 16 bitars multiplikation tar 88ns
och en 32bitars tar 86ns
En float tar 736ns
och en double tar 1438ns
en 8-bitars multiplikation tar maximalt 137ns
en 16 bitars multiplikation tar 88ns
och en 32bitars tar 86ns
En float tar 736ns
och en double tar 1438ns
Re: Hur snabbare är uint vs float?
Kan detta verkligen stämma? Alltså på ett ungefär?
Jag hade en process som beräknade 15*15 matriser och det gick väldigt segt. Men processorn höll på med LCD också samt två trådar som skulle köras samtidigt.
Jag hade en process som beräknade 15*15 matriser och det gick väldigt segt. Men processorn höll på med LCD också samt två trådar som skulle köras samtidigt.
Re: Hur snabbare är uint vs float?
Tiderna för resp multiplikation är jag rätt övertygad om att de stämmer väldigt bra.
Du får tänka på att alla dessa system såsom CUBEMX och allt vad de heter lägger på en väldans massa skräp, ofta lägger man in ett gömt RTOS i botten, så du får aldrig ut den råa processorkraften
Du får tänka på att alla dessa system såsom CUBEMX och allt vad de heter lägger på en väldans massa skräp, ofta lägger man in ett gömt RTOS i botten, så du får aldrig ut den råa processorkraften
Re: Hur snabbare är uint vs float?
Det tror jag inte. CubeMX är ganska tunt. Allt beror på vad man lägger dit.
Jag ska köra några simuleringar med MATLAB kod, och sedan visa vad jag ska använda för att lösa Ax=b.
Jag ska köra några simuleringar med MATLAB kod, och sedan visa vad jag ska använda för att lösa Ax=b.
-
- Inlägg: 1397
- Blev medlem: 29 januari 2011, 21:06:30
- Ort: Lapplandet
Re: Hur snabbare är uint vs float?
Har du kollat på koden till STs HAL någon gång? Det är ofta flera lager med inputvalidering och "göra det enkelt för användaren"-konverteringar av olika värden innan man är framme vid koden som faktiskt gör någonting med hårdvaran.
Det skulle inte förvåna mig om det går att göra stora prestandavinster genom att skriva om koden. Men det är nästan alltid billigare att köpa kraftigare hårdvara än vad det kostar att optimera koden istället.
Det skulle inte förvåna mig om det går att göra stora prestandavinster genom att skriva om koden. Men det är nästan alltid billigare att köpa kraftigare hårdvara än vad det kostar att optimera koden istället.
Re: Hur snabbare är uint vs float?
Du skriver själv att det var två trådar och LCD-hantering, det innebär att det måste ligga ett RTOS i botten, oavsett vad du tror eller inte.
Re: Hur snabbare är uint vs float?
CubeMX blir så mycket kod man väljer att ha med. Det blir minimal overhead för beräkningsfunktioner i form av eventuella avbrott man önskat sig via timers och andra periferienheter.
Plita ned lite kod i Compiler Explorer och bygg för ARM och titta på assemlerkoden, koppla ihop med vad som står i databladet, räkna. Eller så stänger du dina trådar, släcker displayen och kör din kod och skriv ut exekveringstiden på displayen när beräkningen är klar.
Eller svaret på din fråga verkar vara 10 enligt https://sparklogic.ru/arduino-for-stm32 ... 2f103.html
Plita ned lite kod i Compiler Explorer och bygg för ARM och titta på assemlerkoden, koppla ihop med vad som står i databladet, räkna. Eller så stänger du dina trådar, släcker displayen och kör din kod och skriv ut exekveringstiden på displayen när beräkningen är klar.
Eller svaret på din fråga verkar vara 10 enligt https://sparklogic.ru/arduino-for-stm32 ... 2f103.html