<bgdev />free

Вход Регистрация

Антипатърни, или как да фалираме по учебник
1

0 1 2 3 4 5
#51057 (ツ) johnfound
Последно редактирано на 24.11.2021 от johnfound, видяно: 902 пъти.
Rabin

Да позная от първия път - не ползваш повече от 1 ядро, нали?

Това пък какво общо има? Ядрата са си ядра – нямат нищо общо със разрядността на машината. Използвам толкова, колкото са необходими за свършване на задачата. Още повече, че разпределянето на ядрата е повече задача на операционната система, а не на програмата.

#51058 (ツ) Rabin
Създадено на 24.11.2021, видяно: 896 пъти.
johnfound
Rabin

Да позная от първия път - не ползваш повече от 1 ядро, нали?

Това пък какво общо има? Ядрата са си ядра – нямат нищо общо със разрядността на машината. Използвам толкова, колкото са необходими за свършване на задачата.

Тъй си и знаех! Не ползваш и 1/10 от хардуера. И ми разправяш за оптималност.

#51059 (ツ) johnfound
Последно редактирано на 24.11.2021 от johnfound, видяно: 894 пъти.
Rabin
johnfound
Rabin

Да позная от първия път - не ползваш повече от 1 ядро, нали?

Това пък какво общо има? Ядрата са си ядра – нямат нищо общо със разрядността на машината. Използвам толкова, колкото са необходими за свършване на задачата.

Тъй си и знаех! Не ползваш и 1/10 от хардуера. И ми разправяш за оптималност.

В смисъл? Какво точно "си си знаел"? И откъде го измисли това за 1/10?

#51060 (ツ) Rabin
Последно редактирано на 24.11.2021 от Rabin, видяно: 891 пъти.

В смисъл? Какво точно "си си знаел"?

Че пишеш еднопоточни, 32 битови, процедурни WEB приложения.

И откъде го измисли това за 1/10?

Ползваш част от разрядността на регистрите ( новите специализирани са 128 битови, ако не и нагоре), ползваш 1 ядро, ползваш само стандартните инструкции от преди 20 години...

У казармения форум ти давах снимки, как наистина най-бавното нещо дето съм докосвал, пхп, даде по-добри времена на отговор, от твоя форум.

У "кървавия" ентърпрайз им кажи, че за всеки нов процесор и ОС тряя си пренаписват всичкия софт наново.

Искам да им видя ченетата после! ;-)

Жони, не съм дошъл да се заяждам с тебе, ама разрешаваш ли да кръстя анти-патърн на твое име?

#51062 (ツ) johnfound
Създадено на 24.11.2021, видяно: 886 пъти.
Rabin

Че пишеш еднопоточни, 32 битови, процедурни WEB приложения.

Естествено, че не. AsmBB е многопоточно приложение. Естествено, Рабине, не ставай смешен!

Rabin

Ползваш част от разрядността на регистрите ( новите специализирани са 128 битови, ако не и нагоре), ползваш 1 ядро, ползваш само стандартните инструкции от преди 20 години...

Рабине, 32 битов код съвсем не означава, че не можеш да използваш 128 битови регистри. MMX, SSE, AVX са все технологии които правят именно това. Не ти трябва 64 битов код за тази цел.

#51063 (ツ) Rabin
Създадено на 24.11.2021, видяно: 884 пъти.

Естествено, че не. AsmBB е многопоточно приложение. Естествено, Рабине, не ставай смешен!

Рискуваш да ме навиеш да ти погледна кода, ама после ще отворя тема да те обсъдим.

Рабине, 32 битов код съвсем не означава, че не можеш да използваш 128 битови регистри. MMX, SSE, AVX са все технологии които правят именно това. Не ти трябва 64 битов код за тази цел.

И ти, естествено, НЕ ги ползваш тия регистри.

#51065 (ツ) johnfound
Създадено на 24.11.2021, видяно: 880 пъти.
Rabin

И ти, естествено, НЕ ги ползваш тия регистри.

Естествено ги използвам и широко. Когато това е нужно. Разбери, че моят код винаги е написан според това, което този код прави. Използването на нещо, само защото можеш или защото е модерно е най-голямата глупост в програмирането.

#51067 (ツ) Rabin
Последно редактирано на 24.11.2021 от Rabin, видяно: 878 пъти.
johnfound
Rabin

И ти, естествено, НЕ ги ползваш тия регистри.

Естествено ги използвам и широко. Когато това е нужно. Разбери, че моят код винаги е написан според това, което този код прави. Използването на нещо, само защото можеш или защото е модерно е най-голямата глупост в програмирането.

Как си представяш ентърпрайз система с банка, пенс. осигиряване, застраховане, и още 2 неща имаха, всичко в едно.

Туй на Асемблер, хардуерно обвързано. Те хората ми подаряват хардуер, и ми се смеят тука на клошарлъка, ти и него не оползотворяваш.

Закво са 64 битоеи регистри, като нямало сми от тях, и само бавят?

#51069 (ツ) johnfound
Създадено на 24.11.2021, видяно: 875 пъти.
Rabin

Закво са 64 битоеи регистри, като нямало сми от тях, и само бавят?

Обяснявам – 64 битовите регистри са ОК, когато обработваш 64 битови числа. Ако обработваш 32 битови, 64 битовият регистър не можеш да го разделиш на 2 и да обработиш 2 32 битови числа наведнъж. (А MMX регистъра можеш).

Лошото на 64 битовият регистър е, когато трябва да го запишеш в паметта. Докато ти записваш 1 число, аз ще запиша 2 32 битови числа.

А забележи – в 99% от случаите, 32 битовите числа са достатъчни за нуждите на програмата. Което не може да се каже за 8 битовите или 16 битовите процесори. Там в 99% от случаите разрядноста не стига за нуждите на програмата.

Тоест, прехода от 8 към 16 и после към 32 битова архитектура е напълно оправдан. А от 32 битова към 64 битова архитектура е вече много спорен. Лично според мене това го направиха само от маркетингови съображения.

Да, има отделни задачи, с които 64 битова програма ще се справи по-бързо. Но това са именно отделни частни случаи.

#51071 (ツ) Rabin
Създадено на 24.11.2021, видяно: 871 пъти.

Може да си прав Жонка, добре че е жаварникът, Господ здраве да им дава, както те ми я дават.

С един ред у докера ми иде готова сетъпната система, многозадачна, многопоточна, и тествана. Турят те седнал на магарето, само тряя да му цъкаш и да си клатиш краката.

Тизе връви пешком, че по-оптимално и евтино. Няма проблем. Мисля в момента как да кръстя антипатърн на твое име, квадратно колело е близо, ама ти далеч го надхвърляш.

#51072 (ツ) Дон Реба
Създадено на 24.11.2021, видяно: 867 пъти.

тука да се намеся малко, от как излязоха 64 битовите процесори, понятието "разрядност" леко е подменено. едно време това беше големината на аритметичните регистри,акцента беше върху аритметиката. днес под разрядност се разбира адресната аритметика, по днешните критерии 6800 щеше да е 16 битов. при нас от около 10 години изобщо нямаме 32 битови билдове, но въпреки това в препоръките за писане накод е подчертано че дефолт типове за аритметика са 32 битов инт и 32 битов флоат. причината - трансфера с паметта е основния спиращ фактор днес,а не изчисленията.

#51074 (ツ) Дон Реба
Създадено на 24.11.2021, видяно: 865 пъти.
johnfound

Още повече, че разпределянето на ядрата е повече задача на операционната система, а не на програмата.

разпределението между различни процеси, но не и разпределението в твоя код. има адна библиотека, openMP които мързеливите програмисти ползват зада постигнат многозадачност, обаче не става така, за да стане както трябва, програмиста има изцяло грижата. утилизирането на процесора е едно от сериозните предизвикателства днес, ако се прави аматьорски можеш да получиш дори забавяне спрямо еднонишков код

#51075 (ツ) johnfound
Създадено на 24.11.2021, видяно: 861 пъти.
Дон Реба
johnfound

Още повече, че разпределянето на ядрата е повече задача на операционната система, а не на програмата.

разпределението между различни процеси, но не и разпределението в твоя код. има адна библиотека, openMP които мързеливите програмисти ползват зада постигнат многозадачност, обаче не става така, за да стане както трябва, програмиста има изцяло грижата. утилизирането на процесора е едно от сериозните предизвикателства днес, ако се прави аматьорски можеш да получиш дори забавяне спрямо еднонишков код

Естествено, със всичко това съм абсолютно съгласен.

#51083 (ツ) |
Създадено на 24.11.2021, видяно: 844 пъти.

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

А метода на openmp с прагмите е толкова невероятно дървен, че не е случайно, че повечето от хората в комитета му са германци.

#51208 (ツ) Rabin
Последно редактирано на 25.11.2021 от Rabin, видяно: 807 пъти.

Жонка, измислих как да се казва антипатърна ти.

ТРИЪГЪЛНО КОЛЕЛО.

Ся се светнах, че сме тъпци да ползваме 64 битови ОС, многоядрени машини, пък за RISC да не говорим.

Как се казваше оня емулатор на изгнилите, оптимизирано, лачено, и пръц айде през емулация, дето бави в пъти!

Имам един таван пълен с 32 битови машини, кат минаваш по Тученско ела да ти подаря няколко.

Да ти дам една идея - ако пишеш на машинен код ще е още по-оптимално (майтапче).

Гледам по 7 бона чисти заплати за жавари, вие като сте толко оптимални поне по дваесе бона тряя да ви кихат на месец.

rofl :-P ;-)

#51465 (ツ) Rabin
Създадено на 26.11.2021, видяно: 770 пъти.

Жони, поне съм на темата в момента, да ти кажа за кво те гнявя.

Предварителна оптимизация, има такъв антипатърн, да изхабиш сума време да оптимизираш за 100$ хардуер, пък да изхарчиш 1000 за което.

Мене са ме оставяли да си чупя главата като жуняк, да оптимизирам байтове, че да ми доде акъла. На едно интервю дори ме отрязаха за рефлекциите, като казах дека са бавни.

Все повече заобичвам кървавия ентърпрайз. Казваш на Гана кво ти трябва и зареждаш докера. Да се оправят!

#51470 (ツ) johnfound
Създадено на 26.11.2021, видяно: 764 пъти.
Rabin

Предварителна оптимизация, има такъв антипатърн,

"Преждевременна оптимизация" е термина. Дефиниран е от Доналд Кнут.

Проблема с преждевременната оптимизация е, че като кажеш "преждевременна" се подразбира, че ще дойде време, когато оптимизацията няма да е преждевременна и тогава ще се направи.

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

И това също е антипатърн. Казва се: "Никога не оптимизираме и се оправдаваме с Кнут".

#51499 (ツ) Rabin
Последно редактирано на 27.11.2021 от Rabin, видяно: 736 пъти.
johnfound
Rabin

Предварителна оптимизация, има такъв антипатърн,

"Преждевременна оптимизация" е термина. Дефиниран е от Доналд Кнут.

Точно, моя грешка. Триъгълното ти колело ме надъхва да седна да преговоря цялата материя. Чак ся осъзнавам каква брилянтна наука са ми наливали с фунията, и аз като жуняк инстинктивно си мисля кви са тез тъпни.

Мотивираш ме Жони, като гледам как се мъчиш като грешен дявол, и като виждам резултата, и още повече обиквам кървавия ентърпрайз.

Нито ти е лесно скалируема системата, нито лесно четим кодец, ни да го дебъгваш, ни мераклии за Асемблер, ни ще работи на RISC без пренаписване, ни имаш някакво heritage (имам предвид познати framework, друг като седне да каже "АХА, сетих се")... Сигур си питал тия с виртуалките - какви инструкции ви поддържа процесора. Щото моя код е компилиран за 8086 съвместим.

Антипатърн до антипатърн си насял, като чесъна в оранжерията.

Баш за оня Яначков се сетих покрай тебе, дето се забавлява с Visual Basic до атомния реактор.

#51512 (ツ) Major Obvious
Създадено на 27.11.2021, видяно: 727 пъти.

И все пак, за времето за което ти не успя да инсталираш шава форум, джонката написа асемблерски такъв от нулата.

#51514 (ツ) gat3way
Създадено на 27.11.2021, видяно: 725 пъти.

Жавата си е жава, рабиняка си е рабиняк.

0 1 2 3 4 5

Антипатърни, или как да фалираме по учебник
1

AsmBB v3.0 (check-in: a316dab8b98d07d9); SQLite v3.42.0 (check-in: 831d0fb2836b71c9);
©2016..2023 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE