Ce à quoi j'ajouterai que l'écriture de programme auto-apprenant est une des meilleurs voie qui mènera à la compréhension profonde de la sémantique.
C'est en essayant de lever les embûches de cet apprentissage que les véritables enjeux théoriques - qui sont beaucoup plus trans disciplinaires qu'on a tendance à le penser- vont apparaître.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
(les processeurs modernes supportent des "paliers" de puissance), de quel types de matériels parlent-ils ?
Les processeurs x86 au moins, ça me parait assez évident qu'il possèdent ce genre de fonction
- Est-il possible de généraliser ceci à l'ensemble du sytème GNU/Linux, d'avoir un aperçu de la puissance nécessaire et de régler la puissance de la machine en conséquence ?
Oui et non.
Réussir à généraliser implique de disposer d'une couche de réflexivité assez poussé sur le code.
On fait on a trois voies qu'on peut mixer :
1) On fait des statistiques sur le code, et on règle en conséquence. Sur un lecteur vidéo, en très gros c'est possible parce qu'un flux à décoder tourne toujours autour du même ordre de grandeur.
Dès que tu tombes sur un programmes qui joue aux montagnes russes en terme de consommation avec en plus la problématique de ses autres petis copains qui tournent à côté et qui ont faim eux aussi, là ça risque de devenir ingérable.
2) Le compilateur évalue à la compilation la comlpexité du code. *
En pratique c'est quasiment impossible à faire sur la plupart des langages et certainement en C, à moins qu'une équipe de fou furieux y passe 10 ans.
C'est possible de le faire que sur un langage assez minimaliste qui donc te permet de faire une analyse de flot assez profonde (ie. analyse du graphe du code en analysant toutes les branches possibles du code avec à chaque embranchement le devenir possible de chaque variables, des supputations sur le résultat d'un switch, etc...).
Bref avec 4 Go de consommation mémoire pour compiler 2000 lignes de code (la combinatoire est exponentielle), ça monte très vite..
Avec un moteur pareil, tu peux embarquer dans le code une estimation, un ordre de grandeur de la complexité de ton algo. Tiens celui-ci est un o(n²), celui-ci un o(e^n) (aïe..).
Là le sheduleur calcul rapidement (on lui donne n) et affecte la consommation en conséquence
3) au début t'es à 50 % de la fréquence. Le décodeur vidéo te dit "il me faut assez de ressource pour avoir fini de décoder mon image dans 50 ms". Tu donne la main au bout de code en question. 30 ms passe pas fini. Tu augmente la fréquence de 25 %.
On est à 42 ms. toujours pas fini.
Tu montes à 100 % de puissance
48 ms, il a fini
C'est bon tu redescend à 50 % de fréquence.
C'est une pure supposition hein.
- Si cela est possible est-ce réellement économe en énergie et dans quelle proportion ?
Dans la même proportion de gain de consommation en fonction de la fréquence de ton processeur, de sa charge, etc...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
C'est marrant j'y avais pensé il y a quelques mois, mais pas pour Linux et pas pour des raisons d'économies d'énergie.
Je pense que c'est un concept très intéressant à généraliser, tout comme la tendance à marquer sémantiquement certains processus comme "desktop" de sorte à leur donner une priorité plus élevé lorsqu'ils traitent un évènement.
Ce genre de modèle devient très intéressant si le compilateur est capable d'évaluer la complexité d'un sous graphe de code.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Le domaine de l'entreprise utilise des regles IPSEC envoyees par group policy ainsi que plein d'autres parametres, tu mets Linux la-dedans, tu fais comment pour gerer ca ? Tu installes des serveurs specifiquement pour les machines Linux et tu payes qq'un pour etre sur qu'ils tournent tout le temps et sont synchro avec les machines sous Windows ?
Ca c'est intéressant, est-ce que tu as d'autres exemples de fonctionalités de ce genre gérable avec windows mais aucun autre OS ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Dans l'Empereur Dieu, Leto explique que
1) Il a "vu" l'extinction de l'humanité et a decidé d'imposer ce qu'il appel le "sentier d'or"
2) Une fois cela vu, il se refuse de se servir de la prescience pour ne pas tomber dans la même erreur que son père qui a fini par en quelque sorte péter les plomb.
Je crois que plus généralement, et c'est assez clair quand on lit les préludes à Dune, que l'idée d'Herbert est de plutôt considérer les sociétés humaines comme instable dynamiquement, et que ça peut déraper à un moment ou un autre. Les périodes de stabilité se succèdent aux périodes de bordels.
En période de bordel, les gens aspirent à la stabilité, il y a donc la possibilité d'autostabilisation (pas toujours).
En période de stabilité, surtout quand ça va bien, on risque de voir apparaître le syndrome "fils à papa" où le nihilisme émmerge d'une stabilité confortable sans but. C'est entre autre un peu ce qui se passe aujourd'hui.
Il y a plein d'autres configuration de ce type, je n'ai absolument pas été exhaustif.
L'autre idée Herbertienne est de considérer que l'espèce humaine est condamné à la violence éternelle et que la grandeur de l'homme est culturelle, à moins qu'il y ait manipulation génétique, et donc fragile.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ahhh merci. Je la connaissais depuis 10 ans, mais sans les termes exact et sans connaître son auteur.
Je pense que c'est très vrai, et in Fine, c'est un peu une des morales du cycle de Dune de Franck Herbert : Un société doit faire le "choix" entre stabilité avec une créatvité limité, des inégalités réduites, etc... ou un bordel sans nom dans lequel va émmerger des choses formidables tout comme des horreurs.
C'est une question d'entropie en fait...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je voulais faire un journal pour ça, mais vaut mieux pas.
J'aurai malheureusement jamais le plaisir de cracher sur cette ordure de son vivant, je me consolerai en le faisant sur sa tombe.
Ce type a des milliers d'enfants mort de faim sur sa conscience, il a en grande partie constitué l'idéologie qui nous mène droit dans le mur en klaxonnant.
Rappelons qu'il était partisan du tout privé et de la quasi disparition de l'Etat. Il fut conseiller de Tatcher, Reagan et Pinochet (entre fasho, on s'entend bien).
Keynes !!! reviens !!!
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Au minutage 30 mn (environ) on y entend Yves Michaud raconter entre autre chose (écoutez, c'est jubilatoire), avoir vu Nicolas Hulot et son amis Barnier, accompagné de sa famille descendre chacun (la famille Barnier, et N. Hulot) descendre de deux gros 4x4 aux vitres fumées.
Bref, de la comm' (?), encore de la comm' (?)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je pense aussi qu'un des grands désavantage du monde libre est le manque criant d'IDE de développement vraiment à la hauteur.
Les gens restent coincés sur vi/emacs.
Ces deux logiciels sont très puissant, mais c'est pas un AGL où je peux gérer la base de données, dessiner l'IUH, couplé à une doc véritablement claire, aidé d'assistants d'écriture de code.
Bon oui, ya Eclipse, mais ça va pas aussi loin quand même.
Et j'ai pas d'équivalent à Flash pour faire du Svg.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Non leur objectif est clairement d'être multi plateforme : comme beaucoup ils parient sur l'hétérogénéité croissante des plateformes, Linux y compris.
Ca sera surement pas mal propriétaire malheureusement, mais ça sera multi plateforme, sinon ça n'a aucun intérêt. C'est le discours de Kevin Lynch, le vice-président d'Adobe.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
La dépèche tombe à point car est récemment tombé sur les téléscripteurs et en particulier le magazine "décision informatique" la nouvelle du lancement d'Applo par Adobe qui se veut rien de moins que le concurent de .Net et Java.
Apollo est une plateforme constituant un environnement d'exécution basé sur les technologies Flex/Flash, Html/Ajax ainsi qu'un moteur PDF.
Des fonctionnalités permettant de gérer le mode déconnecté sont inclus dans la plateforme.
Avec cette technologie, plus besoin de navigateur, en effet, ils utilisent carrément WebKit, l'évolution Made by Apple de KHTML avec un moteur JavaScript.
Avec tout cela, on aura des applications Ajax/Flex/PDF sur le poste de travail qu'il sera difficile de différencier d'une application standard. Le socle pèsera de 5 à 9 Mo, soit sensiblement moins que Java ou .Net
Côté performances, JIT+Webkit en sus des autres technologies assez éprouvées (Flash, Flex, Html, CSS, Javascript, Ajax), on devrait avoir de très bon résultats.
Une belle bataille en perspective, et un concurent de plus poussant vers l'ouverture...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ne pas oublier l'implications de changement de valeur de variable sur quelques centaines de lignes de code. Ne pas oublier non plus que ce n'est pas tellement le graphe du code qui bouffe de la mémoire, mais toutes les informations sur celui-ci (graphe de dépendances, intervales possibles de valeurs de variables, etc...)
Quand au boucle, elles reviennent à un if avec un goto.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Dans une analyse de flot profonde, on étudie non pas le graphe du code, mais le graphe des exécutions possible du code, comme l'expliquait Antoine et Reno. La combinatoire explose donc très vite.
Avec un code du style
Bloc A
if (cond1)
_ if (cond2)
_ Bloc C
_ else
_ Bloc C'
else
_ Bloc A''
end if
Bloc B
Dans ce genre de cas (fréquent), tu cherches à analyser l'ensemble des intervales de valeur dans lesquels peuvent se trouver tes variables (n'oubli pas que ton code est réduit selon les primitives que j'ai donné plus haut), en effet, il faut faire des suppositions sur les chemins d'exécution pour détecter ceux qui ne seront jamais pris, malgré les apparences.
Avec deux boucles imbriqués, tu dois tester le devenir de toutes les variables du bloc A en fonction des branchements sur cond1,cond2.
En d'autres termes, à cause de ces deux if imbriqués, tu es obligé de représenter 4 évolutions possible des variables du bloc A, afin de détecter les intervals possibles, etc..
Posons par exemple que tu déclares une variable n := n*2+1 dans le bloc A...
Tu as 4 évolutions possible de cette variable n, qui peuvent avoir des conséquences dans le code. Ce qui signifie que tu dois (si n est modifié dans plus d'une des 4 branches de test) représenter toute la suite du graphe orienté en 4 versions (!).
Imagine quand tu as 5, 20, 50 niveau de test imbriqués avec des énormes blocs de code à l'intérieur... Ta combinatoire explose.
Ai-je été clair ? :)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: plus ça rate, plus ça a des chances de réussir
Posté par Ontologia (site web personnel) . En réponse à la dépêche IBM libère un framework pour le Web sémantique. Évalué à 3.
C'est en essayant de lever les embûches de cet apprentissage que les véritables enjeux théoriques - qui sont beaucoup plus trans disciplinaires qu'on a tendance à le penser- vont apparaître.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Je vais être méchant !
Posté par Ontologia (site web personnel) . En réponse au journal L'informaticien et l'Open Source. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Je vais être méchant !
Posté par Ontologia (site web personnel) . En réponse au journal L'informaticien et l'Open Source. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Mouarf
Posté par Ontologia (site web personnel) . En réponse au journal Pendant que Linux progresse.... Évalué à 3.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: API d'annonce de contrainte
Posté par Ontologia (site web personnel) . En réponse à la dépêche Nouvelle version 2.6.19 du noyau Linux. Évalué à 6.
Les processeurs x86 au moins, ça me parait assez évident qu'il possèdent ce genre de fonction
- Est-il possible de généraliser ceci à l'ensemble du sytème GNU/Linux, d'avoir un aperçu de la puissance nécessaire et de régler la puissance de la machine en conséquence ?
Oui et non.
Réussir à généraliser implique de disposer d'une couche de réflexivité assez poussé sur le code.
On fait on a trois voies qu'on peut mixer :
1) On fait des statistiques sur le code, et on règle en conséquence. Sur un lecteur vidéo, en très gros c'est possible parce qu'un flux à décoder tourne toujours autour du même ordre de grandeur.
Dès que tu tombes sur un programmes qui joue aux montagnes russes en terme de consommation avec en plus la problématique de ses autres petis copains qui tournent à côté et qui ont faim eux aussi, là ça risque de devenir ingérable.
2) Le compilateur évalue à la compilation la comlpexité du code. *
En pratique c'est quasiment impossible à faire sur la plupart des langages et certainement en C, à moins qu'une équipe de fou furieux y passe 10 ans.
C'est possible de le faire que sur un langage assez minimaliste qui donc te permet de faire une analyse de flot assez profonde (ie. analyse du graphe du code en analysant toutes les branches possibles du code avec à chaque embranchement le devenir possible de chaque variables, des supputations sur le résultat d'un switch, etc...).
Bref avec 4 Go de consommation mémoire pour compiler 2000 lignes de code (la combinatoire est exponentielle), ça monte très vite..
Avec un moteur pareil, tu peux embarquer dans le code une estimation, un ordre de grandeur de la complexité de ton algo. Tiens celui-ci est un o(n²), celui-ci un o(e^n) (aïe..).
Là le sheduleur calcul rapidement (on lui donne n) et affecte la consommation en conséquence
3) au début t'es à 50 % de la fréquence. Le décodeur vidéo te dit "il me faut assez de ressource pour avoir fini de décoder mon image dans 50 ms". Tu donne la main au bout de code en question. 30 ms passe pas fini. Tu augmente la fréquence de 25 %.
On est à 42 ms. toujours pas fini.
Tu montes à 100 % de puissance
48 ms, il a fini
C'est bon tu redescend à 50 % de fréquence.
C'est une pure supposition hein.
- Si cela est possible est-ce réellement économe en énergie et dans quelle proportion ?
Dans la même proportion de gain de consommation en fonction de la fréquence de ton processeur, de sa charge, etc...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# API d'annonce de contrainte
Posté par Ontologia (site web personnel) . En réponse à la dépêche Nouvelle version 2.6.19 du noyau Linux. Évalué à 7.
Je pense que c'est un concept très intéressant à généraliser, tout comme la tendance à marquer sémantiquement certains processus comme "desktop" de sorte à leur donner une priorité plus élevé lorsqu'ils traitent un évènement.
Ce genre de modèle devient très intéressant si le compilateur est capable d'évaluer la complexité d'un sous graphe de code.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Foutaises
Posté par Ontologia (site web personnel) . En réponse à la dépêche Le monopole de Microsoft : mode d'emploi. Évalué à 2.
Ca c'est intéressant, est-ce que tu as d'autres exemples de fonctionalités de ce genre gérable avec windows mais aucun autre OS ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: autres réponses possibles
Posté par Ontologia (site web personnel) . En réponse au journal Que répond un codeur dont le programme ne fonctionne pas ?. Évalué à 9.
Ok, je ---> []
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ca montre bien que la France ne va pas si mal...
Posté par Ontologia (site web personnel) . En réponse au journal TF1 a gagné. Évalué à 3.
1) Il a "vu" l'extinction de l'humanité et a decidé d'imposer ce qu'il appel le "sentier d'or"
2) Une fois cela vu, il se refuse de se servir de la prescience pour ne pas tomber dans la même erreur que son père qui a fini par en quelque sorte péter les plomb.
Je crois que plus généralement, et c'est assez clair quand on lit les préludes à Dune, que l'idée d'Herbert est de plutôt considérer les sociétés humaines comme instable dynamiquement, et que ça peut déraper à un moment ou un autre. Les périodes de stabilité se succèdent aux périodes de bordels.
En période de bordel, les gens aspirent à la stabilité, il y a donc la possibilité d'autostabilisation (pas toujours).
En période de stabilité, surtout quand ça va bien, on risque de voir apparaître le syndrome "fils à papa" où le nihilisme émmerge d'une stabilité confortable sans but. C'est entre autre un peu ce qui se passe aujourd'hui.
Il y a plein d'autres configuration de ce type, je n'ai absolument pas été exhaustif.
L'autre idée Herbertienne est de considérer que l'espèce humaine est condamné à la violence éternelle et que la grandeur de l'homme est culturelle, à moins qu'il y ait manipulation génétique, et donc fragile.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ca montre bien que la France ne va pas si mal...
Posté par Ontologia (site web personnel) . En réponse au journal TF1 a gagné. Évalué à 2.
Je pense que c'est très vrai, et in Fine, c'est un peu une des morales du cycle de Dune de Franck Herbert : Un société doit faire le "choix" entre stabilité avec une créatvité limité, des inégalités réduites, etc... ou un bordel sans nom dans lequel va émmerger des choses formidables tout comme des horreurs.
C'est une question d'entropie en fait...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Facile ;-)
Posté par Ontologia (site web personnel) . En réponse au message Copier un fichier sur plusieurs clé usb en même temps. Évalué à 3.
Je vais étudier ça, et acheter ce linux pratique que je voyais en librairie mais dont je ne voyais pas l'intérêt :)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Et l'extréme centre ?
Posté par Ontologia (site web personnel) . En réponse au journal La primaire socialiste. Évalué à 1.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: lutte des moules
Posté par Ontologia (site web personnel) . En réponse au journal La primaire socialiste. Évalué à 2.
http://www.insee.fr/fr/ffc/chifcle_fiche.asp?ref_id=NATCCJ03(...)
23 % de la population active, tout de même.
C'est le discours préféré des bobos ça, "mais ya plus d'ouvriers ma bonne dame, c'est chez les chinois, ça, mais pas chez nous".
Je te critique, mais j'y ai cru moi aussi fut une époque.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: trollons un peu
Posté par Ontologia (site web personnel) . En réponse au journal La primaire socialiste. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: trollons un peu
Posté par Ontologia (site web personnel) . En réponse au journal La primaire socialiste. Évalué à 3.
J'aurai malheureusement jamais le plaisir de cracher sur cette ordure de son vivant, je me consolerai en le faisant sur sa tombe.
Ce type a des milliers d'enfants mort de faim sur sa conscience, il a en grande partie constitué l'idéologie qui nous mène droit dans le mur en klaxonnant.
Rappelons qu'il était partisan du tout privé et de la quasi disparition de l'Etat. Il fut conseiller de Tatcher, Reagan et Pinochet (entre fasho, on s'entend bien).
Keynes !!! reviens !!!
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Notre ami Nicolas
Posté par Ontologia (site web personnel) . En réponse au journal Nicolas Hulot et le libre.. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Notre ami Nicolas
Posté par Ontologia (site web personnel) . En réponse au journal Nicolas Hulot et le libre.. Évalué à 1.
Au minutage 30 mn (environ) on y entend Yves Michaud raconter entre autre chose (écoutez, c'est jubilatoire), avoir vu Nicolas Hulot et son amis Barnier, accompagné de sa famille descendre chacun (la famille Barnier, et N. Hulot) descendre de deux gros 4x4 aux vitres fumées.
Bref, de la comm' (?), encore de la comm' (?)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Y en a qui ont pas froid aux oreilles
Posté par Ontologia (site web personnel) . En réponse à la dépêche Mono passe en version 1.2. Évalué à 3.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Piste avec ls
Posté par Ontologia (site web personnel) . En réponse au message less et les couleur. Évalué à 2.
history | grep ldap | less -R
alors que si j'enlève le less, j'ai tous les ldap trouvé en rouge...
C'est bizare non ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: des sources !
Posté par Ontologia (site web personnel) . En réponse au journal Marre des cons.. Évalué à 1.
Ah les journalistes, dès qu'il y a un peu de physique, ils sont perdus...
Pour infos, une voix chuchoté est à 30 dB...
http://www.audition-infos.org/framegauche/+infos/A8echelle.h(...)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Une pièce du puzzle
Posté par Ontologia (site web personnel) . En réponse à la dépêche Adobe libère sa machine virtuelle ActionScript 3. Évalué à 5.
Les gens restent coincés sur vi/emacs.
Ces deux logiciels sont très puissant, mais c'est pas un AGL où je peux gérer la base de données, dessiner l'IUH, couplé à une doc véritablement claire, aidé d'assistants d'écriture de code.
Bon oui, ya Eclipse, mais ça va pas aussi loin quand même.
Et j'ai pas d'équivalent à Flash pour faire du Svg.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Une pièce du puzzle
Posté par Ontologia (site web personnel) . En réponse à la dépêche Adobe libère sa machine virtuelle ActionScript 3. Évalué à 6.
Ca sera surement pas mal propriétaire malheureusement, mais ça sera multi plateforme, sinon ça n'a aucun intérêt. C'est le discours de Kevin Lynch, le vice-président d'Adobe.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Une pièce du puzzle
Posté par Ontologia (site web personnel) . En réponse à la dépêche Adobe libère sa machine virtuelle ActionScript 3. Évalué à 10.
Apollo est une plateforme constituant un environnement d'exécution basé sur les technologies Flex/Flash, Html/Ajax ainsi qu'un moteur PDF.
Des fonctionnalités permettant de gérer le mode déconnecté sont inclus dans la plateforme.
Avec cette technologie, plus besoin de navigateur, en effet, ils utilisent carrément WebKit, l'évolution Made by Apple de KHTML avec un moteur JavaScript.
Avec tout cela, on aura des applications Ajax/Flex/PDF sur le poste de travail qu'il sera difficile de différencier d'une application standard. Le socle pèsera de 5 à 9 Mo, soit sensiblement moins que Java ou .Net
Côté performances, JIT+Webkit en sus des autres technologies assez éprouvées (Flash, Flex, Html, CSS, Javascript, Ajax), on devrait avoir de très bon résultats.
Une belle bataille en perspective, et un concurent de plus poussant vers l'ouverture...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Compilation lente <=> Analyse de flot
Posté par Ontologia (site web personnel) . En réponse à la dépêche Lancement du projet GlobalGCC. Évalué à 2.
Quand au boucle, elles reviennent à un if avec un goto.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Compilation lente <=> Analyse de flot
Posté par Ontologia (site web personnel) . En réponse à la dépêche Lancement du projet GlobalGCC. Évalué à 3.
Avec un code du style
Bloc A
if (cond1)
_ if (cond2)
_ Bloc C
_ else
_ Bloc C'
else
_ Bloc A''
end if
Bloc B
Dans ce genre de cas (fréquent), tu cherches à analyser l'ensemble des intervales de valeur dans lesquels peuvent se trouver tes variables (n'oubli pas que ton code est réduit selon les primitives que j'ai donné plus haut), en effet, il faut faire des suppositions sur les chemins d'exécution pour détecter ceux qui ne seront jamais pris, malgré les apparences.
Avec deux boucles imbriqués, tu dois tester le devenir de toutes les variables du bloc A en fonction des branchements sur cond1,cond2.
En d'autres termes, à cause de ces deux if imbriqués, tu es obligé de représenter 4 évolutions possible des variables du bloc A, afin de détecter les intervals possibles, etc..
Posons par exemple que tu déclares une variable n := n*2+1 dans le bloc A...
Tu as 4 évolutions possible de cette variable n, qui peuvent avoir des conséquences dans le code. Ce qui signifie que tu dois (si n est modifié dans plus d'une des 4 branches de test) représenter toute la suite du graphe orienté en 4 versions (!).
Imagine quand tu as 5, 20, 50 niveau de test imbriqués avec des énormes blocs de code à l'intérieur... Ta combinatoire explose.
Ai-je été clair ? :)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker