Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Admin

ffredyk

Majitel
  • Příspěvků

    3 104
  • Registrován

  • Aktivní

  • Vítězných dnů

    11

ffredyk last won the day on Srpen 3

ffredyk had the most liked content!

Reputace

59 Jethro

1 Follower

About ffredyk

  • Moto
    Über Bagr!
  • Narozeniny 25.4.1994

Kontaktní údaje

  • Web
    http://ffredyk.cz
  • Skype
    ffredyk

Návštěvníci

1 296 profile views
  1. Thread pro postování vtipných meme obrázků a videí (Aneb jak nahnat počet příspěvků ) Pravidlo je jednoduché: Každý příspěvek musí obsahovat nějaký druh meme. EDIT: Druhé pravidlo: nehnat posty za sebou. Počkejte až další post napíše někdo jinej, nebo přidejte meme do předchozího příspěvku. A nebojte se jich klidně přidat i více najednou!!
  2. Jestli se chceš něco naučit, tak musíš začít řešit věci sám Scydo ti napsal kde je chyba a jak ji vyřešit ( dokonce doslovně) Ty ho teď žádáš o další jeho čas, který by mohl využít produktivněji, k tomu aby ti naservíroval hotovou opravu. Která tě stejně nic nenaučí
  3. https://pawno.cz/index.php?/problém-xy/ Co se týče jakékoliv informace na HDD úrovni, podle které by se dalo zjistit cokoliv o tom po čem jdeš ty, to umí jen HDD pro servery s technologiemi navíc, které jsou pro logging určeny.. Sám mám trochu pochybnosti že ani z HDD-level logů nezjistis nic podstatného. Spíš bych pátral po stopách jiného HW v notasu, např jiný HDD - vždy je šance že to dotyčný mohl klonovat na stejném HW
  4. V tomto právěže nejde o krácení řádků high-level kódu, nýbrž právě o zkrácení počtu instrukcí procesoru (assembler) a vyhnutí se instrukcím jenž přeskakují v kódu (jump), které jsou pro zpracování nejnáročnější
  5. Nedávno jsem narazil na zajímavou problematiku, která se využívá při stavbě time-sensitive prostředí a šifrovacích algoritmů. Jde o tzv. branchless programming - tedy programování bez větví. Toto téma je zajímavé hlavně pro ty z vás, jenž zaujme malá zajímavost o programování. V reálné praxi se tyto "triky" využívají jen pro šifrovací funkce a při programování grafických shaderů. Moderní kompilátory high-level jazyků jsou výbornými optimizéry - snaží se kompilovat co nejjednodušeji zchroupatelný kód pro procesory zvolené architektury. V praxi to znamená, že jsou schopny generický kód s podmínkami relativně dobře zhodnotit a podmínky rovnou přeložit jako jejich branchless verzi. Toto se ovšem týká jen jednodušších řešení, pro které branchless verze má nějaký smysl. Branchless programming není něco, co se musí, nebo mělo by se, striktně dodržovat - ba naopak, kompilátory ve většině případů dokáží nejlépe určit, zda-li je překládaný kód výkonnější v branchless verzi a rovnou jej tak přeloží. Při programování platí jednoduché pravidlo - programovat hlavně čitelně, optimalizovat až při potřebě rychlejšího výkonu. A před samotnou optimalizací (a případným branchless kodingem) zvážit, zda-li se zapsaný algoritmus nedá vyřešit efektivnějším způsobem. Branch (větev, blok, sekce) Kód se jakoukoliv podmínkou rozděluje a větví - každé této oddělené části, či bloku kódu se říká branch (neboli větev). if(something == 10) { //Branch A } else { //Branch B } Vzhledem ke způsobu funkci procesoru je každý branch zbytečná zátěž navíc - toto platí několikanásobně u GPU výpočtů, protože procesorová pipeline spouští několik instrukcí současně, tímto se mohou spouštět obě cesty podmínky zároveň a po vyhodnocení podmínky se všechny neplatné výpočty (branch, pro kterou není splněna podmínka) prostě zahodí. Aneb kompilátor vytvoří instrukce pro zhodnocení podmínky a v případě nepravdy "přeskočí" na jiný než následující řádek v kódu - toto je operace, která je pro procesor zbytečně vytěžující. Branchless v praxi Představme si následující funkci min() - která zjistí, které ze dvou předaných čísel je menší než druhé: function min(int a, int b) { if(a < b) return a; //Branch A else return b; //Branch B } A nyní její branchless verzi: function min(int a, int b) { return a*(a<b)+b*(b<=a); } Je trochu nečitelná, ale víceméně jednoduchá. Dle většiny programovacích jazyků, je tento zápis vyhodnocen například takto: a = 4; b = 6; return (4*true) + (6*false) = return (4*1) + (6*0) = return 4 + 0 = return 4 Nejen, že jsme kompletně vynechali podmínku v kódu, ale také zkrátili funkci ze 4 řádků na jeden a celou operaci provedli jen matematickým výpočtem. Tato funkce je velmi jednoduchá operace, nicméně její branchless verze se na první pohled může zdát poměrně nečitelná - proto se překlad do těchto branchless funkcí nechává více-méně na kompilátorech, díky kterým můžeme psát čitelný kód a i přesto nám jej kompilátor přeloží v optimalizované verzi. S každou přibývající složitostí a komplexností je branchless kód nečitelnější a zamotanější. Například funkce pro přepis znaků řetězce na velká písmena: function toUpper(string text) { for(int i=0; i<text.length; i++) { text[i] -= 32 * (text[i] >= 97 && text[i] <= 122); } return text; } //97 = 'a' //122 = 'z' //32 = 'Z' - 'a' offset Závěr I přesto, že toto není návod, tak doufám, že jsem vám předal alespoň nějakou zajímavou informaci. Pokud se mi povedlo vás zaháčkovat a jste hladoví po dalších informacích, tak vám nabídnu další zdroje, ze kterých jsem čerpal při sepisování tohoto topicu. Branchless programming je zajímavá technika - zřídka kdy využitelná při běžné praxi, nicméně způsobů jak vyčarovat branchless verzi složitých funkcí, je nepřeberné kvantum. Další zdroje: https://stackoverflow.com/questions/6133322/what-does-a-branchless-if-in-c-look-like https://hbfs.wordpress.com/2008/08/05/branchless-equivalents-of-simple-functions/ https://stackoverflow.com/questions/31897718/branchless-conditionals-on-integers-fast-but-can-they-be-made-faster https://stackoverflow.com/questions/32107088/how-can-i-make-branchless-code
  6. @Zahradnik @D4n09 @mawerick Řešíte offtopic kluci držte se tématu prosím
  7. What else.. 

    1. Woody

      Woody

      now what

    2. Hip
    3. Lukasz

      Lukasz

      Všiml jsem si, že Woodymu chybí titul moderátor

  8. Posledních 7 dní moderátoři a administrátoři usilovně pracovali na přestavbě struktur sekcí. Staré kategorie a sekce byly více-méně vloženy kompaktněji do sebe a byly vystaveny i sekce nové. Práce ještě není dokončena, chybí ještě několik sekcí, které jsou prozatím skryty dokud moderátoři nerozřadí příspěvky do nových sekcí. V tuto chvíli se to týká ještě kolem 20k příspěvků (které prozatím nejsou dostupné). Proto prosím, pokud se toto týká některého z vašich příspěvků, mějte strpení. Celkové změny se držely schématu - návrhu, který je umístěný na trellu Pawno_New_Scheme.pdf V průběhu dalších několika týdnů se budou nové sekce ještě kosmeticky upravovat a s největší pravděpodobností postavíme ještě další nové podsekce pro zde ještě nevídaná témata. Pokud máte nápady nebo návrhy na další úpravy, podělte se s námi o ně. Díky za trpělivost při této delší odstávce. Já nicméně věřím, že to stálo za to a změna, kterou tato přestavba přinesla je příjemným krokem vpřed vstříc novému nastartování tohoto fóra Děkuji hlavně i našim moderátorům, kteří si s touto mravenčí prací musí již rvát vlasy, a proto prosím i vy jako členové jim poděkujte za jejich odvedenou otročinu
  9. Frekvence má na píču, protože má dvě odlišný RAMky, který se mezi sebou nemají rády, jeden z největších bottlenecků Podle mě budou mít jiné časování i výchozí frekvence a MB se snaží najít medián
  10. Ta ochrana kolem spawnu byla myšlena jako zóna 1000x1000 obsahující město s "pozemky" s residencí, které by bylo dostupné hráčům. Detaily lze vždy upravit :) pokud vás napadá něco jiného a zajímavého, tak pojďte diskutovat :D
  11. Co se týče minecraftu: Napadlo mě udělat něco jako 2B2T, ale CZ/SK variantu s tím, že prvních tisíc bloků kolem spawnu by bylo v protekci a starali by se o to vybraní buildeři :)
  12. Původní 4chan thread: https://boards.4channel.org/v/thread/504555958 Reddit thread: Původní spekulace tvrdily, že za leakem stojí VNN (Tyler McVicker) - není to pravda, dle jeho prohlášení:
  13. Všichni hráči Source her (CS:GO, CSS, TF2, Garry's mod apod) jsou nyní varováni komunitou. Byl leaknut celý zdrojový kód her TF2 a CS:GO. Haceři už teď našli v kódu díry a vynalezli způsob spuštění Remote Code Injection, kterým vám mohou nainstalovat do PC viry, ukrást účet na Steamu, smazat itemy v inventáři a další.. V NEJBLIŽŠÍCH DALŠÍCH DNECH NESPOUŠTĚJTE ŽÁDNÉ SOURCE HRY! HROZÍ RIZIKO NAPADENÍ! Zdroje: https://steamcommunity.com/app/440/discussions/0/2270320616957466159/
  14. Praktický každý programovací jazyk má nějaký vizuální výsledek
  15. Priority jsou nastavené tak, jak jsou za sebou poskládané cíle v topicu Pawno 2.0 Nicméně, již teď nám nic nebrání tomu, udělat si průzkum v komunitě, abychom věděli o jaké servery by mohl vůbec být zájem. Na všem důležitém se pracuje, změny nastanou již brzy, o to se vůbec není třeba bát Časově nám herní servery vycházejí tak na polovinu příštího měsíce. Na začátku května možná stihneme dokončit první dva cíle (Nový vzhled, nový směr). Do poloviny května už snad budeme mít jasno v tom, jaké herní servery se tu objeví
×
×
  • Create New...