BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Защо е имплементирано така
Bender
Публикувано на: 05-12-2017, 23:02
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 4993
Регистриран на: 19.06.14



1. Не бъди ревнив към жената на сърцето си и не й давай лош урок против тебе самия.
2. Не отдавай на жена си твоята душа, за да не въстане против властта ти.
3. Не се срещай с развратна жена, за да не паднеш някак в нейните примки.
4. Не се заседявай дълго с певица, за да не бъдеш пленен от нейното изкуство.
5. Не се заглеждай в девица, за да се не съблазниш от нейните прелести.
6. Не отдавай на блудница душата си, за да не изгубиш наследството си.
7. Не обглеждай улиците на града и не скитай по пустите му места.
8. Отвръщай око от хубавица жена и не се заглеждай в чужда хубост.
9. Мнозина са се отбили от пътя чрез женска хубост: от нея като огън се разпаля страстта.
10. С омъжена жена никак да не седиш и не оставай с нея на гощавка при вино,
11. за да се не склони душата ти към нея, и да се не подплъзнеш духом в погибел.
12. Не оставяй стар приятел, защото новият не може да се сравни с него:
13. нов приятел е също като ново вино: кога стане то старо, с наслада ще го пиеш.
14. Не завиждай на славата на грешник, защото не знаеш, какъв ще бъде краят му.
15. Не одобрявай това, що нечестивци одобряват; помни, че те до самия ад не ще се поправят.
16. Дръж се далеч от човек, който има власт да умъртвява, и не ще те смущава смъртен страх;
17. ако ли пък се сближаваш с него, - не сбърквай, за да ти не отнеме живота:
18. знай, че посред примки ходиш и по зъберите на градски стени вървиш.
19. По силата си узнавай ближните и се съветвай с мъдрите.
20. Разсъждавай с разумни, и всяка твоя беседа да бъде в закона на Вишния.
21. С тебе да вечерят праведни мъже, и славата ти да бъде в страх Господен.
22. Изделието се хвали по ръката на художника, а управителят на народа се счита за мъдър по думите си.
23. В града се боят от дръзкия на език и мразят оногова, който не мисли, кога говори.



Това мнение е било редактирано от Bender на 07-01-2018, 20:06
PM
Top
saruman
Публикувано на: 05-12-2017, 23:15
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1844
Регистриран на: 21.07.10



Според мен заради тоя конст

CODE
const uint64_t s0 = s[0];


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
martinradev
Публикувано на: 05-12-2017, 23:18
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 253
Регистриран на: 06.08.14



CODE


const uint64_t result = s0 + s1;

... modify s[0] and s[1]

return result



vs

CODE


... modify s[0] and s[1]

return s[0] + s[1]


I wonder.

PMEmail Poster
Top
saruman
Публикувано на: 05-12-2017, 23:24
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1844
Регистриран на: 21.07.10



Ааа да,аз чак сега забелязах,че навсякъде копия,мноо бъгав тоя код Бендере,къде си се завирал пак по кофите icon_lol.gif


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
Bender
Публикувано на: 05-12-2017, 23:30
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 4993
Регистриран на: 19.06.14



Боже на отмъщенията, Господи Боже на отмъщенията, покажи се.
2. Стани, Съднико на земята, дай отплата на горделивите.
3. Докога нечестивите, Господи, докога нечестивите ще тържествуват?
4. Те изригват дръзки речи; големеят се всички, които вършат беззаконие;
5. тъпчат Твоя народ, Господи, и угнетяват Твоето наследие;
6. вдовица и пришълец убиват и сираци погубват,
7. и казват: Господ няма да види, и Бог Иаковов няма да узнае.
8. Вразумете се, несмислени люде! кога ще станете умни вие, невежи?
9. Който е насадил ухото, няма ли да чуе? и Който е стъкмил окото, няма ли да види?
10. Оня, Който вразумява народите, Който учи човека на знание, нима няма да изобличи?
11. Господ знае човешките мисли, че те са суетни.
12. Блажен оня човек, когото вразумяваш Ти, Господи, и поучаваш на Твоя закон,
13. за да му дадеш покой в усилни дни, докле за нечестивия се изкопае яма!
14. Защото Господ няма да отхвърли Своя народ и няма да остави Своето наследие.
15. Защото съдът ще се възвърне към правдата, и подире му ще тръгнат всички прави по сърце.
16. Кой ще се дигне за мене против злодейците? кой ще се дигне за мене против ония, които вършат беззаконие?
17. Да не беше ми Господ помощник, душата ми скоро щеше да се засели в страната на мълчанието.
18. Когато казвах: ногата ми се колебае, - Твоята милост, Господи, ме подкрепяше.
19. Кога се умножават моите скърби в сърцето ми, Твоите утешения услаждат душата ми.
20. Ще застане ли близо до Тебе седалището на пагубниците, които против закона кроят насилие?
21. На тълпи се нахвърлят върху душата на праведника и осъждат невинна кръв.
22. Но Господ е моя защита и Бог мой - твърдиня на моето прибежище,
23. и ще обърне върху им тяхното беззаконие, и с тяхното злодейство ще ги изтреби, ще ги изтреби Господ, Бог наш.



Това мнение е било редактирано от Bender на 07-01-2018, 20:06
PM
Top
saruman
Публикувано на: 05-12-2017, 23:35
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1844
Регистриран на: 21.07.10



QUOTE (Bender @ 05-12-2017, 23:30)
Ти пък, това професори, умни хора са го писали :Д

Чудя се дали няма общо с паралелизъм на ниво инструкции в pipeline-a на процесора, но не съм толкова навътре в нещата

ЪЪ,тъп съм и аз,отказвам се,време е Шелдън да ни образова малко от позицията на ПеХаДе в Тесла Моторс icon_wink.gif


--------------------
http://www.wefunkradio.com/radio/

Remember,remember the fifth of November
PMEmail Poster
Top
martinradev
Публикувано на: 06-12-2017, 00:05
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 253
Регистриран на: 06.08.14



QUOTE (Bender @ 05-12-2017, 23:30)
QUOTE (martinradev @ 06-12-2017, 00:18)
CODE


const uint64_t result = s0 + s1;

... modify s[0] and s[1]

return result



vs

CODE


... modify s[0] and s[1]

return s[0] + s[1]


I wonder.

Няма какво да се чудиш - това е генератор на псевдо случайни числа. Представи си че оригинала започва с 1вото число от редицата, докато съкратената версия - от второто, но в крайна сметка редицата е една и съща. Та затова не мога да си обясня тия копия и константи дето на практика са ненужни (или поне така изглежда)

QUOTE
Ааа да,аз чак сега забелязах,че навсякъде копия,мноо бъгав тоя код Бендере,къде си се завирал пак по кофите icon_lol.gif
Ти пък, това професори, умни хора са го писали :Д

Чудя се дали няма общо с паралелизъм на ниво инструкции в pipeline-a на процесора, но не съм толкова навътре в нещата

Това е единствената разлика в двата кода. Какво друго очакваш?
PMEmail Poster
Top
Дон Реба
Публикувано на: 06-12-2017, 07:34
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 6432
Регистриран на: 11.11.06



според мен просто е преписан папирус някакъв, не че има голяма разлика. втория вариант дори ми изглежда по-читав, защото ако с1 и с0 не са много случайни в началото, първо разджурква, после връща резултата, докато първия връща директно, демек първото извикване след инит ще е по-малко случайно при първия вариант
PM
Top
gat3way
Публикувано на: 06-12-2017, 10:16
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2322
Регистриран на: 22.06.12



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

Кеширането на глобалната променлива в локална има смисъл поради две причини - първата е че така компилаторът има по-голяма вероятност да държи стойността й в регистър вместо да я презарежда от/записва в паметта всеки път когато я достъпваш. А достъпа до регистрите е с порядъци по-бърз от достъпа до паметта, дори ако става въпрос за нещо в кеша.

Втората причина е че по презюмпция паметта алокирана в стека е "гореща памет", т.е стек фрейма е достъпван много наскоро (при викане на функцията) и с много голяма вероятност е в кеша. Тя s въпреки че е глобална променлива все пак се достъпва често и файдата от цялата работа е почти никаква в случая обаче.
PMEmail Poster
Top
kierenski
Публикувано на: 06-12-2017, 10:43
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 233
Регистриран на: 10.01.16



QUOTE (gat3way @ 06-12-2017, 10:16)
Микрооптимизации са това, а дали има смисъл зависи от контекста (целия сорс ме мързи да го гледам, разсъждавам върху примера само).

Кеширането на глобалната променлива в локална има смисъл поради две причини - първата е че така компилаторът има по-голяма вероятност да държи стойността й в регистър вместо да я презарежда от/записва в паметта всеки път когато я достъпваш. А достъпа до регистрите е с порядъци по-бърз от достъпа до паметта, дори ако става въпрос за нещо в кеша.

Втората причина е че по презюмпция паметта алокирана в стека е "гореща памет", т.е стек фрейма е достъпван много наскоро (при викане на функцията) и с много голяма вероятност е в кеша. Тя s въпреки че е глобална променлива все пак се достъпва често и файдата от цялата работа е почти никаква в случая обаче.

+1
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0