PHP, Python ve PERL performans testi
7GB lık text dosyası perl, python ve php programlarına verilip bunları ayırması isteniyor.. ve sonuç olarak hız testi yapılıyor.
Buyrun sonuc aşağıda.. ve sanırım PHP cok yavaş kalıyor
[code] $ time ./split.pl p.test # Perl 5.8.8
real 0m38.577s
user 0m33.554s
sys 0m0.848s
$ time ./split.py p.test # Python 2.4.4
real 0m44.895s
user 0m42.975s
sys 0m0.900s
$ time php split.php p.test # PHP 5.2.6RC4
real 1m10.887s
user 0m51.251s
sys 0m18.677s[/code]
Perl
[code]use strict;
my %first;
open(FULL, ">full.txt");
while (<>) {
# __SINGLE_TOKEN__ adrianenamorado 1
# __MULTI_TOKEN__ a aaron yalow 1
chop;
if (/^__MULTI_TOKEN__\s+(\S+)\s+(.*)\t?\s*(\d+)\s*$/) {
$first{$1} += $3;
print FULL $1," ", $2, "\t", $3, "\n";
} elsif (/^__SINGLE_TOKEN__\s+(\S+)\s*\t?\s*(\d+)\s*$/) {
$first{$1} += $2;
} else {
print "Unknown: ", $_, "\n";
}
}
close(FULL);
open(FIRST, ">first.txt");
while (my($k, $c) = each %first) {
print FIRST $k,"\t",$c,"\n";
}
close(FIRST);[/code]
Python
[code]import sys, os, re
first = dict()
ofd = open("full.txt", 'w')
mre = re.compile('^__MULTI_TOKEN__\s+(\S+)\s+(.*)\t?\s*(\d+)\s*$')
sre = re.compile('^__SINGLE_TOKEN__\s+(\S+)\s*\t?\s*(\d+)\s*$')
ifd = open(sys.argv[1], 'r')
for line in ifd :
line = line.strip()
m = mre.match(line)
if m :
first[m.group(1)] = m.group(3)
print >> ofd, m.group(1), " ", m.group(2), "\t", m.group(3)
else :
m = sre.match(line)
if m :
first[m.group(1)] = m.group(2)
else :
print "Unknown ", line
ofd.close();
ofd = open("first.txt", 'w')
for (k, c) in first.iteritems() :
print >> ofd, k, "\t", c
ofd.close()[/code]
PHP
[code]$first = array();
$fd = fopen("full.txt", 'w');
$in = fopen($argv[1], 'r');
while ($line = fgets($in)) {
$line = trim($line);
if (preg_match('/^__MULTI_TOKEN__\s+(\S+)\s+(.*)\t?\s*(\d+)\s*$/', $line, $m)) {
$first[$m[1]] += $m[3];
fprintf($fd, "%s %s\t%d\n", $m[1], $m[2], $m[3]);
} else if (preg_match('/^__SINGLE_TOKEN__\s+(\S+)\s*\t?\s*(\d+)\s*$/', $line, $m)) {
$first[$m[1]] += $m[2];
} else {
print "Unknown: {$line}\n";
}
}
fclose($fd);
$fd = fopen("first.txt", 'w');
foreach ($first as $k => $c) {
fprintf($fd, "%s\t%d\n", $k, $c);
}
fclose($fd);
[/code]
Buyrun sonuc aşağıda.. ve sanırım PHP cok yavaş kalıyor
[code] $ time ./split.pl p.test # Perl 5.8.8
real 0m38.577s
user 0m33.554s
sys 0m0.848s
$ time ./split.py p.test # Python 2.4.4
real 0m44.895s
user 0m42.975s
sys 0m0.900s
$ time php split.php p.test # PHP 5.2.6RC4
real 1m10.887s
user 0m51.251s
sys 0m18.677s[/code]
Perl
[code]use strict;
my %first;
open(FULL, ">full.txt");
while (<>) {
# __SINGLE_TOKEN__ adrianenamorado 1
# __MULTI_TOKEN__ a aaron yalow 1
chop;
if (/^__MULTI_TOKEN__\s+(\S+)\s+(.*)\t?\s*(\d+)\s*$/) {
$first{$1} += $3;
print FULL $1," ", $2, "\t", $3, "\n";
} elsif (/^__SINGLE_TOKEN__\s+(\S+)\s*\t?\s*(\d+)\s*$/) {
$first{$1} += $2;
} else {
print "Unknown: ", $_, "\n";
}
}
close(FULL);
open(FIRST, ">first.txt");
while (my($k, $c) = each %first) {
print FIRST $k,"\t",$c,"\n";
}
close(FIRST);[/code]
Python
[code]import sys, os, re
first = dict()
ofd = open("full.txt", 'w')
mre = re.compile('^__MULTI_TOKEN__\s+(\S+)\s+(.*)\t?\s*(\d+)\s*$')
sre = re.compile('^__SINGLE_TOKEN__\s+(\S+)\s*\t?\s*(\d+)\s*$')
ifd = open(sys.argv[1], 'r')
for line in ifd :
line = line.strip()
m = mre.match(line)
if m :
first[m.group(1)] = m.group(3)
print >> ofd, m.group(1), " ", m.group(2), "\t", m.group(3)
else :
m = sre.match(line)
if m :
first[m.group(1)] = m.group(2)
else :
print "Unknown ", line
ofd.close();
ofd = open("first.txt", 'w')
for (k, c) in first.iteritems() :
print >> ofd, k, "\t", c
ofd.close()[/code]
PHP
[code]$first = array();
$fd = fopen("full.txt", 'w');
$in = fopen($argv[1], 'r');
while ($line = fgets($in)) {
$line = trim($line);
if (preg_match('/^__MULTI_TOKEN__\s+(\S+)\s+(.*)\t?\s*(\d+)\s*$/', $line, $m)) {
$first[$m[1]] += $m[3];
fprintf($fd, "%s %s\t%d\n", $m[1], $m[2], $m[3]);
} else if (preg_match('/^__SINGLE_TOKEN__\s+(\S+)\s*\t?\s*(\d+)\s*$/', $line, $m)) {
$first[$m[1]] += $m[2];
} else {
print "Unknown: {$line}\n";
}
}
fclose($fd);
$fd = fopen("first.txt", 'w');
foreach ($first as $k => $c) {
fprintf($fd, "%s\t%d\n", $k, $c);
}
fclose($fd);
[/code]
Konular
- PHP Nedir?
- PHP′de değişken nasıl oluşturulur ve nasıl kullanılır?
- Direct Admin demo
- Direct Admin türkçe destek
- subtok : kelimelerde istedigin yerden kesip alabilme kolaylığı
- DirectAdmin Kurulumu
- Curl nedir? nasıl kullanılır?
- Raid nedir? Linux Software Raid Nasıl Yapılır?
- Directadmin Root /Admin Mysql Erişimi
- Google Ping Fonksiyonu {PHP}
- Latin1 database’i utf-8 e convert etme
- Linux icin top 20 http baglantisini gormek ve iptables ile bloklamak
- Makro çekimler için objektif seçenekleri
- Ekipman siteleri
- Web sitenden para kazanma tıklama başı 12 krş
- Mikrostok Fotoğraf Siteleri
- Websiteniz için mobil uygulama istemez misiniz?
- İstanbulda Burun Estetiği
- İSLAMİ DÜĞÜNLER - DİNİ DÜĞÜN ORGANİZASYONLARI
- ilahi grupları
- wordpress otomatik yorum gönderme programı
- Site Tanıtımı İzinli Forumlar (Yeni Arşiv)
- RO2 İle Günde 3$ Kazanın! (Ödeme Kanıtıyla Birlikte)
- www.avcajans.com Yeni Nesil Haber Sitesi !
- Curl Nedir ? Fonksiyonları Nelerdir ?
- Duolingo seviyeleri
- Semrush ve ahrefs
- Server responded algorithm negotiation failed hatası
- Populer 15 tane linux işletim sistemi
- Linux un mucidi Linus Torvalds kimdir?