Това пък какво общо има? Ядрата са си ядра – нямат нищо общо със разрядността на машината. Използвам толкова, колкото са необходими за свършване на задачата. Още повече, че разпределянето на ядрата е повече задача на операционната система, а не на програмата.
Rabin
Създадено на 24.11.2021, видяно: 1155 пъти. #51058
Тъй си и знаех! Не ползваш и 1/10 от хардуера. И ми разправяш за оптималност.
Да позная от първия път - не ползваш повече от 1 ядро, нали?
Това пък какво общо има? Ядрата са си ядра – нямат нищо общо със разрядността на машината. Използвам толкова, колкото са необходими за свършване на задачата.
Тъй си и знаех! Не ползваш и 1/10 от хардуера. И ми разправяш за оптималност.
В смисъл? Какво точно "си си знаел"? И откъде го измисли това за 1/10?
Rabin
Последно редактирано на 24.11.2021 от Rabin, видяно: 1150 пъти. #51060
В смисъл? Какво точно "си си знаел"?
Че пишеш еднопоточни, 32 битови, процедурни WEB приложения.
И откъде го измисли това за 1/10?
Ползваш част от разрядността на регистрите ( новите специализирани са 128 битови, ако не и нагоре), ползваш 1 ядро, ползваш само стандартните инструкции от преди 20 години...
У казармения форум ти давах снимки, как наистина най-бавното нещо дето съм докосвал, пхп, даде по-добри времена на отговор, от твоя форум.
У "кървавия" ентърпрайз им кажи, че за всеки нов процесор и ОС тряя си пренаписват всичкия софт наново.
Искам да им видя ченетата после!
Жони, не съм дошъл да се заяждам с тебе, ама разрешаваш ли да кръстя анти-патърн на твое име?
johnfound
Създадено на 24.11.2021, видяно: 1145 пъти. #51062
Че пишеш еднопоточни, 32 битови, процедурни WEB приложения.
Естествено, че не. AsmBB е многопоточно приложение. Естествено, Рабине, не ставай смешен!
Ползваш част от разрядността на регистрите ( новите специализирани са 128 битови, ако не и нагоре), ползваш 1 ядро, ползваш само стандартните инструкции от преди 20 години...
Рабине, 32 битов код съвсем не означава, че не можеш да използваш 128 битови регистри. MMX, SSE, AVX са все технологии които правят именно това. Не ти трябва 64 битов код за тази цел.
Rabin
Създадено на 24.11.2021, видяно: 1143 пъти. #51063
Естествено, че не. AsmBB е многопоточно приложение. Естествено, Рабине, не ставай смешен!
Рискуваш да ме навиеш да ти погледна кода, ама после ще отворя тема да те обсъдим.
Рабине, 32 битов код съвсем не означава, че не можеш да използваш 128 битови регистри. MMX, SSE, AVX са все технологии които правят именно това. Не ти трябва 64 битов код за тази цел.
И ти, естествено, НЕ ги ползваш тия регистри.
johnfound
Създадено на 24.11.2021, видяно: 1139 пъти. #51065
И ти, естествено, НЕ ги ползваш тия регистри.
Естествено ги използвам и широко. Когато това е нужно. Разбери, че моят код винаги е написан според това, което този код прави. Използването на нещо, само защото можеш или защото е модерно е най-голямата глупост в програмирането.
Rabin
Последно редактирано на 24.11.2021 от Rabin, видяно: 1137 пъти. #51067
И ти, естествено, НЕ ги ползваш тия регистри.
Естествено ги използвам и широко. Когато това е нужно. Разбери, че моят код винаги е написан според това, което този код прави. Използването на нещо, само защото можеш или защото е модерно е най-голямата глупост в програмирането.
Как си представяш ентърпрайз система с банка, пенс. осигиряване, застраховане, и още 2 неща имаха, всичко в едно.
Туй на Асемблер, хардуерно обвързано. Те хората ми подаряват хардуер, и ми се смеят тука на клошарлъка, ти и него не оползотворяваш.
Закво са 64 битоеи регистри, като нямало сми от тях, и само бавят?
johnfound
Създадено на 24.11.2021, видяно: 1134 пъти. #51069
Закво са 64 битоеи регистри, като нямало сми от тях, и само бавят?
Обяснявам – 64 битовите регистри са ОК, когато обработваш 64 битови числа. Ако обработваш 32 битови, 64 битовият регистър не можеш да го разделиш на 2 и да обработиш 2 32 битови числа наведнъж. (А MMX регистъра можеш).
Лошото на 64 битовият регистър е, когато трябва да го запишеш в паметта. Докато ти записваш 1 число, аз ще запиша 2 32 битови числа.
А забележи – в 99% от случаите, 32 битовите числа са достатъчни за нуждите на програмата. Което не може да се каже за 8 битовите или 16 битовите процесори. Там в 99% от случаите разрядноста не стига за нуждите на програмата.
Тоест, прехода от 8 към 16 и после към 32 битова архитектура е напълно оправдан. А от 32 битова към 64 битова архитектура е вече много спорен. Лично според мене това го направиха само от маркетингови съображения.
Да, има отделни задачи, с които 64 битова програма ще се справи по-бързо. Но това са именно отделни частни случаи.
Rabin
Създадено на 24.11.2021, видяно: 1130 пъти. #51071
Може да си прав Жонка, добре че е жаварникът, Господ здраве да им дава, както те ми я дават.
С един ред у докера ми иде готова сетъпната система, многозадачна, многопоточна, и тествана. Турят те седнал на магарето, само тряя да му цъкаш и да си клатиш краката.
Тизе връви пешком, че по-оптимално и евтино. Няма проблем. Мисля в момента как да кръстя антипатърн на твое име, квадратно колело е близо, ама ти далеч го надхвърляш.
ДонРеба
Създадено на 24.11.2021, видяно: 1126 пъти. #51072
тука да се намеся малко, от как излязоха 64 битовите процесори, понятието "разрядност" леко е подменено. едно време това беше големината на аритметичните регистри,акцента беше върху аритметиката. днес под разрядност се разбира адресната аритметика, по днешните критерии 6800 щеше да е 16 битов. при нас от около 10 години изобщо нямаме 32 битови билдове, но въпреки това в препоръките за писане накод е подчертано че дефолт типове за аритметика са 32 битов инт и 32 битов флоат. причината - трансфера с паметта е основния спиращ фактор днес,а не изчисленията.
ДонРеба
Създадено на 24.11.2021, видяно: 1124 пъти. #51074
Още повече, че разпределянето на ядрата е повече задача на операционната система, а не на програмата.
разпределението между различни процеси, но не и разпределението в твоя код. има адна библиотека, openMP които мързеливите програмисти ползват зада постигнат многозадачност, обаче не става така, за да стане както трябва, програмиста има изцяло грижата. утилизирането на процесора е едно от сериозните предизвикателства днес, ако се прави аматьорски можеш да получиш дори забавяне спрямо еднонишков код
johnfound
Създадено на 24.11.2021, видяно: 1120 пъти. #51075
Още повече, че разпределянето на ядрата е повече задача на операционната система, а не на програмата.
разпределението между различни процеси, но не и разпределението в твоя код. има адна библиотека, openMP които мързеливите програмисти ползват зада постигнат многозадачност, обаче не става така, за да стане както трябва, програмиста има изцяло грижата. утилизирането на процесора е едно от сериозните предизвикателства днес, ако се прави аматьорски можеш да получиш дори забавяне спрямо еднонишков код
Естествено, със всичко това съм абсолютно съгласен.
|
Създадено на 24.11.2021, видяно: 1103 пъти. #51083
Мисля, че съм го казвал и друг път, но измислянето на език, който да позволява лесното използване на различните видове паралелизъм (ядра, SIMD инструкции и т.н.) ще бъде следващия голям хит.
А метода на openmp с прагмите е толкова невероятно дървен, че не е случайно, че повечето от хората в комитета му са германци.
Rabin
Последно редактирано на 25.11.2021 от Rabin, видяно: 1066 пъти. #51208
Жонка, измислих как да се казва антипатърна ти.
ТРИЪГЪЛНО КОЛЕЛО.
Ся се светнах, че сме тъпци да ползваме 64 битови ОС, многоядрени машини, пък за RISC да не говорим.
Как се казваше оня емулатор на изгнилите, оптимизирано, лачено, и пръц айде през емулация, дето бави в пъти!
Имам един таван пълен с 32 битови машини, кат минаваш по Тученско ела да ти подаря няколко.
Да ти дам една идея - ако пишеш на машинен код ще е още по-оптимално (майтапче).
Гледам по 7 бона чисти заплати за жавари, вие като сте толко оптимални поне по дваесе бона тряя да ви кихат на месец.
Rabin
Създадено на 26.11.2021, видяно: 1029 пъти. #51465
Жони, поне съм на темата в момента, да ти кажа за кво те гнявя.
Предварителна оптимизация, има такъв антипатърн, да изхабиш сума време да оптимизираш за 100$ хардуер, пък да изхарчиш 1000 за което.
Мене са ме оставяли да си чупя главата като жуняк, да оптимизирам байтове, че да ми доде акъла. На едно интервю дори ме отрязаха за рефлекциите, като казах дека са бавни.
Все повече заобичвам кървавия ентърпрайз. Казваш на Гана кво ти трябва и зареждаш докера. Да се оправят!
johnfound
Създадено на 26.11.2021, видяно: 1023 пъти. #51470
Предварителна оптимизация, има такъв антипатърн,
"Преждевременна оптимизация" е термина. Дефиниран е от Доналд Кнут.
Проблема с преждевременната оптимизация е, че като кажеш "преждевременна" се подразбира, че ще дойде време, когато оптимизацията няма да е преждевременна и тогава ще се направи.
Но вкарвайки това в религиозните анали, се получава така, че времето за оптимизация никога не идва.
И това също е антипатърн. Казва се: "Никога не оптимизираме и се оправдаваме с Кнут".
Rabin
Последно редактирано на 27.11.2021 от Rabin, видяно: 995 пъти. #51499
Предварителна оптимизация, има такъв антипатърн,
"Преждевременна оптимизация" е термина. Дефиниран е от Доналд Кнут.
Точно, моя грешка.
Триъгълното ти колело ме надъхва да седна да преговоря цялата материя. Чак ся осъзнавам каква брилянтна наука са ми наливали с фунията, и аз като жуняк инстинктивно си мисля кви са тез тъпни.
Мотивираш ме Жони, като гледам как се мъчиш като грешен дявол, и като виждам резултата, и още повече обиквам кървавия ентърпрайз.
Нито ти е лесно скалируема системата, нито лесно четим кодец, ни да го дебъгваш, ни мераклии за Асемблер, ни ще работи на RISC без пренаписване, ни имаш някакво heritage (имам предвид познати framework, друг като седне да каже "АХА, сетих се")...
Сигур си питал тия с виртуалките - какви инструкции ви поддържа процесора. Щото моя код е компилиран за 8086 съвместим.
Антипатърн до антипатърн си насял, като чесъна в оранжерията.
Баш за оня Яначков се сетих покрай тебе, дето се забавлява с Visual Basic до атомния реактор.