IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

Un développeur fait tenir un univers de fractales dans 4096 octets

  1. #81
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par Bousk Voir le message
    C'est pour ça qu'en embarqué on retrouve principalement (uniquement ?) du C et C++. On verra rarement du Java et une JVM.
    Juste pour le troll, parce que c'est vraiment trop gros pour que je le laisse passer : est-ce que tu connais Android ? Est-ce que tu sais que tous les logiciels qui tournent dessus sont en Java (*) ?

    (*) Oui, je sais, il existe depuis peu un bout de compilateur C, que personne n'utilise car les pauvres qui ont essayes sont tous en depression grave.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  2. #82
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Citation Envoyé par Bousk Voir le message
    C'est pour ça qu'en embarqué on retrouve principalement (uniquement ?) du C et C++. On verra rarement du Java et une JVM.
    Ah bon ?
    Tu l'as dit à PSA (Peugeot) et Airbus ?

    Parce qu'ils ne se gènent pas pour embarquer des applis Java (je le sais, c'est ce que je fais).

  3. #83
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Si tu développes pour de l'embarqué tu as d'autres contraintes.
    Mais ce n'est pas le développement le plus visé. Le développeur moyen développera pour PC/Linux, et les contraintes de l'embarqué il n'en a cure.
    C'est pour ça qu'en embarqué on retrouve principalement (uniquement ?) du C et C++. On verra rarement du Java et une JVM.
    moi j'ai un téléphone GHT qui fait tourner des MIDLet
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #84
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    J'ignore comment fonctionnent PSA et sûrement d'autres, mais ils ne font pas que du Java il me semble puisqu'on m'avait proposé une mission chez PSA.
    Par contre concernant les téléphones.. j'ai juste de plus en plus de mal à les assimiler à de l'embarqué.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #85
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par Bousk Voir le message
    J'ignore comment fonctionnent PSA et sûrement d'autres, mais ils ne font pas que du Java
    La question n'est pas de savoir s'ils ne font que du Java, mais s'ils utilisent ce langage dans quelque chose que l'on peut assimiler a de l'embarque ou non. Et la reponse est oui.

    La KVM a d'ailleurs ete specialement concue pour ces cibles embarquees :
    The K virtual machine (KVM) [...] is designed for products with approximately 128K of available memory.
    Bref, tout ca pour montrer que non, le clivage embarque = C, Java = grosse machine locale n'est plus vrai du tout, et que oui, l'optimisation devrait faire partie des choses que l'on enseigne et auxquelles on fait attention.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #86
    Membre extrêmement actif

    Profil pro
    Grand Timonier des Chats
    Inscrit en
    Décembre 2011
    Messages
    879
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Grand Timonier des Chats

    Informations forums :
    Inscription : Décembre 2011
    Messages : 879
    Points : 3 302
    Points
    3 302
    Par défaut
    Citation Envoyé par gangsoleil Voir le message

    La KVM a d'ailleurs ete specialement concue pour ces cibles embarquees :
    Intéressant....il y a tout Java dedans ou ils l'ont simplifié?

  7. #87
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 210
    Points
    210
    Par défaut
    Je ne suis pas tant impressionné que ça ( bon je n'ai pas encore regardé la vidéo , mais j'imagine un joli monde basé sur de l'aléatoire).
    Le fait est qu'il ne me semble pas très compliqué de développer (comme quelqu'un là dit) de développer des fonctions récursives sans que ça prenne beaucoup de place. Au final une fractale produit quelque chose sans grande maîtrise, une formule mathématique ne vas pas rajouter une porte dans le monde de cette vidéo.
    Par contre je suis plus impressionné par le fps kkrieger, qui fait moins de 100ko, qui n'est pas si moche, avec un monde "maîtrisé", des textures réalistes, une ia (certe basique ^^), et des modèles définits. Un simple screenshot est déjà plus gros que le jeu en lui même.

    Mais j'ai tout de même hâte de voir la vidéo

  8. #88
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par Bousk Voir le message
    J'ignore comment fonctionnent PSA et sûrement d'autres, mais ils ne font pas que du Java il me semble puisqu'on m'avait proposé une mission chez PSA.
    Par contre concernant les téléphones.. j'ai juste de plus en plus de mal à les assimiler à de l'embarqué.
    ça tient encore dans une main, donc on va dire que c'est de l'embarqué...

    Mais même pour les vieux tels, je me souviens que pas mal de jeux étaient en Java.

  9. #89
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par yohannc Voir le message
    Je ne suis pas tant impressionné que ça ( bon je n'ai pas encore regardé la vidéo , mais j'imagine un joli monde basé sur de l'aléatoire).
    Le fait est qu'il ne me semble pas très compliqué de développer (comme quelqu'un là dit) de développer des fonctions récursives sans que ça prenne beaucoup de place. Au final une fractale produit quelque chose sans grande maîtrise, une formule mathématique ne vas pas rajouter une porte dans le monde de cette vidéo.
    Par contre je suis plus impressionné par le fps kkrieger, qui fait moins de 100ko, qui n'est pas si moche, avec un monde "maîtrisé", des textures réalistes, une ia (certe basique ^^), et des modèles définits. Un simple screenshot est déjà plus gros que le jeu en lui même.

    Mais j'ai tout de même hâte de voir la vidéo
    oui c'est une démo qui exploite un procédé intéressant, toutes les textures sont calculées au démarrage de l'application en appliquant un certain nombre de filtre sur des données de bases très simple. on ne peut pas faire mieux comme compression, au lieu de chercher la représentation mathématique d'une texture existante, on part de la formule
    ils se sont même fait un éditeur de textures visuel qui permet de jouer sur les différentes transformation et sort au final le code à lancer pour le calculer.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #90
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Ben tiens, voila un truc alors : http://www.subblue.com/projects/mandelbulb Moi j'ai commencé les fractales 3D à partir de la sur gpu...
    excellent ce site, j'ai recupere quelque donnees sur cette demo:
    pour compresser il a utilisé Shader Minifier: http://www.ctrl-alt-test.fr/?page_id=7 qui est specifique pour minifier du glsl ou hlsl
    c'est de l'OpenGL en api C.
    parmis toutes les versions il y en a une avec du 'super sampling anti aliasing'.
    et il y a un port en JOGL2 : https://github.com/demoscenepassivis...opment_main.fs

    et une chose tres importante il y a beaucoup de post processing en Opengl

  11. #91
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    oui c'est une démo qui exploite un procédé intéressant, toutes les textures sont calculées au démarrage de l'application en appliquant un certain nombre...
    Oui c'est de la génération procédurale. Par exemple pour les textures (Texture procédurales. Ou meme parfois pour la géometrie et toute sortes de choses afin de pas avoir a "dessiner" ou modeler des niveau (et évidement gain de place ultime car quelques régle et des reglages suffisent).

    yohannc a donné un bonne exemple avec kriegger du groupe werkzeug.


    Citation Envoyé par sybil Voir le message
    pour compresser il a utilisé Shader Minifier: http://www.ctrl-alt-test.fr/?page_id=7 qui est specifique pour minifier du glsl ou hlsl
    c'est de l'OpenGL en api C.[/url]
    Sans parler du fait que l'exe est certainement lui même compressé ce qui rends encore la choses plus compacte.
    Bonne trouvaille pour le shader de la démo sinon
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #92
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Voici un projet Rendermonkey (1.81) avec le shader de la dite démo pour ceux qui veulent s'amuser a moindre frais

    Suffit de le charger et hop une scène apparait.

    (En allant dans l'arbre sur l'item "single pass" se trouve des variables modifiables (sn et lt pour changer de scene)).

    (1 version sans le postprocess style entrelacé et une avec (d'ailleurs il faut aller dans la fenetre graphique et faire aller la roulette vers le haut pour agrandir le "viewport").
    Fichiers attachés Fichiers attachés
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #93
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 832
    Points : 2 625
    Points
    2 625
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Et meme dans ce cas, lorsque je vois la quantite de RAM utilisee par les logiciels sur mon PC (a commencer par le navigateur web), ca me saoule vraiment, en je me dis que si un editeur faisait un effort, je serai vraiment heureux de pouvoir lui acheter ses logiciels.
    A une époque, j'aurai dis que c'est l'avantage des soft open source sur le propriétaire.
    A mon grand dam cette époque semble révolue pour la plupart des productions, bien qu'il subsiste des survivants...
    Les développeurs de i3 et de uzbl me semblent assez dans l'optique de faire des outils légers. Mais qui dit léger dit souvent minimal et devant être interfacé avec d'autres.
    D'un autre côté, il est plus facile d'optimiser une suite logicielle composée de programmes simples qu'un unique programme usine à gaz. Ca revient à la question du développement modulaire posée plus tôt.

    MAIS, avoir des programmes légers et optimisés implique aussi de ne pas réinventer la roue. Comme je l'ai déjà dis sur un autre thread, ce n'est pas la règle de nos jours...
    De nos jours, la règle, c'est:
    _ chaque programme embarque ses librairies, pour éviter le hell dll (ou hell so mais ça claque moins )
    _ chaque programme réimplémente les fonctions standards de l'OS (genre gestionnaire de fenêtre...). Allez, laissez-moi troller: Qt et la librairie fournie en standard par JAVA, au minimum, réimplémentent les fonctions de l'OS puis émulent le look and feel plutôt que de faire appel aux primitives. Ces outils sont donc limite plus efficaces sur un système embarqué ou l'OS n'embarque pas ces fonctionalités, et ou donc le doublon disparaît. En revanche, sous windows ou sur une machine Linux dont le DE ne serait basé respectivement si sur Qt, ni sur JAVA, on a naturellement et logiquement une occupation en RAM supérieure. Et vu que plus de programmes sont chargés, l'ordonanceur doit gérer plus de monde => dégradation généralle des perf, même si elle ne se sens pas sur des machines puissantes. Par contre on sens la différence sur des machines peu performantes comme les netbook. Notamment au niveau de l'accès disque dur (note perso: d'ailleurs, je devrais p'tet désactiver ou mieux régler le swap sur ma machine)...

    Donc, si tu veux des programmes légers et optimisés, il te faut cesser d'utiliser les outils grands public. Clairement.
    Malheureusement, les outils plus simples ont une tendance a avoir une courbe d'apprentissage plus longue due au fait qu'il faille installer/configurer/activer soi-même les fonctionnalités dont on à besoin.

    Tout ça me rappelle qu'il y a une forme d'optimisation qui n'a pas été abordée ici:
    Eviter de mettre toutes les fonctionnalités potentiellement utiles ou sympa à développer dans un programme. Je pense que tout le monde est tombé au moins une fois dans ce piège

    Citation Envoyé par yohannc Voir le message
    Par contre je suis plus impressionné par le fps kkrieger, qui fait moins de 100ko, qui n'est pas si moche, avec un monde "maîtrisé", des textures réalistes, une ia (certe basique ^^), et des modèles définits. Un simple screenshot est déjà plus gros que le jeu en lui même.

    Mais j'ai tout de même hâte de voir la vidéo
    Ca me rappelle des souvenirs ça... dommage qu'il est en qwerty et donc injouable avec un azerty (sauf à changer le layout je suppose... faudra que je teste).

    A noter d'ailleurs, cette phrase de wikipedia:
    "The entire game uses only 97,280 bytes of disk space. In contrast, most modern first-person shooters fill one or more CDs or DVDs.[1] According to the developers, .kkrieger itself would take up around 200–300 MB of space if it had been stored the conventional way."
    de ~100Ko à 200Mo+, ça fait une sacrée optimisation tout de même, bien que, comme déjà dit, on parle ici d'une optimisation de l'espace disque. Ce truc nécessite pas mal de temps de chargement et de ram au final.
    (D'ailleurs, j'ai trouvé quelques liens intéressants sur les modèles générés à l'exécution en suivant l'article de wikipedia, vais zieuter ça moi)

  14. #94
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par Freem Voir le message
    Ca me rappelle des souvenirs ça... dommage qu'il est en qwerty et donc injouable avec un azerty (sauf à changer le layout je suppose... faudra que je teste).
    Parce que l'air de rien, il n'est pas si simple ce jeu si je me rappelle bien.
    L'astuce du Alt+Shift dans le jeu pour basculer de l'un à l'autre n'y marche pas?

    Il ne me semble pas que dans 95% des cas les logiciels non optimisé soient un problème pour un pc. Celui-ci a suffisamment de puissance pour le supporter pour l'utilisation quotidienne.

    En revanche pour l'embarqué, le problème se fait plus crucial. Et je pense deviendra primordial dès lors que la loi de Moore ne sera plus applicable.

  15. #95
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Freem Voir le message
    Donc, si tu veux des programmes légers et optimisés, il te faut cesser d'utiliser les outils grands public. Clairement.
    IL faut etre un outsider

  16. #96
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Points : 123
    Points
    123
    Par défaut
    Faire beacoup avec peu de code, est-ce vraiment de l'optimisation ? Que le code source prenne 1MB ou 10 MB sur le disque dur importe peu. Ce qui compte c'est combien de resources (RAM pa rexemple) il bouffe quand il tourne. De plus vouloir faire un code le plus court possible oblige souvent à utiliser des astuces super pointues ou des conventions/nommages très courts qui vont rendre le code difficile à comprendre.
    Je vois tout ça plus comme un challenge intellectuel que vraiment une recherche d'optimisation.

    Mais dans le fond je suis d'accord, perso je programme comme un gros bourrin comparé à la génération précédente, par pure flemme/imcompétence car le hardware sur lequel tourne mes softs est de toute façon largement sudimensionné par rapport à ce dont ils ont besoin - et j'imagine ne pas être le seule.

  17. #97
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Je vais troller, mais une des raisons du bloated software moderne, c'est aussi l'application bête et méchante des design patterns. Non qu'ils soient inutiles en tant que tels, mais qu'appliqués n'importe comment, ils poussent à mettre des tonnes de code partout et encore partout pour afficher 3 misérables caractères.

    (je compte les -1 ).
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  18. #98
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 832
    Points : 2 625
    Points
    2 625
    Par défaut
    Citation Envoyé par deathness Voir le message
    L'astuce du Alt+Shift dans le jeu pour basculer de l'un à l'autre n'y marche pas?

    Il ne me semble pas que dans 95% des cas les logiciels non optimisé soient un problème pour un pc. Celui-ci a suffisamment de puissance pour le supporter pour l'utilisation quotidienne.
    Je ne pense jamais a utiliser ce raccourcis... surtout que pour éviter tout problème j'ai l'habitude de virer tout layout non utile de ma machine

    Sinon... moi quand je compile, je trouve souvent que mon PC manque de puissance. Je pense que les développeurs ne sont les seuls sujets à la compilation, d'une certaine façon (calcul de rendu pour les images? Je ne sais pas comment ça s'appelle) et j'ai constaté que certains outils alourdissent tellement mon PC qu'ils en deviennent inutilisables lors de certains types de tâches.
    Bon, c'est sûr, ce n'est pas Mme Michu qui aura besoin de ces logiciels assez spécifiques que sont les compilateurs, IDE et autres qui nécessitent parfois pas mal de temps.

    Cependant, vu que les OS sont les mêmes pour Mme Michu et Mr geek, et vu que Mme Michu est la cible première des OS, ceux-ci ne sont pas optimisés non plus pour Mr Geek. Tu vois ou je veux en venir?

    De plus, si je liste les logiciels les plus utilisés sur une machine (je parle pas de MA machine hein, puisque de tout ceux-la je n'ai que le navigateur internet ) , j'ai ceci (pas d'ordre précis):
    _ traitement de texte
    _ tableur
    _ navigateur internet
    _ antivirus
    _ explorateur de fichiers

    Dans cette liste, 40% des logiciels font attention à l'optimisation quand même... (antivirus - pour ne pas tuer le PC plus que les virus ne le feraient et pouvoir faire plus de calculs afin de pouvoir mieux détecter les signatures virales - et navigateur internet pour des raisons commerciales)
    Ou au moins devraient y faire attention (parce que pour les anti virus j'ai un doute)

    Certes, ce n'est pas 80% des logiciels. Sauf que c'est pas 80% des logiciels mais plutôt 20% qui sont utilisés 80% du temps!

    Dans une utilisation professionnelle, on a plutôt des logiciels qui font des requêtes SQL à un serveur. Et la, a ce que je peux entendre de la part de mes collègues d'autres services le midi, mieux vaut que ça mette pas 5 plombes à tourner parce que sinon les utilisateurs finaux leur tombent sur le dos. Ensuite, c'est mes collègues qui nous tombent sur le râble...
    Sans compter qu'au désagrément des utilisateurs s'ajoute le problème de mettre à bas les serveurs. Me semble qu'une technique d'attaque consiste à peu près à pourrir les ressources d'un serveur, DoS que ça s'appelle non? Évidemment, cette attaque est liée à des failles de sécurité... mais voila, on parle quand même de priver un serveur de ressources.

    Quand je dis tout ça, je m'aperçoit qu'en fait, l'optimisation n'est pas juste un caprice de ma part. Naturellement, il est important de respecter un équilibre dans le temps dépensé à l'optimisation et dans celui passé à développer. La vidéo de départ du thread ne le respecte pas, et pour cause, elle existe pour un concours d'optimisation... Mais la question soulevée reste importante.
    Dans les langages C et C++, il vaut mieux passer par exemple des pointeurs et des références plutôt que des objets complets par valeur dès lors que l'objet est plus complexe que 2 ou 3 types natifs. Selon la situation quoi. Ca ne prends pas longtemps (a moins de ne pas savoir ou se situe l'esperluette sur le clavier) mais l'impact est réel.
    Ensuite, une architecture logicielle propre, en plus de restreindre les bugs permets souvent de déduire un certain nombre d'optimisations très simples: éviter les méthodes virtuelle quand ce n'est pas nécessaire par exemple. Ne pas utiliser de variable à double précision pour stocker une taille qui ne peut physiquement pas dépasser 255 aussi (je ne trollerais pas sur les langages qui ne connaissent même pas le mot unsigned...).
    Accessoirement, ça permet d'éviter les immondes switch qui affectent une valeur identiques à une case différente d'un tableau. Non non ce n'est pas un bug. Par contre, c'est difficile à maintenir et il existe une réelle perte d'efficacité (tests inutiles)

    Et je parle ici de choses qui sont loin de l'assembleur, proches du bon sens, et que pourtant, malheureusement, j'ai pu voir dans ma courte expérience.

    Franchement, je crois que l'optimisation, c'est bien souvent de juste coder proprement, en utilisant les idiomes de son langage et un modèle de donnée clair, propre et précis. Et pas juste de l'optimisation de ressources du proc et de la ram, mais aussi du temps de dev.

    Citation Envoyé par sybil Voir le message
    IL faut etre un outsider
    Pour beaucoup d'utilisateurs normaux, ceux qui utilisent de tels logiciels mériteraient d'être internés xD (ça m'embêterai pas trop, si dans les HP il y a moyen d'avoir son PC avec soi )

  19. #99
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Freem Voir le message
    (antivirus - pour ne pas tuer le PC plus que les virus ne le feraient et pouvoir faire plus de calculs afin de pouvoir mieux détecter les signatures virales - et navigateur internet pour des raisons commerciales)
    Ou au moins devraient y faire attention (parce que pour les anti virus j'ai un doute)
    Perso c'est pas sur les antivirus que mon doute se porterait.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  20. #100
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par Freem, connaisseur de son environnement Voir le message
    (.../...)
    Franchement, je crois que l'optimisation, c'est bien souvent de juste coder proprement, en utilisant les idiomes de son langage et un modèle de donnée clair, propre et précis. Et pas juste de l'optimisation de ressources du proc et de la ram, mais aussi du temps de dev.
    (.../...)
    Amen.

    Quand je fait un batch sur mainframe IBM/390 qui va lire/Ecrire du DB2, je décharge la table dans un fichier, je traite le fichier, je recharge l'intégralité de la table. Parceque, dans MON environnement, c'est le plus efficace. Mon voisin d'en face qui fait du Business Objects, lui, fait du SQL partout pour ses batches. Parceque dans son écosystème à lui, c'est plus performant.

    Par performant, j'entends : plus rapide ET plus facile à concevoir/coder/tester. On peut faire du DB2 sur mainframe, mais c'est **** à tester, alors qu'un bête traitement de fichiers, c'est la base. Si mon voisin d'en face essayait de faire pareil sur BO,
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2008, 21h39
  2. Réponses: 6
    Dernier message: 05/02/2007, 20h49
  3. Comment fait-on pour insérer une date dans un champs DateTime
    Par gibea00 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 14/01/2007, 01h04
  4. Réponses: 14
    Dernier message: 04/01/2007, 22h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo