Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:20 02.06.24 
Клубове/ Компютри и Интернет / Програмисти Пълен преглед*
Информация за клуба
Тема Re: Много внимавайте с volatile [re: evlampi_popdimitrov]
Автор oberleutnantRzevski (същият)
Публикувано01.08.14 01:28  



Начи....

За мен проблема с "умните" компилатори до нейде съвпада с проблема за изкуствения интелект.
А проблемът с изкуствения интелект е този, че за него обикновено се говори там, където няма естествен такъв*.

В конкретно цитирания случай, дебело подчертавам - в конкретно цитирания, е дефинирана променлива, чиято стойност се ползва в условие на цикъл.
Заебете мултитрейдинга.
Тази променлива може да се промени от прекъсване.
Тази променлива може да е дефинирана като хардуерен сигнал примерно (при някои микроконтролерски компилатори).
Варианти много.
Компилаторът няма право да оптимизира стойността й с константа, нито да я държи в регистър през цялото време.
Т.е.
int a=1;
while (a==1)
по никакъв начин не бива да се компилира като да е
while (1)

или пък да се компилира до изцяло регистрова операция примерно:

ld R1, a
L1: cmp R1, #1
bne L2
blah
blah
blah
jmp L1
L2: blah
......

(така де, некъф квази-асемблер)

освен ако същият този компилатор не ползва този регистър единствено и само за тази променлива и тя да не е разположена в паметта на системата, но всяка функция, която се обръща към нея, модифицира съдържанието на същия този регистър.
Т.е. ако правите разделно компилиране и едната ръка не знае какво прави другата, подобно нещо (оптимизиране) трябва да е забранено. Под заплаха от разстрел.

Няма и обикновена логика. Който иска да напише безкраен цикъл, ще го дефинира като такъв, а не с променлива.
В смисъл - освен ако не е пълен идиот де.

Още повече - какво ще спечелите от подобно "оптимизиране"?
Една операция достъп до паметта?
Ебаси печалбата!
Да де, ако цикъла само се върти без да има нищо в тялото му, ще имате огромно ускорение на изпълнението на безсмислен код.

Щом нещото е дефинирано като променлива, когато се прави сравнение на същото това нещо, то трябва да се извлича от там, където се намира, а не да се държи в регистър.

Мога да се съглася, ако е b=a+a+a; израза, че са възможни двусмислици и необходимости от указания към компилатора, или взимане на специални мерки в кода (примерно да кажем - ако а се променя от прекъсване, а ние искаме да съберем 3 пъти едно и също число, ще трябва да забраним прекъсването. Чиста глупост впрочем, вече и микроконтролерите правят умножение за един такт, ама нейсе!), обаче в цитирания случай е просто уникално зле да се компилира цикъла с проверка на променлива, която се държи в регистър.


Не можеш ли ти да пишеш оптимален код - надай се компилатора да ти го компилира като такъв.

Мораль: Умните компилатори са направени за ползване от глупави програмисти*.

-------------------------------------------------------------------------------------
*Направете напълно дуракоустойчива система, и само пълни глупаци ще поискат да я ползват.



