| Автор |
Съобщение |
|
HCL
Ранг: Форумен бог
Регистриран на: Вто Дек 14, 2004 1:31 pm Мнения: 3849
|
 Re: Оптимизация на програма
и си подреждаш кода в IRAM-a, както трябва. Бързо, но далеч не универсално решение.
|
| Пон Юли 20, 2020 5:50 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
 Re: Оптимизация на програма
+1. Ако си опрял до оптимизации от този вид за да си подобриш производителността на програмата - нещо изосновно трябва да промениш в нея.
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Пон Юли 20, 2020 6:01 pm |
|
 |
|
Н'бабане Гт'муан'га
Ранг: Форумен бог
Регистриран на: Сря Яну 25, 2012 9:14 am Мнения: 5298
|
 Re: Оптимизация на програма
Да... и аз почнах да мисля в тая посока.
_________________ 'просто' е технически синоним на 'красиво'
|
| Пон Юли 20, 2020 6:34 pm |
|
 |
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 8:04 pm Мнения: 2663 Местоположение: София / Велико Търново
|
 Re: Оптимизация на програма
И аз мисля, че таблица би работила най-бързо. Само, че таблицата ще има размера на всички възможни комбинации. А само в тези които те интересуват трябва да запишеш указател към функцията която ще викаш в съответния случай. Ако се направи софтуерно логиката дали няма да стане пак бързо ? Пък и някои процесори нали имат и програмируема лагика.
|
| Вто Юли 21, 2020 4:54 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11265 Местоположение: Добрич
|
 Re: Оптимизация на програма
Ако стойностите са в малък интервал ще може да ги разпише в таблица всичките. Ако не са в малък интервал, може да ги смачка, щото очевидно бройката на комбинациите не е голяма. Вариантите са хеш или двоично сортирана таблица. Цената ще е, че ще вкара малко операции но ще стане от порядъка на O(log N), което е значително по-добре от стандартен case ~ O(N/2).
|
| Вто Юли 21, 2020 9:15 am |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
 Re: Оптимизация на програма
има нещо недоизказано в питането... и за процесора нищо не казва - има ли кеш(ове), спекулации, in-order и приятели. или са 10К кейса, или са сложни/съставни условия, или гони наносекунди. че и метрика има. за 10 if-a надали дори може да премери разликата в нормална ситуация. на академично ниво отговора вече го казах - няма разлика в кода между if-elseif и switch/case с по-висока оптимизация на компилатора
|
| Вто Юли 21, 2020 10:04 am |
|
 |
|
Bai Ui
Ранг: Форумен бог
Регистриран на: Вто Ное 06, 2018 5:18 pm Мнения: 1750
|
 Re: Оптимизация на програма
Някъде беше споменал компилатора XC32, т.е. процесорът е 32 битов ПИК - скопен отвсякъде откъм ресурси.
_________________ “Intelligence is the ability to adapt to change.” Stephen Hawking
|
| Вто Юли 21, 2020 11:26 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: Оптимизация на програма
Не е ясен и методът на измерване. Въобще несериозно е да се подхвърли така всеизвестен псевдокод и да се каже просто: "Мне, не става." и после "Мне и това е пробвано не става." Може да се каже първо какво се гони като абсолютно време за изпълнение. Иначе относително в проценти -0.059% и +10% може да значи много неща  Едно обаче е сигурно, Бабанане все още мъчи софтуера откъм грешната... дупка.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Вто Юли 21, 2020 1:44 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Оптимизация на програма
Е в MPLab може да се симулира и да се броят цикли за изпълнение. Правил съм го само че за 8 битов. Е в моя случай тествах различни алгоритми - кой за колко време горе долу се изпълнява и при мене си даде константна разлика от около 20-30% - та не ми беше много трудно да избера подходящия 
|
| Вто Юли 21, 2020 3:26 pm |
|
|