Sériové řazení proměnných
Napsal: 24 lis 2024, 22:40
Dobrej,
po optimalizaci kódu pro rychlost se mi stává že ESP32 se samovolně restartuje, stačí zadat "Delay(1)" a už je vše OK. Jenže použití zastavení programu koresponduje negativně s onou optimalizací pro rychlost. Je to vysvětlitelný protože smyčka proběhne v kratší čas, tak asi nějaká knihovna tomu brání.
Otázka:
má seriové řazení vliv na rychlost procedůr? Nezáleží na kapacitě RAM, ale na rychlosti vyhledání/uložení.
Příklad sériové zdrženlivosti:
No, paralelní myslím to napsat pod sebe.
Logicky vzato, sériové musí být časově úspornější, ale je tomu opravdu tak?
Nemůžu se doměrit.
po optimalizaci kódu pro rychlost se mi stává že ESP32 se samovolně restartuje, stačí zadat "Delay(1)" a už je vše OK. Jenže použití zastavení programu koresponduje negativně s onou optimalizací pro rychlost. Je to vysvětlitelný protože smyčka proběhne v kratší čas, tak asi nějaká knihovna tomu brání.
Otázka:
má seriové řazení vliv na rychlost procedůr? Nezáleží na kapacitě RAM, ale na rychlosti vyhledání/uložení.
Příklad sériové zdrženlivosti:
Kód: Vybrat vše
Soucasny_Cas_4 = millis();
if (Soucasny_Cas_4 - Minuly_Cas_4 >= Doba_resetu_ctvrtecni)
{
Minuly_Cas_4 = Soucasny_Cas;
// Akce I.
Soucasny_Cas_2 = millis();
if (Soucasny_Cas_2 - Minuly_Cas_2 >= Doba_resetu_polovicni)
{
Minuly_Cas_2 = Soucasny_Cas_2;
// Akce II.
Soucasny_Cas_2 = millis();
if (Soucasny_Cas - Minuly_Cas >= Doba_resetu_zakladni)
{
Minuly_Cas = Soucasny_Cas;
// Akce III.
}
}
}
Kód: Vybrat vše
Soucasny_Cas_4 = millis();
if (Soucasny_Cas_4 - Minuly_Cas_4 >= Doba_resetu_ctvrtecni)
{
Minuly_Cas_4 = Soucasny_Cas_4;
// Akce I.
}
Soucasny_Cas_2 = millis();
if (Soucasny_Cas_2 - Minuly_Cas_2 >= Doba_resetu_polovicni)
{
Minuly_Cas_2 = Soucasny_Cas_2;
// Akce II.
}
Soucasny_Cas = millis();
if (Soucasny_Cas - Minuly_Cas >= Doba_resetu_zakladni)
{
Minuly_Cas = Soucasny_Cas;
// Akce III.
}
Logicky vzato, sériové musí být časově úspornější, ale je tomu opravdu tak?
Nemůžu se doměrit.