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 15:44 | Nová verze

    Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 1
    včera 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 27
    včera 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 8
    včera 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    27.5. 15:44 | IT novinky

    Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".

    Ladislav Hagara | Komentářů: 3
    27.5. 15:11 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.

    Petr Krčmář | Komentářů: 0
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 13
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 25
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 965 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: rozdilne prelozene programy na jinak shodnych systemech

    15.12.2015 18:52 Pavel Kozisek
    rozdilne prelozene programy na jinak shodnych systemech
    Přečteno: 498×
    provadim backup mezi servry a soucasti zalohy jsou i adresare, ve kterych se nachazeji aplikace na servru provozovana vcetne vsech zdrojaku , make apod. Oba systemy jsou Centos 5.11 nainstalovane standardne pres repositare. YUM vypise na obou systemech stejny stav. Servry pouzivaji jine hardware (maly server - celeron, velky server - i5).

    Kdyz prelozim make-em nejakou soucast aplikace (v nejakem adresari) , tak vzniknou desitky souboru '.o' a i nekolik executable a knihoven ('.a'). Na druhem servru udelam to same. Kdyz nyni porovnan vznikle kompilaty, tak je 99% identickych , ale vzdy se nekolik prelozenych souboru lisi. To mne trochu znervoznuje. Rsyncem totiz pretahuji soubory vznikle na i5 na ten celeron a ten maly server by v pripade havarie velkeho servru mel fungovat jako nahrada - a mne by se lepe spalo, kdyby ty soubory byly nachlup stejne :-)

    Nevi nekdo, zda je to normalni? Co je pricinou, ze se tech nekolik souboru lisi. (velikost je ale kupodivu stejna - jen obsah je jiny)?

    Odpovědi

    15.12.2015 19:40 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    Normální věc.

    Optimalizace - jiný HW tak přeložené programy budou jiné.

    Musel by jsi to překládat s uplně stejnými volbami bez optimalizací pro CPU atd.....
    xxxs avatar 15.12.2015 20:26 xxxs | skóre: 25 | blog: vetvicky
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    ja neporadim, ale asi by si sem mal hodit s akymi modifikatormi kompilujes. a asi aj verziu make.
    15.12.2015 22:30 Pavel Kozisek
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    diky za nazory, taky jsem si nejdrive myslel, ze to bude mit neco spolecneho s hardware, ale pak jsem to zavrhl, protoze by jinak binarni soubory nebyly vpodstate prenositelne - tedy si myslim.

    Srovnaval jsem pomoci cmp -b ty binarni soubory a narazil jsem na jednu vec u statickych knihoven:

    tam je v hlavicce unix timestamp a to je samozrejme ruzne podle okamziku kompilace. Pomoci ar -D se tomu da zabranit, coz jsem dodneska nevedel - clovek se uci porad.

    U dvou objektovych souuboru jsme take nasel proc to je - je tam radka :

    fprintf(stdout, "This is program version %s.\n", __DATE__);

    ten program je stary 20 let - uprimne receno bych rekl, ze to neni dobra myslenka?

    jinak se to preklada nasledovne:

    gcc -Wall -Wno-pointer-sign -g -c -o parse_language_file.o parse_language_file.c

    to jsem myslel ze je bez optimalizace - kvuli debuggu ??
    16.12.2015 07:40 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    diky za nazory, taky jsem si nejdrive myslel, ze to bude mit neco spolecneho s hardware, ale pak jsem to zavrhl, protoze by jinak binarni soubory nebyly vpodstate prenositelne - tedy si myslim.

    U gcc je potřeba rozlišit dva parametry ovlivňující výsledný kód ve smyslu optimalizace pro konkrétní třídu procesorů. První je "-march", který definuje, jaká instrukční sada se použije; tam skutečně může dojít k tomu, že zvolím-li modernější model, využijí se instrukce, které na starších procesorech mohou chybět a kód tam nepoběží. Druhou je "-mtune", která pouze ovlivní to, jak překladač bude optimalizovat využití registrů a řazení instrukcí podle zvoleného modelu procesoru; na jiném může být výsledný kód o něco méně efektivní než kód optimalizovaný přímo pro něj, ale poběží.

    U obou jde použít hodnotu "native" a pak se použije instrukční sada resp. optimalizace podle procesoru, na kterém je spuštěn překladač. To je ale také jediný případ, kdy výsledný kód závisí na tom, kde se překládalo. Může to být výhodné, když počítáte s tím, že se program bude spoouštět právě jen na tomto počítači (nebo na jiných se stejným modelem procesoru); v jakémkoli jiném je lepší použít nějaké konkrétní hodnoty.

    fprintf(stdout, "This is program version %s.\n", __DATE__);

    ten program je stary 20 let - uprimne receno bych rekl, ze to neni dobra myslenka?

    Není to dobrá myšlenka, ale bohužel se s tím člověk pořád občas potká.

    to jsem myslel ze je bez optimalizace - kvuli debuggu ??

    Těžko říct. Absence optimalizace sice tu a tam může při debugování trochu pomoci, ale rozhodně to není důvod ji vypínat předem.

    16.12.2015 14:25 Zdenda_S
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    fprintf(stdout, "This is program version %s.\n", __DATE__)

    Co je na tom obecne spatne ? pouzivam neco velice podobneho pri vypsani helpu ci verze jen tam pouzivam misto data odkaz na gitovy commit a datum kompilace jen jako version of GCC VERSION at _DATE a popripade i hostname stroje na kterem to bylo prelozeno ...
    16.12.2015 14:42 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech

    Kdyby tam bylo datum toho příslušného commitu (a build byl vždy ze stejné větve), tak by to za určitých okolností smysl mít mohlo. Ale označovat datum buildu za verzi, je naprostý nesmysl, protože když si udělám checkout tři roky staré verze a přeložím ji, bude se vydávat za novější než ta, kterou jsem přeložil včera z aktuálních zdrojáků.

    Dávat do binárky datum buildu, build host, verzi překladače a kdoví co všechno sice na první pohled vypadá strašně cool, ale za dvacet let, co se s Linuxem potýkám, si nevzpomínám, že by mi tento typ informací byl (v binárce samotné) k něčemu užitečný. V prostředí jako OBS už je to pak vysloveně škodlivý zlozvyk, protože to zbytečně vynucuje nové a nové rebuildy, ke kterým by jinak nebyl žádný důvod. Proto třeba OBS při zjištění, že se něco takového děje, hlásí warning.

    17.12.2015 12:23 Zdenda_S
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    No vetsinou pouzivam ten commit stroj a verzi gcc jsem pridaval jen obcas kdyz sem ladil nejaký experiment který chodil na lunuxu a osx pod stejnou archtekturou a tisknul jsem to v protokolu kterej byl timto programem generován.
    16.12.2015 16:20 Xerces
    Rozbalit Rozbalit vše Re: rozdilne prelozene programy na jinak shodnych systemech
    Tohle (časový razítka v binárce) je myslím jeden z problémů, který se řeší v Debianu v rámci reprodukovatelných buildů. https://wiki.debian.org/ReproducibleBuilds Já to sice nesleduju jak to chlapci řeší ale tuším, že se to snaží ze zdrojáků vykosit.

    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.