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