Отговори на тема  [ 24 мнения ]  Отиди на страница Предишна  1, 2
Оптимизация на програма 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Дек 14, 2004 12:31 pm
Мнения: 3301
Мнение Re: Оптимизация на програма
Код:
ptr=val+offset
goto ptr


и си подреждаш кода в IRAM-a, както трябва. Бързо, но далеч не универсално решение.


Пон Юли 20, 2020 4:50 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 12:48 pm
Мнения: 4406
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Оптимизация на програма
Cekins написа:
Ами значи нещо концепцията куца :)....

+1.
Ако си опрял до оптимизации от този вид за да си подобриш производителността на програмата - нещо изосновно трябва да промениш в нея.

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Пон Юли 20, 2020 5:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4616
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: Оптимизация на програма
MYXATA написа:
Cekins написа:
Ами значи нещо концепцията куца :)....

+1.
Ако си опрял до оптимизации от този вид за да си подобриш производителността на програмата - нещо изосновно трябва да промениш в нея.


Да... и аз почнах да мисля в тая посока.

_________________
'просто' е технически синоним на 'красиво'


Пон Юли 20, 2020 5:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2586
Местоположение: Велико Търново / София
Мнение Re: Оптимизация на програма
И аз мисля, че таблица би работила най-бързо. Само, че таблицата ще има размера на всички възможни комбинации. А само в тези които те интересуват трябва да запишеш указател към функцията която ще викаш в съответния случай.
TheHungry написа:
Другия вариант е да го напишеш на VHDL или Verilog ( шегичка).

Ако се направи софтуерно логиката дали няма да стане пак бързо ? Пък и някои процесори нали имат и програмируема лагика.

_________________
https://github.com/slav4ocom/


Вто Юли 21, 2020 3:54 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10368
Местоположение: Добрич
Мнение Re: Оптимизация на програма
slav4o.com написа:
Само, че таблицата ще има размера на всички възможни комбинации.


Ако стойностите са в малък интервал ще може да ги разпише в таблица всичките. Ако не са в малък интервал, може да ги смачка, щото очевидно бройката на комбинациите не е голяма. Вариантите са хеш или двоично сортирана таблица. Цената ще е, че ще вкара малко операции но ще стане от порядъка на 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
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Ное 06, 2018 4:18 pm
Мнения: 1219
Мнение Re: Оптимизация на програма
ДедоБоре написа:
има нещо недоизказано в питането... и за процесора нищо не казва -

Някъде беше споменал компилатора XC32, т.е. процесорът е 32 битов ПИК - скопен отвсякъде откъм ресурси.


Вто Юли 21, 2020 10:26 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 1:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: Оптимизация на програма
ДедоБоре написа:
има нещо недоизказано в питането...

Не е ясен и методът на измерване. Въобще несериозно е да се подхвърли така всеизвестен псевдокод и да се каже просто: "Мне, не става." и после "Мне и това е пробвано не става."
Може да се каже първо какво се гони като абсолютно време за изпълнение. Иначе относително в проценти -0.059% и +10% може да значи много неща :D
Едно обаче е сигурно, Бабанане все още мъчи софтуера откъм грешната... дупка.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Вто Юли 21, 2020 12:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 11:02 am
Мнения: 8888
Местоположение: Разград
Мнение Re: Оптимизация на програма
Е в MPLab може да се симулира и да се броят цикли за изпълнение. Правил съм го само че за 8 битов. Е в моя случай тествах различни алгоритми - кой за колко време горе долу се изпълнява и при мене си даде константна разлика от около 20-30% - та не ми беше много трудно да избера подходящия :)


Вто Юли 21, 2020 2:26 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 24 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни