Bonjour,
J'ai effectué un petit test comparatif sur un afficheur de news en mode console sur archlinux avec différents langages et outils dont vous trouverez le résultat ci-dessous.
Il en ressort que le temps de chargement de python3 est relativement long, comparé aux autres environnements, notamment python2.7 .
Dans l'attente de vos observations, suggestions, solutions et propositions.
python3.4 : cat zz.txt | ./news3.py
Code Résultats des benchs : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Bench n°1: 100 lancement sur 1 rss local c module : 0.128 c compilé jit : 0.28 lua : 0.36 awk : 0.43 sed : 0.58 python2 : 0.95 bash : 1.35 python3 : 6.60 Bench n°2: 1 lancement sur 300 rss concaténés c module : 0.065 c compilé jit : 0.065 python2 : 0.068 python3 : 0.12 awk : 0.18 lua : 0.35 sed : 0.58 bash : 3.05 Bench n°3: 100 lancements sur 300 rss concaténés c module : 5.82 c compilé jit : 5.86 python2 : 6.25 python3 : 12s awk : 18s lua : 33s sed : 58s bash : 73s (20 lancements)
python2.7 : cat zz.txt | ./news27.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 #!/usr/bin/env python3 import sys red = "\033[31m" bleu = "\033[34m" gris = "\033[37m" defo = "\033[0m" buf = False l = [] xml = sys.stdin.read().splitlines() for z in xml : z = z.lstrip() if z[0:7] == "<title>" : if buf : l.append('\n') l.append(z[7:-8].replace('', 'ʼ')) else : buf = True l.append("\n\t\t>> News Archlinux.fr <<\n") elif z[0:9] == "<pubDate>" : l.append(' || ') l.append(bleu) l.append(z[14:-25]) l.append('\n') elif z[0:15] == "<description><!" : l.append(gris) l.append(z[22:-17].replace('', 'ʼ').replace('>', '>').replace(' ', '...')) l.append(defo) l.append('\n') print(*l, sep='')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #!/usr/bin/env python2 # -*- coding: utf-8 -*- import sys red = "\033[31m" bleu = "\033[34m" gris = "\033[37m" defo = "\033[0m" buf = False buf2 = '' xml = sys.stdin.read().splitlines() for z in xml : z = z.lstrip() if z[0:7] == "<title>" : if buf : print '\n{} || '.format(z[7:-8].replace('', 'ʼ')), else : buf = True print "\n\t\t>> News Archlinux.fr <<" elif z[0:9] == "<pubDate>" : print bleu + z[14:-25] elif z[0:15] == "<description><!" : print gris + z[22:-17].replace('', 'ʼ').replace('>', '>').replace(' ', '...') + defo print
Partager