750

Je pense que ça parle à tous les programmeurs, d'ailleurs ça porte un nom, être dans la "zone". C'est l'état de concentration qui te permet de retenir tout le contexte de ce que tu es en train de faire et qui te permet donc de trouver les solutions plus rapidement hehe
So much code to write, so little time.

751

Les artistes appellent ça "l'inspiration".
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é

752

Et sinon, la bonne réponse à la personne qui dérange devrait être "Non, parce que tu es dans mon killfile depuis 3 années, et maintenant Casse-Toi Pauv'Con™!" gni (Mais en général, ce sont souvent des Personnes Importantes™ et donc personne n'a le courage de leur dire ça en face. sad)
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é

753

Kevin Kofler (./750) :
Les artistes appellent ça "l'inspiration".


Arrête d'insulter les artistes tu veux?
avatar
"- Nigga you know what the fuck I want, nigga: I want your motherfuckin' Daytons, and your motherfuckin' stereo! And I'll take a double burger with cheese!
- WHUT?"
I LOVE TO HATE/I HATE YOUR LOVE -AND I CAN'T FEEL AFFECTION FOR PEOPLE LIKE YOU!
CAALGOOONNNNN [TELLMESOMETHINGIDONTKNOW SHOWMESOMETHINGICANTUSE PUSHTHEBUTTONS CONNECTTHEGODDAMNDOTS] (Si Dieu existe il doit me détester...)

754

Arrête, ce sont les codeurs qui sont lésés, sur ce coup-là embarrassed

755

Qu'on aime ou qu'on aime pas, il semblerais que le Swift ai de pas si mauvaise performances :

http://www.primatelabs.com/blog/2015/02/swift-performance-updated/

Le test de mandelbrot tiens la tete a la version C++

Les deux autres avec les "optimisation" (comprendre mieux savoir utiliser le langage) donne des résultat pas si déguelasse.
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.

756

En effet, ça commence à être vraiment intéressant
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

757

Pas mal du tout. Après, c'est un benchmark sur un algo. Ça n'est pas forcément révélateur de la performance réelle du langage sur une appli complète.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

758

C'est toujours pareil, à chaque fois qu'ils font un comparatif ils utilisent des algos qui font exclusivement des calculs intensifs sur entiers ou flottants. Tant mieux que Swift soit efficace pour ce genre de problème, mais ce sont ces mêmes benchs qui expliquent que Java est aussi rapide que C# qui est lui-même aussi rapide que C++.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

759

Bah de toute façon, un benchmark ne veut jamais dire grand-chose, mais ça donne un bon ordre de grandeur.

Après, on n'aura jamais un benchmark réellement adapté à son usage. Sur le même programme, le Swift peut être le meilleur langage (si on cherche un coût de développement faible) ou le moins bon (si on veut les meilleures perfs). Mais ça montre que grosso-modo, le Swift peut être un choix viable sauf si on veut vraiment des performances maximales.

Accessoirement, ça ne montre pas la consommation mémoire sur une appli conséquente, et comment elle évolue dans le temps.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

760

Oui mais justement, ce que je veux dire c'est que ça n'apprend rien de nouveau, il n'y a pas un seul langage moderne qui n'atteint pas des performances de même ordre de grandeur que le C++ sur ce genre d'algo. Heureusement que Swift le passe également, ça veut dire qu'il joue dans la même cours que les quelques dizaines de langages qui sont apparus depuis que LLVM en a grandement facilité le développement.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

761

Ça reste inférieur au C++ à part sur le benchmark Mandelbrot (même nettement sur le benchmark GEMM), et à mon avis, la performance a de fortes chances d'être catastrophique en dehors de ces 3 benchmarks, vu qu'ils n'optimisent visiblement que pour ça.
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é

762

Et de plus le langage Swift est propriétaire et Apple-only, donc si vous voulez écrire des programmes portables, ce n'est pas une option. Même cross-compiler pour un système Apple depuis un autre n'a pas l'air d'être possible avec Swift. (Les seuls téléchargements qu'ils proposent sont intégrés à Xcode.)
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é

763

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.

764

Phoenix is just starting out and is currently under heavy development.

De plus, les benchmarks qui ont été postés ici sont pour la version officielle propriétaire, les performances de la version libre seront totalement différentes.

Mais personne ne t'empêche de rajouter le lien à la page Wikipédia. tongue
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é

765

Godzil (./762) :
Kevin toujours a la page: https://source.ind.ie/project/phoenix/tree/master
Une implémentation tierce embryonnaire qui d'ailleurs n'a pas été mise a jour depuis deux mois, pour un langage si neuf, c'est tout sauf rassurant. De plus connaissant l'histoire d'Apple avec la justice, on peu craindre qu'ils se retournent contre elle n’importe quand.
avatar

766

J'en doute
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.

767

Kevin Kofler (./761) :
Ça reste inférieur au C++ à part sur le benchmark Mandelbrot (même nettement sur le benchmark GEMM), et à mon avis, la performance a de fortes chances d'être catastrophique en dehors de ces 3 benchmarks, vu qu'ils n'optimisent visiblement que pour ça.

et sur quoi te bases-tu exactement pour dire ça ?

(au passage, les benchmarks ne sont pas du tout faits par Apple)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

768

flanker (./766) :
et sur quoi te bases-tu exactement pour dire ça ?

Le blog (lien du ./755).
flanker (./766) :
(au passage, les benchmarks ne sont pas du tout faits par Apple)

Faits non, choisis oui. Et quels que soient les 3 benchmarks, si on se limite à 3 benchmarks pour juger la performance, c'est forcément une optimisation pour les benchmarks.
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é

769

Apple développe Swift. Geekbench porte trois de ses benchmarks C++ en Swift pour avoir une idée des perfs de Swift, et remarque que la dernière version de Swift apporte de gros gains.

Tu en déduis qu'Apple optimise pour ces benchmarks en particulier et que les perfs sont catastrophiques pour le reste.


J'ai décidément du mal avec ta logique…
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

770

(sur le github il y a d'autres bench : https://github.com/primatelabs/geekbench-swift/tree/master/GeekbenchSwift )

par contre c'est con qu'il y aie pas les sources des memes bench C++, histoire qu'on puisse se faire une idee de contre quoi ils comparent.
avatar
HURRRR !

771

J'avais cru comprendre (avec l'histoire des "nouvelles optimisations") que les auteurs des benchmarks faisaient parti des développeurs du langage, mais en fait non (et ce qu'ils ont "optimisé" est juste leur portage du benchmark, ce qui rend encore moins intéressantes les "nouvelles optimisations" dont ils parlent).

Je peux faire gagner à GCC n'importe quel benchmark avec des optimisations sur mesure (asm("code optimal"); grin), ça n'apporte rien aux développeurs en pratique.

À voir si et sur quoi Apple lui-même optimise son implémentation, ce serait beaucoup plus intéressant.
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é

772

Décidément, l'article a l'air un peu trop compliqué pour toi grin


Ils comparent :
* d'abord le même code entre Xcode 6.1 et Xcode 6.3 (donc des optimisations de la part d'Apple),
* puis le code d'origine avec Xcode 6.3 et le code optimisé (de leur côté).

Et on peut se rendre compte que si on a des perfs pas terribles au début, ce n'est pas forcément la faute de Swift (ce qui n'est en soi pas très étonnant).
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

773

nitro (./750) :
Je pense que ça parle à tous les programmeurs, d'ailleurs ça porte un nom, être dans la "zone". C'est l'état de concentration qui te permet de retenir tout le contexte de ce que tu es en train de faire et qui te permet donc de trouver les solutions plus rapidement hehe


avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

774

(reprise de la discussion commencée ici)
Godzil :
Voila pourquoi il ne faut pas faire confiance a un compilateur open source:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56881#c8

Monsieur se permet de faire des optimisation en partant sur des supositions.
Ce genre d'optimisation ne devrait jamais etre fait, jamais
Zerosquare :
Je ne suis pas sûr que ce soit spécifique à GCC, d'inliner les fonctions de la libc dans certains cas. Et pour autant que je me souvienne, c'est désactivable avec un flag et/ou un attribute.
Et utiliser des fonctions qui portent le même nom que celles de la libc mais qui ne fonctionnent pas pareil est pas franchement une bonne idée.
Godzil :
C'est desactivable avec un -W-no-xxx

mais ce genre d'optimisation est foireux dans le concept, même si remplacer une fonction de la libc peux aussi être conciderer comme un problème, ça peux être légitime.
Notamment dans des cas ou tu tourne en baremetal sans OS, tu ne vas pas forcement avoir de libc qui va bien, et ton gentil GCC va te faire de optimisation non voulue la ou tu peux vouloir avoir des fonction, au moins sur le prototype, identique avec la libc, mais dont le fonctionnement peux différer un poil, comme une valeur de retour qui n'est jamais utilisé.

Ce n'est meme pas de l'inline la mais de l'optimisation aggressive sur du code qui n'existe pas.

Ie. il va inventer que
memmove(bla, truc...) est equivalent a bla = memmove(bla, truc...)
Bah d'un point de vue purement rigoureux, je suis d'accord avec toi. Mais en pratique, la très grande majorité des utilisateurs du compilateur utilisent la libc de façon standard, et ces optimisations sont bénéfiques (ça peut aussi remplacer les malloc() de petite taille par des allocations sur la pile, etc.).

Si tu fais du "bare metal" ou des trucs sioux, il y a des switches à utiliser pour le signifier au compilateur, et je pensais que c'était assez connu (la doc de GCC en parle, de mémoire).

Pour le coup je dirais que le problème n'est pas vraiment GCC, mais plutôt qu'il faudrait un autre compilo C pour l'embarqué, moins agressif en matière d'optimisations mais avec un comportement plus déterminisite. Y'a bien des compilos certifiés, mais ça coûte un bras :/
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

775

Et je vois pas le rapport avec le côté open source de GCC, si ce n'est de taper gratos sur un truc libre non-apple ?

776

Opnsource , oui c'est limite un troll. Par contre la gestion chaotique de GCC et le nombre de "feature" introduites qui cassent (beaucoup) de code non
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.

777

Ok, mais ça c'est un autre débat en effet. Faudrait déjà voir quelle distro de gcc a été utilisée pour produire ça, quelles sont ses options par défaut, et ces options sont-elles le défaut de toutes les distributions de gcc par exemple.
Après, comme le dit Zerosquare, tu as probablement une utilisation assez "corner casique" © de gcc, vu ton matériel cible.

778

Ca casse des outils qui sont comme compilation de LCC par exemple
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.

779

Bof ca me choque pas. Je faisais pire en asm.

780

Godzil (./4753) :
Voila pourquoi il ne faut pas faire confiance a un compilateur open source:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56881#c8

Monsieur se permet de faire des optimisation en partant sur des supositions.
Ce genre d'optimisation ne devrait jamais etre fait, jamais

La fonction memmove a des sémantiques bien définies dans le standard C, tu n'as pas le droit de la remplacer par n'importe quoi. Si tu développes un programme sans la libc, utilise -ffreestanding. Si tu veux juste remplacer memmove en particulier, alors appelle ton implémentation incompatible autrement. Le nom memmove est réservé par le standard C.

Bref, GCC a parfaitement raison, c'est le code qui est incorrect.
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é