Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
Rozšíření webového prohlížeče Urban VPN Proxy a další rozšíření od stejného vydavatele (např. 1ClickVPN Proxy, Urban Browser Guard či Urban Ad Blocker) od července 2025 skrytě zachytávají a odesílají celé konverzace uživatelů s AI nástroji (včetně ChatGPT, Claude, Gemini, Copilot aj.), a to nezávisle na tom, zda je VPN aktivní. Sběr probíhá bez možnosti jej uživatelsky vypnout a zahrnuje plný obsah dotazů a odpovědí, metadata relací i
… více »QStudio, tj. nástroj pro práci s SQL podporující více než 30 databází (MySQL, PostgreSQL, DuckDB, QuestDB, kdb+, …), se stal s vydáním verze 5.0 open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.
kdyz jsem to cetl, tak jsem spontalne myslel na gtree - ale musim priznat, ze to pouzivam pouze intuitivne a vubec jsme netusil ta tvrda fakta:
... No kdyz to neni prave orechove, tak pres to proste vlak nejede :). K tematu neporadim.
Možná by nebylo na škodu pokud se opravdu žádná optimální struktura nenajde naimplementovat kombinaci respektive vybrat tu která se nejlébe blíží výsledku a nějak zredukovat maximální počet prvků v podstruktuře například key hodnoty rozdělit do intervalů a pro tyto intervaly mít jednotlivé struktury už počet intervalů menší (v ideálním případě). Samozřejmě složitost řešení se tím neovlivní ale to jenom protože složitost se počítá pro nejhorší možný případ.
Třeba je to uplně scestný nápad a cesta do pekel ale možná ne...
Samozřejmě složitost řešení se tím neovlivní ale to jenom protože složitost se počítá pro nejhorší možný případ.takto to samozrejme resi teoretici. v praxi je to se slozitosti vsechno mnohem slozitejsi...
To programujete pro nejaky mikropocitac s velmi omezenym mnozstvim pameti? Jinak si to nedokazu vysvetlit, a zaroven mi pripada, ze kdyz nevite jestli bude polozek 10 nebo 100k, a kdyz nevite jak casto je nekdo prida po jedne a jak casto ne, nemate uplne dobre zvladnutou analyzu.je to program pro normalni i686/amd64/sparc... problem je, ze se venuju low-level vecem (jako je treba prace s pameti) a ne psani ,,ucetnictvi''... takze a) nejsem schopen predikovat jak se bude chovat aplikace nad tim b) ty hodnoty vychazi z realnych pozorovani c) i male mnozstvi kodu navic dela paseku
nejsem si jisty co je. vkladani je stejne, moc nerozumim tomu co myslite alokaci.abych mohl vlozit do stromu nejakou hodnotu musim mu alokovat uzel coz zere docela cas i misto (ono se to nezda).
vymena intu za jiny je moc draha operaceto je zase ciste teoreticky pohled... ty vymeny intu jsou spojeny s podminenymi skoky... a to jsou potvory
Podminenych skoku bych se na modernich architekturach nebal, jednak si s tim procesory umi poradit (spekulativni provadeni)treba takovy sparc s tim ma zasadni potize.
Krom toho, pokud vase klice a hodnoty jsou neco vetsiho nez int, zabere samotna tabulka mnohem mene mista nez data na ktera ukazuje.Pokud jsem dobře pochopil, co myslíte, tak žijete v paralelním vesmíru, kde je pointer všude stejně veliký jako int.
Na druhou stranu, jsem trochu zvedavy jake datove struktury pouziva treba ten opevovany O(1) planovac v linuxu na informace o procesech, treba v tom pujde najit neco zajimaveho.Pokud vím, tak používá několik spojových seznamů, do kterých si řadí procesy dle dynamické priority.
Možno keby si povedal niečo viac o tom, z akej množiny budú keys... Ale myslím, že ako prvé by som sa pozrel, či sa nedá použiť Berkley DB a až potom, keby to zlyhalo by som začal uvažovať, že budem implementovať nejakú svoju divotvornú štruktúru. 
NIH syndróm? :-P
Ak sú kľúčom vždy dva pointery rovnakej dĺžky, a ak hovoríme o architektúre, kde sú pointery rôzne od int čo implikuje viac RAM, tak ja osobne by som spravil to, že by som kľúč rozsekal na menšie kúsky, napríklad po 16 bitov a pre každý kúsok si spravil jednu úroveň index tabuliek, kde by ako index išlo rovno tých 16 bitov. Tabuľka z prvej úrovne by sa potom odkazovala na tabuľky druhej úrovne, kde by ako index išlo druhých 16 bitov, a tak dookola až po úroveň poslednú, ktorá by sa potom odkazovala (alebo obsahovala) už priamo výsledné dáta. Pri málo záznamoch (100k) by to pravdepodobne zožralo dosť RAM, pričom väčšina tých tabuliek by obsahovala skoro samé NULL, ale na druhej strane výpočtová zložitosť operácií je konštantná, a žiadne podmienené skoky sa nekonajú, len priamy výber z poľa. Dokonca aj to preliezanie po rôznych úrovniach by sa dalo unloopnuť z cyklu do slíža inštrukcií.
NIH syndróm? :-Pne, jenomze pritom, co delam si nemuzu dovolit ten komfort pouzivat (cizi) knihovny
Pri málo záznamoch (100k) by to pravdepodobne zožralo dosť RAMa ted je tech tabulek v RAM soucasne treba dvacet nebo tricet... uff... to je jeden z duvodu, proc v mem pripade delaji hash tabulky potize...
Velmi záleží na tom, co je klíč – jestli číslo z rozumného rozsahu nebo nějaký variabilně dlouhý řetězec.rozumny dotaz. klice jsou dva pointery. ...i kdyz je za nema skryta dalsi logika, nema smysl ji do toho tahat...
Pokud začnete s malou tabulkou a pokaždé, když se naplní, ji zdvojnásobíte a vše přehashujetetak treba toto reseni je lepsi nez nejaky spojovy seznam, ale v mem pripade nikam nevede, protoze s vetsima tabulkama se to zacne realne chovat mizerne...
tak treba toto reseni je lepsi nez nejaky spojovy seznam, ale v mem pripade nikam nevede, protoze s vetsima tabulkama se to zacne realne chovat mizerne...Opravdu jste to zkoušel? Zejména pokud je struktura, jak zmiňujete jinde, téměř write-only, měla by se taková hashovací tabulka chovat velmi dobře. Ještě ji jde upravit tak, aby se lépe cacheovala: přihrádky nebudou přímo seznamy položek, ale seznamy bloků velkých jako řádek cache, ve kterých bude několik položek.
+1 ...pokud by autoři kontejnerových datových typů běžných jazyků měli prostředky k tomu jak je zefektivnit, určitě by to již dávno udělali, tedy jak napsal Filip prostor pro optimalizace vzniká konkretizací požadavků
Možná víte něco o náhodnosti rozložení vkládaných klíčů; možná víte něco o náhodnosti pořadí vkládání klíčů;moc toho nevim... jelikoz se jedna o pointry... tak je pravdepodobne, ze obcas se budou objevovat skupiny blizkych hodnot... ale jak blizkych, jakych hodnot a jak casto nelze predem odhadnout
možná víte, že počet hodnot nebude kdekoli mezi 10 a milionemuz jsem psal o nejaky prispevek vyse: nevim.
víte, že pár nějakých hodnot hodnot se bude vkládat mnohem častěji, než ostatní;muze to nastat, ale nelze urcit predem.
teoretikové za ty desítky let zatím nic neobjevilijo, jenomze to neni problem ciste teoreticky... navic jestli jste cetl pozorne... mne jde o strukturu, ktera je vicemene write-only...
Write only? Tak to vřele doporučuji strukturu /dev/null.
To čtení má vracet data nějak seřazená? Nebo ti jde o náhodný přístup ke kterémukoliv prvku?
Mne by spíš zajímalo, jak to doopravdy funguje. Tohle porovnání je takové ambivalentní, a jinak vím jenom tolik, že se to používá v Erlang ETS Table.
jak to doopravdy fungujeMyslím jestli to doopravdy funguje, resp. jestli to má opravdu znatelný přínos.
Byt mnou, tak bych zvolil AVL strom. Nic lepsiho me nenapada. Mozna B stromy by byl lepsi, ale zalezelo by na konkretnich datech. Jinak jsem zvedav s im novym prides.
No nevhodny algoritmus urcite muze program zkazit vyrazne hur, na druhou stranu ve znacne casti programu neni problem mit program z algoritmickeho hlediska (asymptoticky) optimalni, protoze v nem proste zadne algoritmicky slozite problemy nejsou. A tam uz pouziti interpretovaneho jazyka je znacny rozdil.
Jinak i co se JITů týče, daleko víc než na Javu bych sázel na LLVM nebo na Parrota.Mohu se zeptat proč? Přeci jenom jsou možnosti Sunu investovat do vývoje JVM poněkud větší, než možnosti organizací stojící za LVVM, nebo Parrotem. Ale, LVVM se už ve spojitosti s JVM používá Zero Shark FAQ, i když jenom experimentálně. Ale důvodem je možnost portace OpenJDK na ne-x86 platformy. I kdyby LVVM v budoucnu dokázal dělat lepší JIT, než je současný HotSpot, asi by nebyl takový problém ho začít jednoduše používat.
Mohu se zeptat proč?Jak LLVM, tak Parrot mi hlavně přijdou daleko lépe navržené než JVM. Ale zvláště Parrotovi ještě asi bude pár let trvat než do svého potenciálu doroste. Uvidíme, už se docela těším
Přeci jenom jsou možnosti Sunu investovat do vývoje JVM poněkud větší, než možnosti organizací stojící za LVVM, nebo Parrotem.Životaschopnost návrhu většinou závisí daleko víc na jiných věcech než na investicích
Parrot je VM pro dynamicky typované jazyky, které musí být už logicky pomalejší, než ty staticky typované. LLVM je zase low level virtual machine, kde základní typ proměnné je 'double'. Myslím si, že Parrot i LLVM mají svůj význam, ale srovnávat je něčím tak komplexním jako je JVM bych se nepokoušel.
Registrové stroje jsou v poslední době oblíbenější, ale mají proti zásobníkovým i nevýhody. Pokud vím, překlad zásobníkového kódu do strojového (registrového) se dá docela dobře optimalizovat (eh, vždyť zásobníkový kód se dá použít i jako mezikód v překladači, i když netuším, jestli to dneska někdo dělá), ovšem hodnotit výsledky JIT překladu HotSpotu se neodvažuju.
Delší a pomalejší instrukce, větší a složitější kód, v zásadě.
//===----------------------------------------------------------------------===//
// "Library" functions that can be "extern'd" from user code.
//===----------------------------------------------------------------------===//
/// putchard - putchar that takes a double and returns 0.
extern "C"
double putchard(double X) {
putchar((char)X);
return 0;
}
Oni berou double totiž jako výchozí typ pro importování funkcí. Ale jinak máte pravdu, těch typů je tam celkem hodně.
Tazatel nenapsal dostatek podrobností, takže se ostatní mohou leda domýšlet… A že se jedná o nějakou nízkoúrovňovou/systémovou záležitost a ne aplikační z něj vylezlo až v komentářích.
> horni bity usporadat do binarni trie tvorici jen maly strom, ktery ma v listech hash tabulky a v nich zaznamy rozhozene podle dolnich bitu, takze objekty jsou blizko sebe z cehoz by cache asi mela radost a neplytvalo by to mistem.
Tipuji, ze pokud by ten klic byl z rovnomerneho rozdeleni, tak by tohle moc pameti neusetrilo.
> eliminuji se cas i misto, ktere je potreba k alokaci jednoho samostatneho uzlu.
Eliminace techto veci se casto resi tim, ze se vrcholy alokuji jednoduchym fixed-size alokatorem. Ma tve reseni proti tomu jeste nejakou vyhodu?
Tipuji, ze pokud by ten klic byl z rovnomerneho rozdeleni, tak by tohle moc pameti neusetrilo.jo, jenomze to jsou pointery, tak to bude mit tendenci hledat shluky dat alokovanych blizko sebe.
Eliminace techto veci se casto resi tim, ze se vrcholy alokuji jednoduchym fixed-size alokatorem.co si mam predstavit pod pojmem fixed-size alokator?
Ma tve reseni proti tomu jeste nejakou vyhodu?ve srovnani s cim?
> jo, jenomze to jsou pointery
Ty by snad sly take nejakou jednoduchou hashovaci funkci zrovnomernit.
> co si mam predstavit pod pojmem fixed-size alokator?
Pomocny alokator, ktery alokuje bloky pevne velikosti (od systemu si necha pridelit velky blok pameti a s nim si hospodari). Rychlost velka, rezie minimalni.
Pomocny alokator, ktery alokuje bloky pevne velikosti (od systemu si necha pridelit velky blok pameti a s nim si hospodari). Rychlost velka, rezie minimalni.preskladani stromu do tabulky je de facto uplne to same. s tim, ze to ma i sva pozitiva... zpracovani nejake operace nad vsema prvkama jde provest v jednoduche smycce misto rekurizvniho prohledavani stromu. jednotlive uzly na sebe nemusi odkazovat pointrama, i.e., i 64bitech jde mit 32bit odkazy.
BTW: když už si napíšeš vlastní strukturu, bude z ní veřejně dostupná knihovna, nebo si ji necháš pro sebe? Jde mi o to, že určitě nejsi jediný na světě, kdo stojí před tímhle problémem, tudíž buď:
Tiskni
Sdílej: