shbrol a écrit 498 commentaires

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 5.

    Hmmm, comment te dire... je parlais de la durée de remplissage du cache, ou cat et dd sont équivalent.

    J'ai vidé le cache, puis l'ai rempli avec dd. Ensuite, je l'ai vidé à nouveau, puis rempli avec cat. Les deux remplissage ont une durée équivalente, de l'ordre de la dizaine de seconde.
    Par contre, si on ne vide pas le cache entre les deux remplissage, alors le deuxieme est immédiat (et on voit donc une différence).

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 2.

    J'ai bien mis l'option "bs=1M" à dd, je n'ai pas vu de différence notable pour le temps de chargement par rapport a cat, sur mon exemple particulier.
    Et cat est plus sympa, parce qu'on peut charger plusieurs fichier avec une seule commande, pour dd c'est un appel par fichier.

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 1.

    Je crois que ca n'apporte rien d'utiliser dd, j'ai fait l'essai avec dd et cat, et le resultat est identique. Peut etre pour éviter un UUOC ?

    Et j'ai fait une boulette dans ma correction de syntaxe dd, ce n'est pas "-i mylib.so -o /dev/null" mais plutot "if=mylib.so of=/dev/null" ... bref, cat c'est plus simple...

    Il me reste maintenant a mesurer le temps de démarrage de l'appli avec/sans cache chargé, merci a tous pour votre aide.

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 2.

    Excellent, maintenant je sais remplir et vider mon cache, merci beaucoup.
    Je vais commencer par ca avant de sortir l'artillerie.

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 2.

    Merci pour oprofile, je m'en vais lire la doc.

    Pour le chargement en cache, je m'attendait a plus compliqué, c'est élegant ! Par contre, pour la syntaxe sa serait plutôt "dd ds=1M -i mylib.so -o /dev/null", n'est ce pas ? Merci aussi.

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 2.

    Oui, j'avait pensé à un truc comme cela, donc je précise la question :
    - parmi les outils cités plus haut, est ce qu'il y en a un en particulier qui permet de valider cette hypothèse facilement ?
    - est-ce qu'il existe une méthode pour accélérer le chargement des librairies ?

  • [^] # Re: dtrace un jour ?

    Posté par  . En réponse à la dépêche Le noyau Linux 3.2 est disponible. Évalué à 2.

    Puisqu'on est dans le sujet : j'ai une application qui met très longtemps à démarrer à froid, juste après le boot de la machine, mais ensuite, le redémarrage de l'appli est quasi-instantané.

    Quel est le meilleur outil pour déterminer la section de code qui ralenti le premier démarrage ?

  • [^] # Re: Sur quelle machine?

    Posté par  . En réponse à la dépêche XBMC 11.0 « Eden » en bêta 1. Évalué à 1.

    Le haut de gamme est cher, mais ine Harmony 600 c'est environ 40 euros, activités comprises.

  • [^] # Re: Sur quelle machine?

    Posté par  . En réponse à la dépêche XBMC 11.0 « Eden » en bêta 1. Évalué à 1.

    Pour l'instant, j'utilise une télécommande Hauppauge récupérée sur une vieille carte tuner, mais je vais bientot changer pour une Harmony histoire d'avoir une télécommande unique pour piloter tous les appareils.

    Pour le budget, ca se décompose comme ceci : barebone (199 euros), RAM (15e), disque dur 2To (70e, avant inondation), Harmony 600 (39e), total 323 euros. Un clavier USB de recup est le bienvenu pendant l'installation.

  • [^] # Re: Sur quelle machine?

    Posté par  . En réponse à la dépêche XBMC 11.0 « Eden » en bêta 1. Évalué à 2.

    Pour la HD, tu n'as pas besoin de CPU si la carte graphique est capable de faire la décompression video. A partir de la, une configuration a base d'Atom est suffisante.
    J'utilise un S1-AT5NM10E sous Debian Wheezy avec XBMC 11 beta, j'en suis tres content : silencieux, tout le materiel est reconnu (bluetooth, capteur IR, wifi), et pas trop cher. Il faut juste ajouter mémoire, disque dur et télécommande.
    http://www.asus.com/Barebone_PC/S_Series_3L/S1AT5NM10E/

  • [^] # Re: En clair

    Posté par  . En réponse au journal Vente liée : comment se tirer soi-même une balle dans le pied. Évalué à 2.

    Désolé, moi aussi je me suis fais avoir il y a très longtemps ;)

    Mais tu devrais vraiment faire ton test avec calloc() plutôt que malloc(). Sur une autre machine (512Mo RAM + 300Mo swap), avec allocation de 500,000,000 octets dans une boucle, le programme réussit 5 malloc() consécutifs, le 6ème échoue... Par contre, avec calloc(), le premier passe, mais ca échoue dès le deuxième.

    Bref, c'était juste pour pinailler.

  • [^] # Re: En clair

    Posté par  . En réponse au journal Vente liée : comment se tirer soi-même une balle dans le pied. Évalué à 3.

    Essaye de faire un malloc(5000000000) pour voir. Chez moi ça marche.

    Oui, chez moi aussi ca marche, sur un systeme 32bits avec 1Go RAM (et autant de swap). Etonnant, non ?

    Par contre, un calloc(5000000,1000) échoue. Tu vois pourquoi ?

  • [^] # Re: Un peu d'explications sur le bug introduit

    Posté par  . En réponse au journal Merci aux développeurs de la GNU libc !. Évalué à 4.

    Certes, après coup, c'est toujours facile. Mais là, c'est franchement pas sérieux.

    D'autant que le leaf ... ça veut dire "salut, je ne viendrais pas taper dans une autre unité de compilation que la mienne", ce qui objectivement est vrai.

    Mais ca ne sert pas qu'a seulement le dire, n'est ce pas ? Il y a des conséquences derrière, en particulier des possibilité d'optimisation. Sinon, ce n'était pas la peine de mettre en place cet attribut.

    Si les problèmes de multi-threading étaient simples, surtout à un niveau aussi bas, ça se saurait.

    C'est justement ce que je voulais souligner : comme ce n'est pas un sujet trivial, il aurait peut etre été judicieux d'envisager toute les conséquences avant d'apporter une modification a quelque chose qui fonctionnait correctement jusqu'à présent.

  • [^] # Re: Un peu d'explications sur le bug introduit

    Posté par  . En réponse au journal Merci aux développeurs de la GNU libc !. Évalué à 6.

    Ahem.... donc les mainteneurs de la glibc auraient ajouté au fonctions pthread_mutex_lock/unlock un attribut qui dit au compilo "salut, nous sommes des fonctions inoffensives, tu peux nous optimiser" ?
    Ils avaient abusé de substances qui font rire, ou bien ils sont complètements crétins ?

  • [^] # Re: Y a-t-il eu un jugement ?

    Posté par  . En réponse à la dépêche Free publie enfin ses patchs sur les logiciels libres. Évalué à 2.

    Chez Numéricable, pendant longtemps, un seul PC avait droit à avoir internet. Le 2e était payant

    Chez Noos aussi, il y avait ce genre de restriction. Mais bon, comme ils etaient incapable de repérer le 2eme PC (ou plus), fallait vraiment être nouille pour leur dire...

  • [^] # Re: Interessant

    Posté par  . En réponse au journal Répression et peines de prison. Évalué à 5.

    Si tu veux de la qualité, tu achète un original, pas la copie.

    Ca c'est vrai dans le cas général, mais parfois tu peux avoir une copie de qualité égale à l'original, même pour des sacs de luxe.

    Grosso-modo, le commanditaire (la marque) sous-traite à plusieurs atelier la fabrication de son sac, avec comme contrainte que celui qui livre la commande en premier sera payé, et les autres, non seulement ils ne toucheront pas d'argent, mais en plus ils se débrouilleront avec le stock. Evidemment, ce surplus est écoulé vers le marché de la contrefaçon (la description complète dans Gomorra).

    Dans ce schéma, la seule différence entre un original et une copie, c'est la seule volonté de la marque, rien ne peut physiquement les différencier, et jusqu'au dernier moment les deux produits ont le même statut, ce sont des originaux.

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 2.

    Donc, je ne comprend pas ou tu vois une différence entre les *_ptr et un GC.

    Oui, tu as raison, les deux ont le meme objectif. Il n'y a pas plus de différence qu'entre FILE* et std::iostream.

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 1.

    N'hesite plus, je ne comprends vraiment pas, en particulier le sens que tu donnes au verbe "allouer". Mais, ce n'est pas grave, tu as raison et j'ai tord (et je m'en contretape).

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 1.

    • soit tu permet de changer la valeur du pointeur encapsulé, et dans ce cas il vaux mieux que ton compteur soit alloué des le début sinon tu vas avoir du mal à le rajouter plus tard ;

    Eh bien visiblement, les auteurs de boost::shared_ptr n'ont pas fait ce choix, le compteur n'est pas alloué dans le cas du constructeur par défaut, et pourtant on peut changer la valeur du pointeur encapsulé par affectation d'un autre shared_ptr, ou appel de la fonction reset(T*).

    C'est l'absence d'allocation qui permet de garantir que le constructeur par défaut ne lance jamais d'exception (nothrow guarantee), et c'est important pour l'implementation de la fonction membre reset() qui utilise ce constructeur (cf la documentation).

    Et on verifie tout ca dans le source :

    http://www.boost.org/doc/libs/1_47_0/boost/smart_ptr/shared_ptr.hpp
    http://www.boost.org/doc/libs/1_47_0/boost/smart_ptr/detail/shared_count.hpp

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 1.

    Oui, effectivement, il y a allocation de deux pointeurs sur la pile (pour une définition étendue de l'allocation). Mais bon, c'est la pile quoi, y'a pas besoin de GC ...

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 1.

    Un smart pointer est un objet qui encapsule un pointeur, il y a donc bien une allocation de l'objet qui encapsule. Tu peux mettre ce que tu veux comme pointeur dedans, qu'il soit valide ou invalide ne change rien au fais qu'il y a bien allocation d'une coquille pour stocker le pointeur et son compteur de références.

    La derniere fois que j'ai regardé l'implementation de boost::shared_ptr, j'y ai vu... qu'il n'y a pas de telle coquille. Le shared_ptr possède deux membres, un pointeur vers le compteur de référence, et un pointeur vers l'objet partagé (oui, les deux ne sont pas co-localisés, c'est un design possible, il y avait un papier sur les performances qui trainait sur le site, bref...)

    Et avec ce modèle, on n'est pas obligé d'allouer le compteur dans le constructeur par défaut, parce que cela ne sert a rien.

  • [^] # Re: Gouverner, c'est prévoir. Limiter internet, c'est régresser.

    Posté par  . En réponse au journal Horreur, enfer et damnation: Fin de l'illimité. Évalué à 8.

    Non, il s’achète un yacht, qui est aussi soumis à la TVA (...) Mais si tu connais un moyen pour échapper à la TVA, je suis tout ouïe.

    Recherche sur google.fr, avec les mots "yacht tva". Le premier lien contient la phrase :

    Nous vérifions également si l'achat est exonéré de toute TVA

    donc il semblerait que le riche, lorsqu'il s'achète un yacht, a la possibilité de ne pas payer la TVA en passant par un intermédiaire spécialisé.

    Par contre, je n'ai pas trouvé le même genre de service pour les paquets de pâtes...

  • [^] # Re: Gouverner, c'est prévoir. Limiter internet, c'est régresser.

    Posté par  . En réponse au journal Horreur, enfer et damnation: Fin de l'illimité. Évalué à 3.

    Si tu place ton épargne sur un support qui se casse la figure, il y a une certaine partie qui ne sera pas soumise a la TVA.

  • [^] # Re: Gouverner, c'est prévoir. Limiter internet, c'est régresser.

    Posté par  . En réponse au journal Horreur, enfer et damnation: Fin de l'illimité. Évalué à 2.

    Ou il épargne, mais tout ce qui a été épargné sera consommé un jour, donc soumis à la TVA.

    Source ?

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 1.

    Désolé, jne n'avais pas cherché a comprendre ce que tu voulais dire, mais d'autre s'en sont chargés dans les commentaires an dessous. Maintenant je vois, et je me dis qu'un bon design d'utilisation des references partagées serait plus efficace que la solution a compteurs global/local. Mais mon, c'est que mon avis...