abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

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

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 14:22 | IT novinky

    Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Zajímavý článek

    Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.

    Ladislav Hagara | Komentářů: 22
    včera 04:44 | Nová verze

    Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).

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

    Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.

    Ladislav Hagara | Komentářů: 0
    16.4. 18:44 | Nová verze

    Byl vydán Mozilla Firefox 125.0.1, první verze z nové řady 125. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout lze podporu kodeku AV1 v Encrypted Media Extensions (EME). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 125.0.1 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (66%)
     (11%)
     (2%)
     (21%)
    Celkem 518 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: rychlost kodu

    15.9.2006 00:27 secido | skóre: 27
    rychlost kodu
    Přečteno: 116×
    Porovnaval som rychlost programu (napisany v C) pod roznymi operacnymi systemami a nestihal som sa divit. HW je Turion@1.8. Vo win32/gcc3 bezal 40s, linux/gcc3 aj gcc4 amd64 90s (!) a nakoniec freebsd/gcc3 amd64 28s. Mam niekde problem alebo je ten linux taky pomaly?

    Odpovědi

    15.9.2006 00:29 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: rychlost kodu
    To je bez toho programu těžko posoudit :-) (z kolika měření jsou ty výsledky?)
    Copak toho není dost?
    15.9.2006 00:48 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Z dvoch-troch behov. Linux sa mi podarilo stiahnut na 76s v single user s vypnutym throttlingom. Ale aj tak je to vela, nechapem. Preco bez programu tazko posudit? gcc je ine na bsd ako v linuxe? Optimalizacia bola zapnuta -O2.
    15.9.2006 13:52 _
    Rozbalit Rozbalit vše Re: rychlost kodu
    cpufreq v jadre mas nastaveny na powersave governor, ze?

    jaky parametry jsi pouzil pri kompilaci?

    jaky parametry se doplnily ze specs z gcc?

    na kolika mistech provadis dlopen/fork?
    15.9.2006 17:52 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Ked mi napises ako tieto veci zistim, mozem ich doplnit.
    15.9.2006 18:01 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Skusil som aj na inom 64bitovom linuxe - konkretne Ubuntu 6.06 TLS x86_64, gcc 4.0.3, procesor AMD Athlon(tm) 64 Processor 3500+ (2.2GHz), kernel 2.6.15.7. Priemerny cas 1m, z toho 99% user. dlopen() a fork() vobec nepouzivam, je to ansi C (snad :-). Parametre pri kompilacii gcc -O2 -Wall -g.
    16.9.2006 09:09 *
    Rozbalit Rozbalit vše Re: rychlost kodu
    No ja to nepouzivam, takze jen po pameti, kdyz jsem to pred par lety objevil a vypnul... tusim /proc/cpufreq - jestli neexistuje ten soubor a existuje radek proc v /proc/filesystem tak to nepouzivas.

    parametry si sem napsal.

    cat /usr/lib/gcc-lib/*/*/specs

    a fork a dlopen si nepouzil.

    a jeste maji knihovny premapovany adresni prostory na nahodny mista prelinkem?

    pouzivas knihovny s debug symbolama? jak casto se volaji knihovni funkce? (ltrace)
    15.9.2006 00:59 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pridavam kus kodu, ktory sa toci v slucke. Boli to moje programatorske zaciatky, tak sa nesmejte :-). Pozeram, ze sa pouziva viac globalnych premmenych ako by bolo zdrave.
    void PridajRiadokNovy(void) {
      int i, j, tmp, tmp2, xx=dlzka;
    
      tmp = dalsi * c_tz;
      for(i=0;i<c_tz;i++) {
        if(znacka2[pole[tmp+i]]) continue;
        for(j=0;j<c_max;j++) {
          if(!znacka[tmp2 = pole2[pole[tmp+i]*c_max+j]]) {
            znacka[tmp2]++;
            dlzka++;
          }
        }
        znacka2[pole[tmp+i]]++;
      }
      predch=dlzka-xx;
      if(!dalsi) for(i=0;i<c_rt;i++) zrychli[i]=predch;
      riadok[dalsi]++;
      cnt++;
    }
    
    void DalsiRiadokNovy(void) {
      int i, j, k, tmp, tmp2;
      mini = 0;
    
      for(k=0;k<c_rt;k++){
        if(!riadok[k]) {
          if(zrychli[k]<=mini) continue;
          tmp = k * c_tz;
          teraz = 0;
          memset(znacka3, 0, c_ru);
          for(i=0;i<c_tz;i++) {
            if(znacka2[pole[tmp+i]]) continue;
            for(j=0;j<c_max;j++)
              if(!znacka[tmp2 = pole2[pole[tmp+i]*c_max+j]] && !znacka3[tmp2]) {
                teraz++;
                znacka3[tmp2]++;
              }
          }
          zrychli[k]=teraz;
          if(teraz > mini) {
            dalsi = k;
            mini = teraz;
          }
          if(predch==teraz) break;
        }
      }
    }
    
    15.9.2006 01:09 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: rychlost kodu
    Právě proto. Když máme gcc víceméně stejný, tak z něho vyleze víceméně stejný kód a ten se těžko bude vykonávat různě rychle. Takže problém by měl být někde mimo program, v tom co volá, ne?

    Co vypisuje time na FreeBSD a Linux, nejsou tam třeba nějaké radikální rozdíly v poměrech jednotlivých složek?
    Copak toho není dost?
    15.9.2006 13:53 _
    Rozbalit Rozbalit vše Re: rychlost kodu
    > Právě proto. Když máme gcc víceméně stejný, tak z něho vyleze víceméně stejný kód a ten se těžko bude vykonávat různě rychle.

    ne. rozdil muze byt i sto nasobny.
    15.9.2006 13:54 _
    Rozbalit Rozbalit vše Re: rychlost kodu
    > rozdil muze byt i sto nasobny.

    samozrejme s tim samym kompilatorem na tom samem systemu s tim samym kodem. opravdu zalezi na tom, jak se to prelozi.
    15.9.2006 17:49 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Kod je rovnaky samozrejme, kompilator nie uplne rovnaky. Na win32 som pouzil mingw gcc 3.4.2. Linux gcc 4.0.3, 3.3 aj 3.4 s priblizne rovnakym vysledkom na urovni cca 2x windows. Nieco asi bude v tom systeme rozbite, skusim pozriet co vsetko tam bezi. FreeBSD 7.0 current s distribucnym gcc (tusim 3.4) sa javi ako uplne eso co sa tyka rychlosti a aj napr. pri kompilacii akehokolvek kodu je rychle ako blesk.
    15.9.2006 20:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pokud jsem něco zásadního nepřehlédl, ten fragment kódu, který jste tu ukázal, nevolá žádný syscall, přímo ani nepřímo. Takže mi není moc jasné, jak z rychlosti jeho provádění chcete vyvozovat závěry o rychlosti Linuxu
    15.9.2006 20:57 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Jednoducho skompilovany program bezi na linuxe pomalsie ako na inom systeme, ja sa len pytam preco resp. ako je take nieco mozne. Lebo ked sa takto sprava jeden program, mozu sa aj ine.
    18.9.2006 16:06 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Nemoze to byt rozdielnymi libc, kedze volam memset?
    18.9.2006 18:09 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    U aktuálních verzí gcc by AFAIK měly funkce typu memset() být implementovány přímo překladačem, takže by ani na volání knihovny nemělo dojít. Ale to byste se asi musel podívat do výsledného kódu (např. si to nechat přeložit jen do assembleru).
    18.9.2006 19:03 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Kazdopadne libc implementacia vo freebsd pre amd64 sa lisi od implementacie linuxovej glibc a pre i386 je tiez uplne ina. Skusil som tento kod:
    $ cat memset.c
    int main() {
      int num = 1;
      memset(&num, 0, sizeof(num));
    }
    $ gcc -S memset.c
    $ cat memset.s
            .file   "memset.c"
            .text
    .globl main
            .type   main, @function
    main:
            pushl   %ebp
            movl    %esp, %ebp
            subl    $24, %esp
            andl    $-16, %esp
            movl    $0, %eax
            subl    %eax, %esp
            movl    $1, -4(%ebp)
            movl    $4, 8(%esp)
            movl    $0, 4(%esp)
            leal    -4(%ebp), %eax
            movl    %eax, (%esp)
            call    memset
            leave
            ret
            .size   main, .-main
            .section        .note.GNU-stack,"",@progbits
            .ident  "GCC: (GNU) 3.3.5 (Debian 1:3.3.5-13)"
    
    Co z toho vidim?
    AraxoN avatar 18.9.2006 20:16 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Toto je dôležité
    call    memset
    a znamená to, že memset() je spracovaný ako každá iná funkcia. T.j. že sa na stack nahádžu jej parametre a potom sa zavolá nejaký ďalší kód od inokiaľ, ktorý podľa tých parametrov niečo robí. Ak by to bolo nadrôtované v GCC, tak by tam nebolo volanie funkcie ale nejaká asm inštrukcia s prefixom "rep", alebo "loop".
    AraxoN avatar 18.9.2006 20:58 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: rychlost kodu

    hehe, odpovedám sám na seba... :-)

    Pozeral som ako sa to kompiluje u mňa v GCC 4.1, a vo výsledku nikdy nie je call, a dokonca ani rep alebo loop. Záhada?

    michich avatar 18.9.2006 21:20 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: rychlost kodu
    Žádná záhada. V tomto případě překladač ví, že má vynulovat pamět o délce sizeof(int), což jde udělat jedinou instrukcí bez jakéhokoliv cyklu.
    AraxoN avatar 18.9.2006 21:36 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Njn, ale secidovi vyššie to vygenerovalo "call memset"... Skúšal som rôzne stupne optimalizácie, ale nikdy z toho u mňa nebol call, rep či loop.
    18.9.2006 21:42 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Jenže on použil gcc 3.3.5 (nebo něco, co se za něj vydává :-) ).
    michich avatar 18.9.2006 22:09 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: rychlost kodu
    Jo, to je tím. Teď jsem si ověřil, že gcc 3.3.6-13 a 3.4.6-4 generují call memset, kdežto 4.1.1-13 ne.
    18.9.2006 21:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Neviděl bych v tom záhadu, odpovídá to tomu, co jsem psal: že některé funkce typu memset() nebo memcpy() mají novější verze gcc jako builtin. To naznačuje už fakt, že když zkusíte zkompilovat to, co zde bylo uvedeno, pomocí gcc 4.1, dostanete tuto chybu:
      mike@lion:~/tmp> gcc -S memset.c
      memset.c: In function ‘main’:
      memset.c:3: warning: incompatible implicit declaration of built-in function ‘memset’
    
    19.9.2006 09:10 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    V poriadku, ale preco potom:
    $ gcc --version|grep gcc
    gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)
    $ gcc -O2 -S gext.c
    $ grep memset gext.s
            call    memset
            call    memset
            call    memset
            call    memset
            call    memset
    $ grep memset gext.c
          memset(znacka3, 0, c_ru);
      memset(riadok, 0, c_rt);
      memset(znacka, 0, c_ru);
      memset(sucet, 0, sizeof(int)*c_rz);
      memset(znacka2, 0, c_rz);
    
    19.9.2006 09:24 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Stiahol som si gcc-core-4.1.1.tar.bz2 ale nevidim tam ziadnu asm implementaciu memset, len toto:
    $ find . -name '*memset*'
    ./gcc/config/memset.c
    ./libiberty/memset.c
    ./libssp/memset-chk.c
    
    co je v skutocnosti trivialny cyklus:
    $ cat gcc/config/memset.c
    /* Public domain.  */
    #include <stddef.h>
    
    void *
    memset (void *dest, int val, size_t len)
    {
      unsigned char *ptr = dest;
      while (len-- > 0)
        *ptr++ = val;
      return dest;
    }
    
    19.9.2006 09:32 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Asm implementacie vo freebsd a linuxe. Hladajte rozdiel :-).
    23.9.2006 21:40 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Este maly navrat, memset() asi nie je dovod. Skompiloval som staticku binarku (ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, statically linked, for GNU/Linux 2.2.0, stripped) a tato bezi na spominanom athlone (jadro 2.6.15-27-k7 z ubuntu) rychlejsie ako na duron 1600 (jadro 2.6.15.3 kompilovane pre i386).
    23.9.2006 22:24 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    To o ničem nevypovídá, i když to slinkujete staticky, používá se pořád stejná implementace té funkce.
    23.9.2006 22:39 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Ano, pouziva sa rovnaka tak by aj rychlost mala byt rovnaka resp. zodpovedajuca rozdielu vo vykone hw, alebo sa mylim?
    23.9.2006 23:01 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Snažíme se vám od začátku vysvětlit, že rozdíl bude nejspíš v tom, že nespouštíte v obou případech totéž.
    23.9.2006 23:11 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Ak potom spustit to iste, ked ten isty skopirovany staticky linkovany spustitelny subor to iste nie je?
    23.9.2006 23:17 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    On je to snad jediný proces, který vám v tom systému běží?
    23.9.2006 23:28 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pochopitelne, ze nie, ale nebezi tam nic co by zatazovalo CPU tak, aby mohli vzniknut taketo rozdiely.
    23.9.2006 23:52 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    To ale těžko můžeme posoudit, pokud jste jediný, kdo ví, o jakém programu je to vlastně řeč…
    23.9.2006 23:08 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Takze pomocou vynikajuceho nastroja menom profiler som definitivne vylucil memset. Dalsou skvelou utilitkou gcov som zistil kolko krat sa ktory riadok vykona, snad pomoze:
         2931:   46:void DalsiRiadokNovy(void) {
            -:   47:  int i, j, k, tmp, tmp2;
         2931:   48:  mini = 0;
            -:   49:
    218359778:   50:  for(k=0;k<c_rt;k++){
    218359667:   51:    if(!riadok[k]) {
    216130000:   52:      if(zrychli[k]<=mini) continue;
      1236087:   53:      tmp = k * c_tz;
      1236087:   54:      teraz = 0;
      1236087:   55:      memset(znacka3, 0, c_ru);
      7416522:   56:      for(i=0;i<c_tz;i++) {
      6180435:   57:        if(znacka2[pole[tmp+i]]) continue;
    135608850:   58:        for(j=0;j<c_max;j++)
    130586300:   59:          if(!znacka[tmp2 = pole2[pole[tmp+i]*c_max+j]] && !znacka3[tmp2]) {
     55771154:   60:            teraz++;
     55771154:   61:            znacka3[tmp2]++;
            -:   62:          }
            -:   63:      }
      1236087:   64:      zrychli[k]=teraz;
      1236087:   65:      if(teraz > mini) {
        27552:   66:        dalsi = k;
        27552:   67:        mini = teraz;
            -:   68:      }
      1236087:   69:      if(predch==teraz) break;
            -:   70:    }
            -:   71:  }
          111:   72:}
    
    24.9.2006 00:39 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Az tak definitivne som ho nevylucil :-), je to fakt memset(). Mojim nespravnym pouzivanim profilera na dynamicky linkovanu binarku som dostaval skreslene vysledky, staticka ukazuje v com je problem. Casy su trochu dlhsie kvoli zapnutemu profileru.
    athlon@750 (116.04 s)
    
      %   cumulative   self              self     total
     time   seconds   seconds    calls   s/call   s/call  name
     83.83    242.63   242.63                             memset
     15.50    287.48    44.85     2931     0.02     0.02  DalsiRiadokNovy
    
    duron@1600 (268.35 s)
    
      %   cumulative   self              self     total
     time   seconds   seconds    calls   s/call   s/call  name
     93.79    628.86   628.86                             memset
      6.07    669.56    40.70     2931     0.01     0.01  DalsiRiadokNovy
    
    athlon64@2200 (61.91 s)
    
      %   cumulative   self              self     total
     time   seconds   seconds    calls   s/call   s/call  name
     92.94    143.58   143.58                             memset
      6.75    154.01    10.43     2931     0.00     0.00  DalsiRiadokNovy
    
    Pricina je jasna, teraz uz len ako vyriesit problem.
    15.9.2006 20:17 machr | skóre: 2 | blog: machr
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pastni sem celej ten program, ja to otestuju na svym pocitaci.

    Zajimalo by me proc tam pouzivas -g ????
    (__) (oo) /-------\/ / | || * ||----|| ~~ ~~
    15.9.2006 20:52 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pravdepodobne kvoli debugeru, ale aj stripnuty bezi rovnako dlho.
    15.9.2006 21:38 cynik
    Rozbalit Rozbalit vše Re: rychlost kodu
    Podle pomeru casu to vypada tak, ze jsi pri kompilaci toho programu na linuxu nepouzil direktivy pro specifikaci procesoru a je to tedy prelozene na tu uplne nejbeznejsi 386ku. Pokud tam das svuj processor, casy pod ruznymi OS se pravdepodobne budou lisit jen minimalne.
    15.9.2006 22:06 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Mam taky pocit, ze problem bude v jadre i ked to znie zvlastne. Prave som trochu otestoval moje stare PC k7@750Mhz a cuduj sa svete, casy sa lisili tak +/- 5 sekund od priemeru. Priemer 112s na PC minimalne 3x pomalsom je slusny. Testoval som vo win, linux a opensolaris. Potom som binarku skompilovanu na linuxe bez specifikacie CPU (cize 386 ak sa nemylim) preniesol na system duron@1.6GHz - vysledok 260s. Na systeme bolo jadro kompilovane na 386ku. Cize vychadza mi z toho jadro. Ale 10 sekundovy rozdiel medzi win32 a freebsd64 je stale zahada.
    15.9.2006 22:18 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Už jsem vás na to upozorňoval jednou: v tom kódu nevoláte naprosto žádný syscall. Tak jak může, proboha, být problém v jádře?
    15.9.2006 22:36 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Ano? Tak potom preco binarka bezi na pomalsom hw rychlejsie, ked to nie je v jadre?
    15.9.2006 22:40 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: rychlost kodu
    Když to nestráví v jádře vůbec žádný čas, protože to tam nic nevolá, jak by mohl kód jádra zdržovat?
    Copak toho není dost?
    15.9.2006 22:44 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: rychlost kodu
    To není pravda, že :-) Třeba může mít linux naprosto debilní plánovač...

    Ale problém bych hledal někde jinde, rozhodně si nepoběžím nainstalovat freebsd :-P
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    15.9.2006 22:51 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pravda… Ale něco mi říká, že kdyby na tom byl linuxový scheduler tak špatně, aby kvůli němu běžel na víceméně nezatíženém stroji (předpokládám, že tazatel to nebenchmarkoval na systému se stovkou dalších aktivních procesů) dvakrát až třikrát déle, někdo by si toho všiml a něco s tím udělal… :-)
    16.9.2006 08:56 *
    Rozbalit Rozbalit vše Re: rychlost kodu
    ...treba si toho prave nekdo vsiml? ;-)
    15.9.2006 22:51 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: rychlost kodu
    Což je taky možnost, pravda. Právě proto by bylo hezké vidět výstup time…
    Copak toho není dost?
    15.9.2006 22:56 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    FreeBSD (pustane v X)
    real    0m32.367s
    user    0m29.428s
    sys     0m0.118s
    
    16.9.2006 01:40 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: rychlost kodu
    A srovnání s tím Linuxem?
    Copak toho není dost?
    16.9.2006 23:36 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    real    1m20.233s
    user    1m15.656s
    sys     0m0.800s
    
    15.9.2006 22:49 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Dobre beriem, lenze stale som sa nedozvedel v com je chyba. Nejaky dalsi napad?
    15.9.2006 22:45 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Pravděpodobně špatná optimalizace - buď je to rukama nebo překladačem. Ale s jádrem to nemá nic společného.
    15.9.2006 22:52 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Binarka je rovnaka (386) a na athlone@750 bezi 2x rychlejsie ako na durone@1600?
    15.9.2006 22:54 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: rychlost kodu
    Tak zkus tu linuxovou (pomalou) binárku spustit v tom FreeBSD.
    Copak toho není dost?
    15.9.2006 23:16 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Tím spíš by bylo užitečné vědět, co všechno vám tam běží kromě ní.
    15.9.2006 23:36 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    load average: 0.00, 0.02, 0.00 takze vela tam toho nie je, je to gw do netu pre par ludi.
    Spustil som 386kovu linuxovu binarku vo freebsd/amd64 a dostal som vysledok 41s cize podobny ako 32 bitovy kod vo win. Zial 64bitovu binarku z linuxu nedokazem spustit.
    AraxoN avatar 16.9.2006 00:32 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: rychlost kodu

    Ten program len tak beží, alebo aj niečo vypisuje?

    Ak vypisuje, a je spúšťaný v grafike, tak je to jasné - antialiasing, rendering fontu, plus nejaký neoptimalizovaný ovládač grafiky, ktorý nestíha texty tak rýchlo scrollovať.

    A na tom Duronovom routri to asi ide cez ssh, takže sa na ňom nič nevykresľuje... Hádam dobre?

    16.9.2006 00:43 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Hadas dobre, na routri cez ssh v screene, lokalne je rozdiel medzi konzolou a X asi 1 sekunda cize zanedbatelny.
    AraxoN avatar 16.9.2006 08:58 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: rychlost kodu
    Windows má ovládače na 2D grafiku vcelku vychytané. Skús to s presmerovaním výstupu do súboru - rozdiel v rýchlosti filesystémov bude asi menší. Alebo v textovej konzole - a tým myslím naozaj textovej konzole, 80 znakov, 25 riadkov, nie framebuffer.
    16.9.2006 23:37 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Spustal som aj na textovej konzole, bez zmeny. Uz ma nic nenapada.
    17.9.2006 00:06 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Dalsi novy poznatok, rozdiel v rychlosti zavisi od vstupnych parametrov programu. Znamena to, ze program nie je vo vseobecnosti pomalsi na linuxe, ale len v niektorych pripadoch. Tak toto je uz na mna vela :-).
    17.9.2006 00:22 machr | skóre: 2 | blog: machr
    Rozbalit Rozbalit vše Re: rychlost kodu
    v tom kodu, cos tady psal je dvakrat tento radek:
    if(znacka2[pole[tmp+i]]) continue;
    
    ale nikde tam neni inicializace znacka2. To muze byt jeden z duvodu. Kdybys sem hodil celej ten program, tak uz by ti urcite nekdo rek, co tam mas spatne... :-)
    (__) (oo) /-------\/ / | || * ||----|| ~~ ~~
    17.9.2006 00:40 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Je prilis dlhy aby som ho sem daval cely, ale ak chces testnut mozem ti ho poslat na mail.
    17.9.2006 07:24 machr | skóre: 2 | blog: machr
    Rozbalit Rozbalit vše Re: rychlost kodu
    x303 AT email DOT cz
    (__) (oo) /-------\/ / | || * ||----|| ~~ ~~
    17.9.2006 12:48 secido | skóre: 27
    Rozbalit Rozbalit vše Re: rychlost kodu
    Poslal som.
    18.9.2006 19:31 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: rychlost kodu
    pastebin.com, rafb.net/paste, pastey.net jsou na toto mnohem lepší než mail ;-)

    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.