abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    6.10. 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    6.10. 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (45%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 195 hlasů
     Komentářů: 13, poslední dnes 07:41
    Rozcestník

    Dotaz: efektivita procházení matice

    16.9.2010 19:51 Dadam | skóre: 12 | blog: dadamovo
    efektivita procházení matice
    Přečteno: 345×
    Zdravím,
    mám 32bitový Arch linux, procesor Core2Duo, gcc 4.5.0, optimalizace vypnuté, měřím pomocí gprof. Je nějaký důvod, proč by měl být následující kód
            for (i = 0; i < in->h; i++) {
                    for (j = 0; j < in->w; j++) {
                            b = 0;
                            for (k = -r; k <= r; k++) for (l = -r; l <= r; l++) { 
                                    if (in->arr[i+l][j+k] <= p) b++;
                            }
                            if (b > (max-1)/2) out->arr[i][j] = 0;
                            else out->arr[i][j] = 255;
                    }
            }
    
    
    pomalejší než tento:
            for (i = 0; i < in->h; i++) {
                    for (j = 0; j < in->w; j++) {
                            b = 0;
                            for (k = 0; k <= 2*r; k++) for (l = 0; l <= 2*r; l++) {
                                    if (in->arr[i-r+l][j-r+k] <= p) b++;
                            }
                            if (b > (max-1)/2) out->arr[i][j] = 0;
                            else out->arr[i][j] = 255;
                    }
            }
    
    
    ? Rozdíl je jen pár procent, nicméně myslel jsem že bude na druhou stranu, nebo nebude žádný.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.

    Odpovědi

    16.9.2010 19:57 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: efektivita procházení matice
    Mimochodem - že se to ocitne v záporných indexech vím, je to sice prasárna, nicméně počítám s tím.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    16.9.2010 23:03 reqw5q23
    Rozbalit Rozbalit vše Re: efektivita procházení matice
    Zkus si vytknout 2*r a vyrazy v indexech poli si take predpocitej.
    17.9.2010 02:44 heretic
    Rozbalit Rozbalit vše Re: efektivita procházení matice
    Neměly by bejt u toho druhýho příkladu indexy náhodou takhle ?
    if (b > (max-1)/2) out->arr[i-r][j-r] = 0;
    else out->arr[i-r][j-r] = 255;
    
    17.9.2010 11:43 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: efektivita procházení matice
    Ee, v in se prochází matice šířky 2r+1 kolem indexu [i][j], výsledek se zapíše do out indexu [i][j] (střed procházené matice). Je to mediánový filtr na černobílé bitmapě.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.
    17.9.2010 06:31 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: efektivita procházení matice
    Obvykle jsou procesorům milejší cykly s jedním koncem v nule. Podívejte se co z toho leze za assembler (gcc -S) a třeba to bude jasnější.

    In Ada the typical infinite loop would normally be terminated by detonation.
    17.9.2010 11:47 Dadam | skóre: 12 | blog: dadamovo
    Rozbalit Rozbalit vše Re: efektivita procházení matice
    Podívám. S assemblerem moc nepracuju, že existuje nějaká instrukce loop, která končí na nule, vím, ale ta rychlejší varianta na nule začíná, a vzhledem k tomu, že mám vypnuté optimalizace, počítám s tím, že mi to celé nepřeskládá.
    A i B mají svoje výhody a nevýhody. Vyberte si to, co vám vyhovuje víc, a necpěte A tam, kam patří B.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.