Il y a moins de deux ans, je me suis délecté à la lecture du roman de Murakami (Haruki), La ballade de l'impossible, aussi connu sous le titre Norwegian Wood. Quand une amie japonaise m'a annoncé que le livre allait faire l'objet d'une adaptation cinématographique, j'ai été enchanté. Et j'ai attendu. Longtemps. C'est toujours plus long quand on attend, n'est-ce pas ?
Quand un cinéma de Lyon a programmé le film en avant-première, je me suis tout naturellement précipité. Malheureusement, la déception est à la hauteur de mon attente. Le film est long et ennuyeux. La musique trop forte tombe souvent dans le cliché, tuant du même coup les scènes qu'elle est censée accompagner. Les images sont parfois juste moches, et la quantité de plans ou de séquences qui valent le coup d'œil est négligeable. Bref, on se fait chier. Tant et si bien que certains spectateurs sont sortis avant la fin, que d'autres n'ont pu s'empêcher de rire comme des potaches pendant les dialogues un peu crus… Je ne peux même pas leur en vouloir, et pourtant je ne supporte pas d'être dérangé quand je regarde un film, c'est dire à quel point cette adaptation de Noruwei no mori par Anh Hung Tran est décevante !
edit : On peut lire sur le site de télérama un commentaire assez affligeant :
[le film] troque l'âpreté du livre contre un lyrisme contemplatif
La personne qui a écrit ça n'a pas lu le lire, et sans doute pas vu le film. Le roman est tout sauf âpre. Quant au lyrisme du film, il n'est pas contemplatif, la musique tarte-à-la-crème est bien trop intrusive pour ça.
Depuis quelques temps, le très petit monde du jeu sur Mac s'est considérablement élargi avec l'arrivée de la plateforme
Dans la série "Amérique crasseuse", 




Mon ami grep
grep, c'est mon ami. C'est d'ailleurs probablement l'ami de pas mal d'administrateurs système (enfin, les vrais quoi*). De temps en temps, il faut quand même bien vérifier que son ami est au mieux de sa forme, s'enquérir de ses performances, évaluer d'un œil critique si son environnement lui convient bien.
Quand vous avez un millier de chaînes de caractères, dont vous souhaitez retrouver toutes les occurrences dans un gros fichier de 685000 lignes, vous pouvez utiliser
grepde deux manières :grepde chercher toutes les chaînes en même temps dans le gros fichier,grepde chercher une chaîne dans le fichier, puis de passer à la chaîne suivante, …La solution 1 semble la plus intéressante. Une seule commande, pas de boucle, on se dit naturellement que c'est plus économique, et donc plus rapide. La solution 2, on se dit qu'elle est moche, complexe, et que les performances vont être mauvaises.
Petit test grandeur nature sur un serveur FreeBSD 7.x virtualisé, 2 CPU, 2Go de RAM :
Méthode 1 :
grep -i -f liste_emails maillogopération terminée en 370 min environ.
Méthode 2 :
while read email; do grep -i $email maillog ; done<liste_emailsopération terminée en 1 min 32 s.
Bien sûr, le résultat est le même en terme de contenu, la seule différence est l'ordre des lignes. La méthode moche et supposée lente est juste 240 fois plus rapide que la méthode académique. Shame on you
grep. Shame on you.L'environnement est aussi important. On pourrait se dire qu'avec plus de CPU (en puissance, pas en nombre), plus de RAM, tout irait tellement plus vite. Essayons la même chose sur un Mac Pro Xeon quad-core, avec 12 Go de RAM, sous Mac OS X 10.6.
Méthode 1 : 223 min.
Méthode 2 : 35 min 45 s.
Ce qui prouve une fois de plus que Mac OS X est un gros tromblon quand il s'agit de fork. Comprendre que le coût du lancement d'un programme, en terme de ressources système, est beaucoup plus fort que sur d'autres OS, comme FreeBSD par exemple. Ce qui fait de Mac OS X un très mauvais candidat pour les scripts shell utilisant des boucles de manière très intensive.
On voit aussi que la vitesse d'exécution de la méthode 1 est essentiellement liée à la puissance de calcul du CPU, alors que la vitesse de la méthode 2 est essentiellement liée à la capacité du système d'exploitation de créer des process rapidement.
Pour conclure, j'ai fait un petit test avec awk, sur les mêmes fichiers. Moyennant quelques aménagements triviaux pour transformer le fichier liste_emails en programme
awk, j'ai pu lancer la commandeawk -f liste_emails maillogqui est l'équivalent de la méthode 1 pourgrep. Le temps d'exécution est tombé à moins de 15 minutes sur Mac OS X, et moins de 30 minutes sur le FreeBSD.* ceux qui ont fait 5 ans d'études dans une autre branche, avant de passer à l'informatique, par exemple.