Цялата тема
ТемаАвторПубликувано
* Задачка-закачка chichiman   29.07.14 12:05
. * Re: Задачка-закачка rabin   29.07.14 12:10
. * Re: Задачка-закачка chichiman   29.07.14 12:14
. * Re: Задачка-закачка rabin   29.07.14 12:15
. * Re: Задачка-закачка chichiman   29.07.14 12:20
. * Re: Задачка-закачка rabin   29.07.14 12:25
. * Re: Задачка-закачка chichiman   29.07.14 12:32
. * Re: Задачка-закачка rabin   29.07.14 12:34
. * Re: Задачка-закачка chichiman   29.07.14 12:40
. * Re: Задачка-закачка rabin   29.07.14 12:44
. * Re: Задачка-закачка chichiman   29.07.14 12:48
. * Re: Задачка-закачка rabin   29.07.14 12:51
. * Re: Задачка-закачка SOVlET SMARTASS   29.07.14 13:48
. * volatile int zaphod   29.07.14 13:49
. * Re: volatile int gat3way   29.07.14 14:02
. * Re: volatile int zaphod   29.07.14 14:25
. * Re: volatile int gat3way   29.07.14 14:48
. * Re: volatile int SOVlET SMARTASS   29.07.14 16:57
. * Re: volatile int gat3way   29.07.14 17:13
. * Re: volatile int SOVlET SMARTASS   29.07.14 17:23
. * Re: volatile int gat3way   29.07.14 17:34
. * Re: volatile int SOVlET SMARTASS   29.07.14 17:59
. * Re: volatile int gat3way   29.07.14 21:47
. * Re: volatile int klapaucius   30.07.14 00:40
. * Re: volatile int chichiman   29.07.14 14:41
. * Много внимавайте с volatile Dr Who   29.07.14 14:23
. * Re: Много внимавайте с volatile zaphod   29.07.14 14:30
. * Re: Много внимавайте с volatile Dr Who   29.07.14 15:43
. * Re: Много внимавайте с volatile chichiman   29.07.14 15:51
. * Re: Много внимавайте с volatile Dr Who   29.07.14 16:08
. * Re: Много внимавайте с volatile chichiman   29.07.14 16:09
. * Re: Много внимавайте с volatile Dr Who   29.07.14 17:35
. * Re: Много внимавайте с volatile chichiman   29.07.14 16:00
. * Re: Много внимавайте с volatile Dr Who   29.07.14 16:28
. * Re: Много внимавайте с volatile chichiman   29.07.14 16:35
. * Re: Много внимавайте с volatile zaphod   29.07.14 16:03
. * Re: Много внимавайте с volatile rabin   29.07.14 14:33
. * Re: Много внимавайте с volatile Dr Who   29.07.14 15:02
. * Re: Много внимавайте с volatile gat3way   29.07.14 15:10
. * недей така zaphod   29.07.14 15:21
. * Re: Много внимавайте с volatile chichiman   29.07.14 15:21
. * Re: Много внимавайте с volatile klapaucius   30.07.14 00:45
. * Re: Много внимавайте с volatile gat3way   30.07.14 09:02
. * Re: Много внимавайте с volatile zaphod   30.07.14 09:40
. * Re: Много внимавайте с volatile klapaucius   30.07.14 10:12
. * Re: Много внимавайте с volatile zaphod   30.07.14 10:40
. * Re: Много внимавайте с volatile klapaucius   30.07.14 20:48
. * Re: Много внимавайте с volatile evlampi_popdimitrov   30.07.14 21:24
. * Re: Много внимавайте с volatile klapaucius   30.07.14 22:43
. * Re: Много внимавайте с volatile gat3way   31.07.14 00:52
. * Re: Много внимавайте с volatile klapaucius   31.07.14 16:37
. * Re: Много внимавайте с volatile gat3way   31.07.14 19:11
. * Re: Много внимавайте с volatile gat3way   31.07.14 23:35
. * Re: Много внимавайте с volatile zaphod   31.07.14 09:09
. * Re: Много внимавайте с volatile klapaucius   31.07.14 16:44
. * Re: Много внимавайте с volatile zaphod   31.07.14 17:05
. * Re: Много внимавайте с volatile evlampi_popdimitrov   31.07.14 15:45
. * Re: Много внимавайте с volatile klapaucius   31.07.14 16:32
. * Re: Много внимавайте с volatile chupac   31.07.14 16:42
. * Re: Много внимавайте с volatile klapaucius   31.07.14 16:49
. * Re: Много внимавайте с volatile chupac   31.07.14 17:04
. * Re: Много внимавайте с volatile zaphod   31.07.14 17:07
. * Re: Много внимавайте с volatile evlampi_popdimitrov   31.07.14 17:27
. * Re: Много внимавайте с volatile chupac   31.07.14 18:17
. * Re: Много внимавайте с volatile evlampi_popdimitrov   31.07.14 18:40
. * Re: Много внимавайте с volatile chupac   31.07.14 18:44
. * Re: Много внимавайте с volatile evlampi_popdimitrov   31.07.14 19:25
. * Re: Много внимавайте с volatile chupac   31.07.14 23:13
. * Re: Много внимавайте с volatile chichiman   31.07.14 23:18
. * Re: Много внимавайте с volatile rabin   31.07.14 17:46
. * Re: Много внимавайте с volatile evlampi_popdimitrov   31.07.14 17:49
. * Re: Много внимавайте с volatile rabin   31.07.14 17:55
. * Re: Много внимавайте с volatile evlampi_popdimitrov   31.07.14 18:14
. * Re: Много внимавайте с volatile rabin   31.07.14 19:52
. * Re: Много внимавайте с volatile oberleutnantRzevski   01.08.14 01:28
. * Re: Много внимавайте с volatile chichiman   01.08.14 01:43
. * Re: Много внимавайте с volatile oberleutnantRzevski   01.08.14 02:13
. * Re: Много внимавайте с volatile oberleutnantRzevski   01.08.14 02:58
. * Re: Много внимавайте с volatile chichiman   01.08.14 09:49
. * Re: Много внимавайте с volatile oberleutnantRzevski   01.08.14 11:05
. * Re: Много внимавайте с volatile gat3way   01.08.14 01:56
. * Re: Много внимавайте с volatile oberleutnantRzevski   01.08.14 02:27
. * Re: Много внимавайте с volatile gat3way   01.08.14 02:32
. * Re: Много внимавайте с volatile oberleutnantRzevski   01.08.14 02:52
. * Re: Много внимавайте с volatile gat3way   02.08.14 00:46
. * Re: Много внимавайте с volatile chichiman   30.07.14 21:55
. * Re: Много внимавайте с volatile klapaucius   30.07.14 23:06
. * Re: Много внимавайте с volatile chichiman   30.07.14 23:11
. * Re: Много внимавайте с volatile klapaucius   30.07.14 23:33
. * Re: Много внимавайте с volatile klapaucius   30.07.14 09:59
. * Re: Много внимавайте с volatile rabin   29.07.14 15:29
. * Re: Задачка-закачка PekoHcTpykTop   29.07.14 15:37
. * Re: Задачка-закачка gat3way   29.07.14 15:41
. * Re: Задачка-закачка PekoHcTpykTop   29.07.14 18:05
. * Re: Задачка-закачка gat3way   29.07.14 19:07
. * Re: Задачка-закачка PekoHcTpykTop   29.07.14 21:55
. * Re: Задачка-закачка chichiman   29.07.14 22:01
. * Re: Задачка-закачка rabin   29.07.14 23:06
. * Re: Задачка-закачка chichiman   29.07.14 23:18
. * Re: Задачка-закачка rabin   29.07.14 23:36
. * Re: Задачка-закачка chichiman   29.07.14 15:43
. * Re: Задачка-закачка rabin   29.07.14 15:50
. * Re: Задачка-закачка chichiman   29.07.14 15:52
. * Re: Задачка-закачка rabin   29.07.14 15:57
. * Re: Задачка-закачка suichuklia   29.07.14 19:10
. * Re: Задачка-закачка oberleutnantRzevski   29.07.14 20:00
. * Re: Задачка-закачка zaphod   30.07.14 09:28
. * Re: Задачка-закачка rabin   30.07.14 10:03
. * Re: Задачка-закачка jeffty   30.07.14 10:24
. * Re: Задачка-закачка rabin   30.07.14 10:28
. * Re: Задачка-закачка jeffty   30.07.14 10:30
. * Re: Задачка-закачка rabin   30.07.14 10:47
. * Re: Задачка-закачка jeffty   30.07.14 10:56
. * Re: Задачка-закачка rabin   30.07.14 11:01
. * Re: Задачка-закачка zaphod   30.07.14 11:09
. * Re: Задачка-закачка Pechenia   30.07.14 11:25
. * Re: Задачка-закачка GHYCEH GHOM   30.07.14 11:30
. * Re: Задачка-закачка chupac   30.07.14 11:51
. * Re: Задачка-закачка GHYCEH GHOM   30.07.14 17:45
. * Re: Задачка-закачка chupac   30.07.14 18:03
. * Re: Задачка-закачка rabin   30.07.14 18:04
. * Re: Задачка-закачка GHYCEH GHOM   30.07.14 23:08
. * Re: Задачка-закачка chupac   31.07.14 06:52
. * Re: Задачка-закачка rabin   30.07.14 13:46
. * Re: Задачка-закачка chichiman   30.07.14 15:15
. * Re: Задачка-закачка rabin   30.07.14 15:18
. * Re: Задачка-закачка chichiman   30.07.14 15:37
. * Re: Задачка-закачка rabin   30.07.14 15:40
. * Re: вече е хронично tuff slim   30.07.14 15:41
. * Re: Задачка-закачка tuff slim   30.07.14 16:36
. * Re: Задачка-закачка chupac   30.07.14 18:04
. * Re: Задачка-закачка tuff slim   30.07.14 18:15
. * Re: Задачка-закачка jeffty   30.07.14 12:04
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.