Le truc qui fait que la gestion des dépendances est NP-complet c’est pas le graphe de dépendance en soi, si je me trompe pas, c’est qu’à chaque dépendance on a le choix entre plusieurs versions de dépendance et les contraintes qui font que certaines de ces versions ne sont pas toutes compatibles entre elles, ce qui nous donne un genre de problème de satisfaction de contraintes.
Ici j’ai l’impression qu’une fois que tu as bien typé ton programme tu t’es débarrassé des différents choix possibles (?) Du coup la complexité est essentiellement celle du typage. Ou alors on parle de la résolution des méthodes virtuelles qui se fait éventuellement à l’exécution, et dans ce cas on est dans le cas indécidable (problème de l’arrêt) :)
[^] # Re: À boire et à manger
Posté par thoasm . En réponse au journal Un développeur qui dénonce. Évalué à 3.
Le truc qui fait que la gestion des dépendances est NP-complet c’est pas le graphe de dépendance en soi, si je me trompe pas, c’est qu’à chaque dépendance on a le choix entre plusieurs versions de dépendance et les contraintes qui font que certaines de ces versions ne sont pas toutes compatibles entre elles, ce qui nous donne un genre de problème de satisfaction de contraintes.
Ici j’ai l’impression qu’une fois que tu as bien typé ton programme tu t’es débarrassé des différents choix possibles (?) Du coup la complexité est essentiellement celle du typage. Ou alors on parle de la résolution des méthodes virtuelles qui se fait éventuellement à l’exécution, et dans ce cas on est dans le cas indécidable (problème de l’arrêt) :)
Sinon les compilateur font déjà de l’élimination de code : https://en.wikipedia.org/wiki/Dead_code_elimination Ils n’éliminent évidemment pas forcément le code dont ils ne sont pas sur qu’il sert à rien.