Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.
Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.
OpenAI spolupracuje s konkurenty Anthropic a Google DeepMind ze skupiny Alphabet na bezpečnosti umělé inteligence (AI). Globální obavy ohledně existenčních rizik umělé inteligence vzrostly poté, co se o víkendu sešli vedoucí předních amerických firem z odvětví AI a vyzvali k pozastavení vývoje technologie.
Evropská unie navrhne zákaz sociálních sítí, online her a chatbotů pro děti mladší 13 let a možnost účtu pro děti do 15 let jen se souhlasem rodičů, oznámila šéfka Evropské komise Ursula von der Leyenová v dnešním projevu ve Štrasburku. Návrh předpisu nazvaného EU Kids Act představí Evropská komise ve čtvrtek. Von der Leyenová zdůraznila, že chce, aby se rovněž změnilo základní pravidlo: platformy budou muset dokázat, že jsou bezpečné.
… více »Byla vydána Java 27 / JDK 27. Nových vlastností (JEP - JDK Enhancement Proposal) je 9.
Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.
Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.
Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.
Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.
Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.
Jelikož padla spousta návrhů na použití std::sort k řazení, učinil jsem tak. Bohužel však nepociťuji ŽÁDNÉ zrychlení. Připadá mi to úplně stejně rychlé.
void FileInfoList::sort( int column, bool ascending )
{
FileInfoComparator fic( column, ascending );
std::sort( begin(), end(), fic );
}
bool FileInfoComparator::operator()( const PFileInfo& fi1, const PFileInfo& fi2 )
{
if( fi1->isDots() ) return true;
if( fi2->isDots() ) return false;
if( fi1->isDir() && !fi2->isDir() ) return true;
if( fi2->isDir() && !fi1->isDir() ) return false;
int cmpRes = 0;
off64_t size1,size2;
time_t date1, date2;
switch( sortColumn )
{
case FileInfoList::COLUMN_NAME:
cmpRes = g_utf8_collate( fi1->getNameTitle().c_str(), fi2->getNameTitle().c_str() );
break;
case FileInfoList::COLUMN_EXT:
cmpRes = g_utf8_collate( fi1->getName().c_str(), fi2->getName().c_str() );
break;
case FileInfoList::COLUMN_SIZE:
fi1->getSize(size1); fi2->getSize(size2);
if(size1>size2) cmpRes = 1;
else if( size2>size1 ) cmpRes = -1;
break;
case FileInfoList::COLUMN_DATE:
fi1->getDate(date1); fi2->getDate(date2);
if(date1>date2) cmpRes = -1;
else if(date2>date1) cmpRes = 1;
break;
case FileInfoList::COLUMN_ATTRS:
cmpRes = g_utf8_collate( fi1->getAttrs().c_str(), fi2->getAttrs().c_str() );
break;
case FileInfoList::COLUMN_OWNER:
cmpRes = g_utf8_collate( fi1->getOwner().c_str(), fi2->getOwner().c_str() );
break;
default:
cmpRes = g_utf8_collate( fi1->getGroup().c_str(), fi2->getGroup().c_str() );
break;
}
if(cmpRes == 0) cmpRes = g_utf8_collate( fi1->getName().c_str(), fi2->getName().c_str() );
if(ascending) cmpRes = -cmpRes;
return (cmpRes > 0);
}
Tiskni
Sdílej:
Někdy nestačí myslet a je třeba vědět.
Kdepak, bez profileru při ladění výkonu nehnu prstem.
. Taky nerad přepisuju kód. o němž 100% nevím, že je to ten kousek, co mě zpomaluje.
stat() nebo lstat()? Pak by mne nepřekvapilo, pokud by problém byl skutečně tady a ne v samotném řazení seznamu.
typedef shared_ptr<PFileInfo> PFileInfoPtr_t; typedef std::vector<PFileInfoPtr_t> fileContainer;
class FileInfoList: public std::vector<FileInfo*>{
...
}
Drží tedy ukazatele. PFileInfo je jen typedef na FileInfo*, abych se vyhnul něčemu jako const FileInfo*& v tom operátoru ().

preco neskusit (ako som navrhoval)
- extra komparatory (triedy) pre kazdy typ stlpca
- vyhodit . a .. z filelistu
navyse, nie je doriesena otazka, ako sortovat v pripade rovnosti kriteria (datumy, velkosti, ...)
return cmpRes == 0;vlastne i to moze byt dovod tej "pomalosti"
)
20:08:39:458 start 20:08:40:419 endsamozrejme, ziskani celeho vypisu rwxrw-rw- by to urcite zpomalilo, ale trideni mi QListView dela uplne sam - krome trideni podle data modifikace. Tam se musi napsat jedna porovnavaci funkce.
bool FileInfoComparator::operator()( const PFileInfo& fi1, const PFileInfo& fi2 )Pokud definice PFileInfo vypada nejak takto
typedef FileInfo* PFileInfo;tak to dohromady nedela to, co nejspis prepodkladate. Vyleze z toho totiz reference na konstatni ukazatel na objekt FileInfo. Neboli primo
fi1 menit nelze, ale objekt, na ktery ukazuje, ano (*fi1 = *fi2 projde). A take je zcela zbytecne cpat na ukazatele jeste reference. IMHO spravna deklarace by mela vypadat takto
bool FileInfoComparator::operator()(const FileInfo* fi1, const FileInfo* fi2 )