Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Aumentare la prestazioni con l'aiuto delle cflags
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3, 4  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Mon Jan 21, 2008 10:20 am    Post subject: Reply with quote

Il tuo non è un core2 o successivi, quindi vai col pentium4 :wink:
Back to top
View user's profile Send private message
spillo
Tux's lil' helper
Tux's lil' helper


Joined: 29 Feb 2008
Posts: 125
Location: S.Angelo Lodigiano

PostPosted: Thu Oct 02, 2008 10:18 pm    Post subject: Reply with quote

Ciao a tutti, sto preparando gentoo anche sul nuovo pc e mi sto documentando per quanto riguarda le ottimizzazioni. In questo topic ho trovato pareri contrastanti a molti altri letti per la rete riguardo a --as-needed, ma se non ho capito male voi non sconsigliereste di usarlo giusto? attualmente io ho queste impostazioni:

Code:
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="{CFLAGS}"
LDFLAGS="-Wl,-O1"


ho questa mezza idea di aggiungere --as-needed perchè sembrerebbe una buona cosa e comunque Flameeyes ha scritto un'ottima pagina in cui spiega come risolvere molti problemi. anche questa pagina sembra abbastanza rassicurante, se poi consideriamo che questo topic risale a qualche mese fa...

inoltre -O1 mi conviene toglierlo? ho visto causare problemi a molti...

il mio cat /proc/cpuinfo (x4 ovviamente)
Code:
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 6
model      : 15
model name   : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
stepping   : 11
cpu MHz      : 2400.082
cache size   : 4096 KB
physical id   : 0
siblings   : 4
core id      : 0
cpu cores   : 4
fpu      : yes
fpu_exception   : yes
cpuid level   : 10
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips   : 4802.85
clflush size   : 64
cache_alignment   : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

_________________
spillo

GnuLinuxExperience

Il mio blog! :)
Back to top
View user's profile Send private message
Onip
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2912
Location: Parma (Italy)

PostPosted: Fri Oct 03, 2008 7:26 am    Post subject: Reply with quote

Io non ho problemi, per adesso, e per i pochi pacchetti non compatibili è possibile utilizzare la directory /etc/portage/env/ per impostare le opportune eccezioni ( sul forum o wiki si trovano un po' più info ).
_________________
Linux Registered User n. 373835

Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Oct 03, 2008 2:17 pm    Post subject: Reply with quote

ho quasi se non tutto il sistema compilato con -O1 (per esperienza è l'accoppiata -O3 -Wl,-O1 a fare realmente danni gravi ma -O3 si sa che funziona male) e --as-need quindi il grosso dei problemi mi pare che siano stati risolti.
Se proprio ti capita quella singola libreria o quel singolo pacchetto che si impunta non ti costa molta fatica disabilitarli per una prova (e segnalare il problema).

Con kde la differenza si vede, te lo posso assicurare.

Quanto al problema di gcc (eseguibile cc1, parte del preprocessore, sistematicamente danneggiato da -Wl,-O1) usando -fforce-addr i problemi sono spariti (ed OOo è decisamente più spedito nell'avvio) ma voglio specificare che uso il gcc 3.6 in hardening, quindi non so come potrebbero comportarsi le versioni successive.

Se attivi anche --as-need ti consiglio di attivare anche la use glibc-omitfp e ricompilare il sistema oltre a fare un backup del gcc compilato senza ldflags (assai probabilmente non ti servirà mai, ma nel dubbio...).
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:


Last edited by djinnZ on Fri Oct 03, 2008 6:34 pm; edited 5 times in total
Back to top
View user's profile Send private message
spillo
Tux's lil' helper
Tux's lil' helper


Joined: 29 Feb 2008
Posts: 125
Location: S.Angelo Lodigiano

PostPosted: Fri Oct 03, 2008 2:41 pm    Post subject: Reply with quote

ottimo, quindi credo di andare sul tranquillo...di questa gentoo non ho preparato nemmeno il kernel quindi non devo ricompilare nulla, parto da zero ;) userò anche O1 visto che non porterebbe problemi (poi vabbè, l'inconveniente capita)...

annoterò l'accorgimento di aggiungere la use glibc-omitfp :)

come su kde, spero la differenza si veda anche su gnome che è certamente meno scattante :?

Vi ringrazio intanto per le risposte, se avete altro da dire io son qui ;)
_________________
spillo

GnuLinuxExperience

Il mio blog! :)
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Oct 03, 2008 3:07 pm    Post subject: Reply with quote

Già che mi trovo qualcuno mi sa indicare qualche informazione in più su -fforce-addr e -momit-leaf-frame-pointer (indispensabili per compilare OOo, non ho capito il perchè).
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
spillo
Tux's lil' helper
Tux's lil' helper


Joined: 29 Feb 2008
Posts: 125
Location: S.Angelo Lodigiano

PostPosted: Fri Oct 03, 2008 4:31 pm    Post subject: Reply with quote

della prima una minuscola spiegazione si trova qui della seconda non saprei...
_________________
spillo

GnuLinuxExperience

Il mio blog! :)
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Fri Oct 03, 2008 5:05 pm    Post subject: Reply with quote

djinnZ wrote:
Quanto al problema di gcc (eseguibile cc1, parte del preprocessore, sistematicamente danneggiato da -Wl,-O1) usando -fforce-addr i problemi sono spariti ma voglio specificare che uso il gcc 3.6 in hardening, quindi non so come potrebbero comportarsi le versioni successive.
Qui gcc 4.1, -force-addr, --as-needed e -O2 (il resto non lo ricordo e non posso recuperarlo ora), nessun problema.

Quote:
Se attivi anche --as-need ti consiglio di attivare anche la use glibc-omitfp e ricompilare il sistema oltre a fare un backup del gcc compilato senza ldflags (assai probabilmente non ti servirà mai, ma nel dubbio...).
Ricompilare il sistema?

Per momit-leaf-eccetera, copio da gentoo.it:
Quote:
Importante: Non combinare -fomit-frame-pointer con la flag simile -momit-leaf-frame-pointer. Usare quest'ultima flag è scoraggiato, siccome -fomit-frame-pointer svolge già quel compito propriamente. Ancora, è stato dimostrato che -momit-leaf-frame-pointer influisce negativamente sulla prestazioni del codice.
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Oct 03, 2008 5:53 pm    Post subject: Reply with quote

i fatti dimostrano il contrario (solo con OOo ovviamente), per questo non mi riesco a farmi una ragione della faccenda ma non ho trovato nulla.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
xdarma
l33t
l33t


Joined: 08 Dec 2003
Posts: 682
Location: tra veneto e friuli (italy)

PostPosted: Sun Oct 05, 2008 3:54 pm    Post subject: Reply with quote

Buonasera a tutti,
visto che in questo thread si discute anche di LDFLAGS, credo sia il posto più adatto per un mio dubbio di poco conto:
Premesso che:
Quote:
-s
--strip-all
Omit all symbol information from the output file.

Flameeyes wrote:
NON usate -s.

Portage si occupa dello striping degli eseguibili, e sa quando può farlo e quando no. Usare -s indistintamente può causare gravi problemi.

Quote:
-S
--strip-debug
Omit debugger symbol information (but not all symbols) from the output file.


Ha senso usare nelle LDFLAGS anche "-Wl,-S" con l'obiettivo di ridurre le dimensioni dei binari?
Qualcuno di voi lo usa già? Come si trova?
In realtà sono cicli CPU sprecati perché portage fa già tutto automagicamente? :-)

Ciao e grazie.
_________________
proud user of faKeDE-4.7.3
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sun Oct 05, 2008 4:32 pm    Post subject: Reply with quote

Con la use debug disabilitata lo stripe (-S) viene abilitato di default, ovunque è sicuro, per quel che so io; quindi perchè andarsi a cercare guai?
(ovviamente se hai lo spazio du disco ed il tempo per fare una prova nessuno ti dirà che sbagli)
-O1 (con backup in pacchetto binario di gcc/binutils/gettext su cpu amd e profilo hardened) e --as-needed sono decisamente più che sufficienti IMHO.

@riverdragon: avere binari con e senza -fomit-frame-pointer mi ha sempre creato problemi (e non di poco conto) per --as-need è il caso di farlo rilevare ad alcuni automake (glibc si regola di conseguenza se c'è --as-needed nelle ldflags, dai uno sguardo ai log se non mi credi) ed in generale, a meno che non sia intenzionale e ben circoscritto, è meglio non avere flag di ottimizzazione differenti (se per tua scelta vuoi compilare una libreria senza --as-need è una cosa, se ti ritrovi a casaccio librerie compilate con e senza i guai arriverranno prima o poi). Potevo dire ricompilare le librerie base e quelle che potrebbero richiederlo ma fai prima a lanciare un emerge -e system e lasciare il pc a ravanare per una nottata per me.

dimenticavo: -fomit-frame-pointer è sicura e valida solo per cpu x86 ed x86_64 (da intel 486 a core duo due e da amd k5 a athlon64, per capirci) al momento, su altre architetture più esoteriche per nulla quindi se non viene filtrata automaticamente è solo perchè qualche devel se ne è dimenticato od ha voluto evitare di appesantire l'ebuild con test inutili.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
xdarma
l33t
l33t


Joined: 08 Dec 2003
Posts: 682
Location: tra veneto e friuli (italy)

PostPosted: Tue Oct 07, 2008 7:57 pm    Post subject: Reply with quote

djinnZ wrote:
Con la use debug disabilitata lo stripe (-S) viene abilitato di default, ovunque è sicuro, per quel che so io; quindi perchè andarsi a cercare guai?

beh, proprio guai non direi: sembra che ci sia gente che "computa" tranquillamente con "-s" (nonostante il caveat di Flameeyes) quindi non credo che lo stripe del debug sia tanto rischioso e, almeno nella mia esperienza, sia sotto x86 che sotto ppc con -S non sembra creare problemi, almeno non con il profilo "desktop".
[...un attimo che tocco ferro...]
Comunque se con la USE -debug si arrangia portage a fare lo stripe dei pacchetti che danno questa possibilità, tanto di guadagnato, grazie dell'informazione :-)

djinnZ wrote:
-O1 (con backup in pacchetto binario di gcc/binutils/gettext su cpu amd e profilo hardened) e --as-needed sono decisamente più che sufficienti IMHO.

Adesso provo a ricompilare con --as-needed, poi ti saprò dire.
[...un attimo che tocco ferro...]
D'altronde gentoo ti permette anche di raschiare il fondo del barile, se lo vuoi e a tuo rischio e pericolo :-D

djinnZ wrote:
dimenticavo: -fomit-frame-pointer è sicura e valida solo per cpu x86 ed x86_64 (da intel 486 a core duo due e da amd k5 a athlon64, per capirci) al momento, su altre architetture più esoteriche per nulla quindi se non viene filtrata automaticamente è solo perchè qualche devel se ne è dimenticato od ha voluto evitare di appesantire l'ebuild con test inutili.

sei sicuro che venga filtrata? l'ho usata anche su ppc e non mi sembra sia sconsigliata nel forum dedicato a ppc.
Anche sul manuale di gcc si parla di
"It also makes debugging impossible on some machines."
"On some machines, such as the VAX, this flag has no effect"
Quindi non mi sembra "insicura" ma se hai notizie in merito, benvengano. :-)
_________________
proud user of faKeDE-4.7.3
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Wed Oct 08, 2008 2:07 pm    Post subject: Reply with quote

Non ho detto che è insicura ma che è sicura solo per intel/amd x86 ed x86_64. Ovvero per ppc o ia64 semplicemente non ci sono informazioni sufficienti per dire che è sicura e su arm o sg (non chiedermi quale catorcio, mica posso tenerli a mente) crea problemi seri.

Quanto allo stripe c'era un ottimo motivo per non farlo indiscriminatamente (ma tanto per cambiare non lo ricordo adesso), io sono il primo a volerlo fare visto che per hardened è superfluo, visto che dove è possibile portage lo fa è inutile andarsi a cercare guai.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
xdarma
l33t
l33t


Joined: 08 Dec 2003
Posts: 682
Location: tra veneto e friuli (italy)

PostPosted: Thu Oct 23, 2008 8:32 pm    Post subject: Reply with quote

-fomit-frame-pointer
djinnZ wrote:
Non ho detto che è insicura ma che è sicura solo per intel/amd x86 ed x86_64. Ovvero per ppc o ia64 semplicemente non ci sono informazioni sufficienti per dire che è sicura e su arm o sg (non chiedermi quale catorcio, mica posso tenerli a mente) crea problemi seri.

in un post precedente mi sembrava tu la considerassi sicura e valida solo per x86 e x86_64 escludendo tutte le altre architetture, comunque non è un problema: vista la scarsezza di alternative "desktop" mi tocca tenermi x86 et similia

-S
djinnZ wrote:
Quanto allo stripe c'era un ottimo motivo per non farlo indiscriminatamente (ma tanto per cambiare non lo ricordo adesso), io sono il primo a volerlo fare visto che per hardened è superfluo, visto che dove è possibile portage lo fa è inutile andarsi a cercare guai.

ma stai parlando dello stripe "tagliamargherite" o dello stripe del debug?
-s non rientra nei miei piani quinquennali
-S sarà forse compreso nelle operazioni di portage ma non sembra dare grattacapi
[...un attimo che tocco ferro...]

--as-needed
ho finito di ricompilare e dopo una decina di giorni di uso "normale" non mi sembra di vedere comportamenti anomali, crash o blocchi delle applicazioni, anzi c'è un leggerissimo miglioramento nei tempi di caricamento. Penso che manterrò questa LDFLAGS.
_________________
proud user of faKeDE-4.7.3
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page Previous  1, 2, 3, 4
Page 4 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum