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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
včera 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 16
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: rychlost kodu

15.9.2006 00:27 secido | skóre: 27
rychlost kodu
Přečteno: 96×
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: 71 | 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: 71 | 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: 45 | 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".
A fine is a tax for doing wrong. A tax is a fine for doing well.
AraxoN avatar 18.9.2006 20:58 AraxoN | skóre: 45 | 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?

A fine is a tax for doing wrong. A tax is a fine for doing well.
michich avatar 18.9.2006 21:20 michich | skóre: 50 | 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: 45 | 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.
A fine is a tax for doing wrong. A tax is a fine for doing well.
18.9.2006 21:42 Michal Kubeček | skóre: 71 | 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: 50 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 71 | 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: 45 | 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?

A fine is a tax for doing wrong. A tax is a fine for doing well.
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: 45 | 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.
A fine is a tax for doing wrong. A tax is a fine for doing well.
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.