60

-j3 tant qu'a faire (classiquement c'est nb_cpu_ou_core + 1) il y a des cas ou c'est moins efficace, mais c'est rare
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

61

D'un autre côté, je suis bien content de garder un coeur pour surfer sur mon forum préféré grin

62

Normalement, ce n'est pas un problème sous GNU/Linux même quand tous les cœurs sont utilisés pour une compilation, le scheduler gère bien l'interactivité. (En revanche, sous le fameux Me, c'était autre chose. sick Je ne regrette carrément pas d'être passé à GNU/Linux plein temps!)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

63

-

64

- ben alors pen² on assume pas ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

65

./62 > C'est marrant ce que tu dis, car moi j'ai toujours constaté, et lu le contraire…
Si tu lances une compilation un peu lourde sous linux, même le framebuffer en vient à ramer. (tandis que X gèle carrément)
Je pense qu'il n'est pas la peine d'en dire plus.

(double cross -_-)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

66

GC: ha ? perso sou linux & autre unix je n'ai jamais eu de tel soucis
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

67

si mais bon, finalement je me suis dit que c'était pas la peine de le relancer

68

Avec Make sur un seul coeur, je le sens pas tant que je cherche pas à lancer un bon vieux fps OpenGL. je surfe et fait le reste normalement.

69

Godzil > ben de mémoire, il me semble compiler OOo en arrière plan (terminal virtuel, au cas où X crash…) sur un CPU à 2GHz (je sais plus si le fait d'être dual core y change quelque chose ou pas, je crois que non) avec 2 Go de RAM suffit à constater cela.
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

70

Ha mais le soucis, c'est la RAM, pas la compilation ou le CPU, OOo est du genre a consommer enormement de RAM pour compiler certain templates. Et ça pour n'importe quel OS, si tu dépasse la RAM physique ça va ramer. Et linux peux faire ce qu'il veux, il peux pas mieux faire que les autres sur ce point.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

71

Une compilation de OO.o n'est pas une compilation normale. gni
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

72

./70 > Non, en fait il fait pas mieux, il fait pire… C'est justement ça le problème grin
Mais la seule compilation où j'ai atteint la limite de RAM, ce n'était pas OOo, mais Wine en -O3 (en fait c'est juste impossible… cheeky )
(Je ne me souviens plus des détails, mais il me semble que je n'avais configuré ni partition de swap ni fichier d'échange… Ça pose pas si souvent que ça des problèmes en fait…)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

73

Etrange, je n'ai jamais eu de soucis a compiler wine ?!
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

74

GoldenCrystal (./72) :
Wine en -O3

^^
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

75

CFLAGS="-O3 -march=core2 -pipe"
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

76

Ça doit dépendre de la version de GCC, l'inlining se comporte très différemment de version en version.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

77

J'ai compilé Wine en -O2 sans souci avec mes 2 Go.

78

./75 > Ben à cette époque là le O3 suffisait largement à bouffer toute ma RAM, que veux-tu grin Mais en fait peut-être n'avais-je que 1 Go sur ce pc…
Folco > Ah mais je n'ai jamais eu de souci avec le -O2 hein grin
Le -O3 par contre est un goinfre. smile
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

79

Bon, mon niou parser from scratch marche au poil love

Il distingue les nombres dans leurs différentes bases, il sait lire les labels normaux, les labels locaux, ceux qui servent d'export aux libs, les équivelents de ces labels dans les headers, les labels locaux des macros, bref, c'est magique et tout marche au poil. smile

Demain, je mets ça en forme et je peux releaser un petit paquet bien sympatique pour les utilisateurs de A68k. smile
L'étape suivante consistera à proposer ça à Scintilla, on sait jamais.

80

Avant la livraison je serai tenté de te conseiller de remplacer 0x08 par 0x80 quand tu penses à 128...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

81

rotfl

'cré vince grin

Tiens, si vous vous faites suer au boulot, je suis preneur de tout conseil pour ce qui n'irait pas (sauf niveau parenthèses, je vais m'y perdre tongue)
LexA68K.cxx
static inline bool IsIdentifierStart (const int ch) { return (ch < 0x80) && (isalpha(ch) || (ch == '_') || (ch == '\')); } static inline bool IsIdentifierChar (const int ch) { return (ch < 0x80) && (isalnum(ch) || (ch == '_') || (ch == '@') || (ch == ':') || (ch == '.') || (ch == '\')); } static inline bool IsLabelStart (const int ch) { return (ch < 0x80) && (isalpha(ch) || (ch == '_') || (ch == '\')); } static inline int IsOperator (const int ch1, const int ch2) { if (ch1 < 0x80) { if ((ch1 == '+') || (ch1 == '-') || (ch1 == '*') || (ch1 == '/') || (ch1 == '#') || (ch1 == '(') || (ch1 == ')') || (ch1 == '~') || (ch1 == '&') || (ch1 == '|')) return 1; else if ((ch2 < 0x80) && (ch1 == ch2) && (ch1 == '<' || ch1 == '>')) return 2; } return 0; } static inline bool IsBin (const int ch) { return (ch < 0x80) && ((ch == '0') || (ch == '1')); } static void ColouriseA68kDoc (unsigned int startPos, int length, int initStyle, WordList *keywordlists[], Accessor &styler) { WordList &cpuInstruction = *keywordlists[0]; WordList &registers = *keywordlists[1]; WordList &directive = *keywordlists[2]; WordList &extInstruction = *keywordlists[3]; StyleContext sc(startPos, length, initStyle, styler); for (; sc.More(); sc.Forward()) { char Buffer[100]; int OpType; // Reset style at beginning of line if (sc.atLineStart) sc.SetState(SCE_A68K_DEFAULT); // Check if current style continue if (sc.state != SCE_A68K_DEFAULT) { if (((sc.state == SCE_A68K_COMMENT) && !sc.atLineStart) || ((sc.state == SCE_A68K_NUMBER_DEC) && isdigit(sc.ch)) || ((sc.state == SCE_A68K_NUMBER_BIN) && IsBin(sc.ch)) || ((sc.state == SCE_A68K_NUMBER_HEX) && isxdigit(sc.ch)) || ((sc.state == SCE_A68K_MACRO_ARG) && isdigit(sc.ch)) || ((sc.state == SCE_A68K_STRING1) && (sc.ch != '\'')) || ((sc.state == SCE_A68K_STRING2) && (sc.ch != '\"')) || ((sc.state == SCE_A68K_LABEL) && ((sc.ch != ':') || ((sc.ch == ':') && (sc.chNext == ':')) || ((sc.chPrev == ':') && (sc.ch == ':') && IsIdentifierChar(sc.chNext)))) || ((sc.state == SCE_A68K_IDENTIFIER) && IsIdentifierChar(sc.ch))) continue; else if (((sc.state == SCE_A68K_STRING1) && (sc.ch == '\'')) || ((sc.state == SCE_A68K_STRING2) && (sc.ch == '\"')) || ((sc.state == SCE_A68K_LABEL) && (sc.ch == ':'))) sc.ForwardSetState(SCE_A68K_DEFAULT); else if ((sc.state == SCE_A68K_IDENTIFIER) && !IsIdentifierChar(sc.ch)) { sc.GetCurrentLowered(Buffer, sizeof(Buffer)); if (cpuInstruction.InList(Buffer)) sc.ChangeState(SCE_A68K_CPUINSTRUCTION); else if (extInstruction.InList(Buffer)) sc.ChangeState(SCE_A68K_EXTINSTRUCTION); else if (registers.InList(Buffer)) sc.ChangeState(SCE_A68K_REGISTER); else if (directive.InList(Buffer)) sc.ChangeState(SCE_A68K_DIRECTIVE); } sc.SetState(SCE_A68K_DEFAULT); // Drop current state ? } // Check if a new style must be entered OpType = IsOperator(sc.ch, sc.chNext); if (sc.atLineStart && IsLabelStart(sc.ch)) sc.SetState(SCE_A68K_LABEL); else if (sc.ch == ';') sc.SetState(SCE_A68K_COMMENT); else if (isdigit(sc.ch)) sc.SetState(SCE_A68K_NUMBER_DEC); else if (sc.ch == '%') sc.SetState(SCE_A68K_NUMBER_BIN); else if (sc.ch == '$') sc.SetState(SCE_A68K_NUMBER_HEX); else if (sc.ch == '\'') sc.SetState(SCE_A68K_STRING1); else if (sc.ch == '\"') sc.SetState(SCE_A68K_STRING2); else if (sc.ch == '\') sc.SetState(SCE_A68K_MACRO_ARG); else if (IsIdentifierStart(sc.ch)) sc.SetState(SCE_A68K_IDENTIFIER); else if (OpType != 0) { sc.SetState(SCE_A68K_OPERATOR); if (OpType == 2) sc.ForwardSetState(SCE_A68K_OPERATOR); } } sc.Complete(); } static const char * const a68kWordListDesc[] = { "CPU instructions", "Registers", "Directives", "Extended instructions", 0 }; LexerModule lmA68k(SCLEX_A68K, ColouriseA68kDoc, "A68k", 0, a68kWordListDesc);

82

Aaaaaaaaaaaaaaaaaarghhhhhhhhhhhhh sick#dead#

Je vais juste me contenter de te conseiller de commenter très largement ton code, on ne pourra pas se mettre d'accord sur le reste grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

83

Si, justement, je n'ai jamais eu de code relu, autre que quelques lignes, alors je veux bien des conseils justement !

Contrairement à la plupart de vous, je n'ai jamais de spécifications, de collègues qui relisent, de review systématique ou autres trucs comme ça, et ça me manque bien évidemment pour contribuer de manière efficace à un projet, alors si, je suis très preneur.

J'attaque immédiatement les commentaires.

Déjà, j'imagine ce qui a pu te faire suer :
- les parenthèses, mais on en a déjà parlé, je vais revoir
- l'expression des booléens (!xxx etc...)
- le fait de ne pas mettres d'accolades dans les suites de if/else if/else, j'imaigne aussi ?
- quoi d'autre encore ?

Merci beaucoup pour ceux qui m'aideront !

ps -> ah oui, on va pas troller pour savoir si tel espace devrait être là ou pas, sauf si c'est vraiment significatif. Je voudrais en gros juste que ce code puisse être lu aisément par quelqu'un qui connait Scintilla, mais pas ce fichier. Un truc dans le genre. Donc restons sur ce qui est important si vous voulez bien. smile

84

Bon grin

- Utilise des valeurs définies par #define plutôt que des valeurs numériques, ça te permettra d'avoir un code plus lisible et plus maintenable.
Typiquement, en l'absence de doc, je ne sais pas à quoi correspond la valeur "2" renvoyée par ta fonction IsOperator.
- Commenter les fonctions et tout j'ai déjà dit grin Tu connais Doxygen ? cheeky
- Ce n'est manifestement pas du C, donc je vais passer sur "for (; sc.More(); sc.Forward())", c'est peut-être normal.
- Oui les accolades et les tests explicites. Pour les accolades, je trouve que ça apporte en lisibilité, et ça évite les bugs (quand quelqu'un ne se rend pas compte au premier abord qu'il y a un test suivi d'une action, etc).
- J'aurais tendance à me limiter à un seul return par fonction, mais c'est question de goût aussi. Le but est d'améliorer la lisibilité du code (on sait où l'on entre, et on sait où l'on sort, donc s'il y a un bug, c'est plus facile à tracer), mais question de goût aussi.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

85

for (; sc.More(); sc.Forward())

est valide en C embarrassed :

typedef void (*funcptr)(void);
struct machin {
  funcptr More;
  funcptr Forward;
} sc;
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

86

Valide mais moche tongue
Je pensais surtout à "WordList &cpuInstruction = *keywordlists[0];" pour dire ça tongue
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

87

Ben c'est une référence...

bon, je vais voir tout ça, merci beaucoup top

88

Ximoon (./86) :
Valide mais moche tongue

Pourtant c'est tres utilisé (Linux, uBoot, ...)

Je pensais surtout à "WordList &cpuInstruction = *keywordlists[0];" pour dire ça tongue

La par contre on peux pas le faire en C ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

89

Pour moi, référence = C++, mais j'ai peut-être raté un truc, il est encore tôt zzz
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

90

Ximoon (./86) :
Je pensais surtout à "WordList &cpuInstruction = *keywordlists[0];" pour dire ça tongue.gif
plus clair comme ça wink

avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca