NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.
Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.
Organizace Apache Software Foundation (ASF) vydala verzi 31 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.
Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.
Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).
Byla vydána nová verze 26.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Bian-May. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Na akci Made by Google 2026 (YouTube) byla oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda
… více »
Chvili mi trvalo nez mi doslo co se mysli pod "jak kdyby to vypadlo z google translate". Ale std::programatorstina je spravna odpoved, BTW ja tak normalne mluvim a nejsem zdaleka sam 
Zrovna ten syntakticky strom je napsan "po domacku" a i tak se projevovaly problemy s alokatorem. Alokatoru se proste nezbavite
Nemyslim ze by "vlastni STL" prineslo nejake zlepseni navic.
Vsechny zminene performance problemy jsou nejake specialni pripady, "vlastni STL" by mela akorat jine specialni pripady.
Nemyslim ze by "vlastni STL" prineslo nejake zlepseni navic.no, nemyslel jsem prepisovat cele STL (dokazi si predstavit hezci knihovnu) ...ale spis jsem myslel naimplementovat jednotlive datove struktury presne na miru problemu... ja treba z duvodu zlobiveho alokatoru mam jednu implementaci RB-stromu, kde kazdy RB strom si na zacatku naalokuje velky kus pameti a postupne si z nej bere uzly... a jelikoz nepotrebuji odebirat uzly ze stromu... staci mi na konci prace udelat jedno velke free().
"vlastni STL" by mela akorat jine specialni pripady.ale zase jsou to specialni pripady, ktere muzete lip podchytit...
Kdyz se jenom pridava, je to o hodne jednodussi nez kdyz se casto strida pridavani/odebirani (muj pripad), protoze pak vznikaji diry v alokovane pameti kam je potreba nacpat nove alokovane veci.
Pro ruzne kontejnery (at jiz STL nebo kontejnery ruznych jinych jazyku) je dulezita rozumna predikce jak moc se jeste bude vkladat a jaka rezerva se udela, kdyz pri nejakem add() misto dojde. Tady jdou dva pozadavky proti sobe: minimalizovat pocet alokaci a minimalizovat velikost spotrebovane pameti.
Mnoho STL kontejneru ma metodu reserve, a muzete si porucit predalokovani pameti. Jenze to moc nepomuze kdyz je hodne instanci malych struktur.
ale zase jsou to specialni pripady, ktere muzete lip podchytit...
Myslim ze to vyjde uplne nastejno. Aby vlastni specializovane struktury fungovaly lepe, musite mit celkem striktni omezujici podmniky, jinak specialni pripady budou proste jine.
Kdyz se jenom pridava, je to o hodne jednodussi nez kdyz se casto strida pridavani/odebirani (muj pripad), protoze pak vznikaji diry v alokovane pameti kam je potreba nacpat nove alokovane veci.to nebyla podstata toho, co jsem chtel rict... jde o to, ze pak budete mit kod pod vetsi kontrolou a nemusite pouzivat ,,general purpose'' reseni, ktera musi delat kompromisy a muzete pouzit ruzne vychytavky...
Prave na tenhle zpusob je navrzen pythoni alokator (proto mel takovy uspech i kdyz byl pouzit jen v nekolika "hotspot" strukturach). Neni vubec problem uvolnit pamet po objektu, spise efektivne najit misto pro novy objekt. Diry v alokovane pameti budou vznikat at delate co delate.
Neni vubec problem uvolnit pamet po objektu, spise efektivne najit misto pro novy objekt.tak toto je u rady GC vyreseno velice rychle... ;-]
Diry v alokovane pameti budou vznikat at delate co delateprave proto jsem zminoval pouziti GC. bezne alokatory maji jeste docela rezii s udrzovani seznamu uvolnenych objektu... navic pri pouziti compacting GC odpada problem s fragmentaci dat...
Compacting GC byla prvni vec, ktera me pri cteni te zoufale historky napadla... Alokace je, ehm, docela rychla a odpadaji problemy s fragmentaci.
Docela by me zajimalo, jak by si vedl.
Nejvetsi problem by byl s tou "compacting" casti. Tabulky referenci by se daly upravit, aby s presunem pocitaly, u AST stromu je to absolutne vylouceno. Na druhe strane je mozne ztratit dost casu updatovanim pointru po presunu a indirekci navic. Jak by to dopadlo v tomhle pripade by me taky zajimalo, ale to se asi nedovim.
Hmm je zvlastni ze si wokna vedly tak spatne. Pokud si dobre pamatuju nejaky prednasku tak NT kernel ma mnohem bohatejsi API. Dokonce si od nej muzete vytorit ruzne alokatory pro ruzne velke objekty a on pak prideluje pamet z ruznych poolu. Cele to ma byt efektivnejsi nez alokace pameti na Unixu. Kdovi jestli se tahle super featura NT kernelu jeste dneska pouziva.
Kdysi jsem řešil podobný problém a v Microsoftu mi poradili řešení pomocí funkce _set_sbh_threshold() a ono to zafungovalo.
Diky za tip, vyzkousime to. Z popisu funkce _set_sbh_threshold zatim nevim, jestli to taky plati na operator new (tipuju ze nejspis jo).
Tak jsem to vyzkousel. Velikosti jsem volil 70, 256, 504, 1016 (posledni byla default do win 2000, pak se to vyplo nastavenim na nulu). Jednou v kombinaci s LFH, pak bez LFH. Vysledkem je, ze v uvadenych pripadech to bylo vzdy o 20-50% horsi nez jenom LFH.
Pokud vim, LFH se chova hodne podobne jak ten pythoni alokator, tj. zdruzuje po blocich podobne velikosti, tady je celkem pekny schema: http://www.i.u-tokyo.ac.jp/edu/training/ss/lecture/new-documents/Lectures/16-UserModeHeap/UserModeHeapManager.ppt
Tiskni
Sdílej: