Hallå!
Jag har utfört ett test mellan ASP och PHP, och resultatet blev följande:
Test 1 - For-loopen
Jag testade hur lång tid det tog för en tom loop att köras 10 000 000 gånger.
I ASP såg det ut så här:
<%
iStart = now()
For i = 0 To 10000000
Next
iEnd = now()
Response.Write DateDiff("s", iStart, iEnd)
%>
Resultat: 10 sekunder
I PHP såg det ut så här:
<?php
$start = microtime();
for($i = 0; $i < 10000000; $i++) {
}
$end = microtime();
function sekunder($time) {
list($usec, $sec) = explode(" ", $time);
return ((float)$usec + (float)$sec);
}
echo (sekunder($end) - sekunder($start));
?>
Resultat: 22 sekunder
Test 2 - Databaser
Jag testade hur lång tid det tog att connecta till en MySQL-databas, lägga in 10 000 poster och sedan rensa hela databasen.
I ASP såg det ut så här:
<%
iStart = now()
set objC = Server.CreateObject("ADODB.Connection")
objC.Open "driver=MySQL; server=burken; uid=; pwd=; database=testdb"
For i=0 To 10000
sSQL = "INSERT INTO testtbl (sida, loopnr) VALUES('" & Request.ServerVariables("SCRIPT_NAME") & "', '" & i & "')"
objC.Execute(sSQL)
Next
sSQL = "DELETE FROM testtbl"
objC.Execute(sSQL)
objC.Close
set objC = Nothing
iEnd = now()
Response.Write DateDiff("s", iStart, iEnd)
%>
Resultat: 14 sekunder
I PHP såg det ut så här:
<?php
$start = microtime();
mysql_connect("burken", "", "");
mysql_select_db("testdb");
for($i = 0; $i < 10000; $i++) {
$sSQL = "INSERT INTO testtbl (sida, loopnr) VALUES('" . $PHP_SELF . "', '" . $i . "')";
mysql_query($sSQL);
}
$sSQL = "DELETE FROM testtbl";
mysql_query($sSQL);
mysql_close();
$end = microtime();
function sekunder($time) {
list($usec, $sec) = explode(" ", $time);
return ((float)$usec + (float)$sec);
}
echo (sekunder($end) - sekunder($start));
?>
Resultat: 6 sekunder
Sammanfattning
ASP är snabbare på tomma loopar, men PHP gäller när man ska använda sina script till något ;) :e
------------------
---
/* LilleSkutt */