/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
" vs. '
Fra : Stefan Bruhn


Dato : 01-08-01 15:32

Hvad skal man bruge?
Er det bare hvad man lige synes er sjovest på nuværende tidspunkt eller
er der evt. performance fordele, el lign??

Et eksempel kunne være:

echo "<a href=\"$url\">$url</a>";
vs.
echo '<a href="'.$url.'">'.$url.'</a>';

Mvh. / Regards Stefan Bruhn
--
<?$email = unserialize("a:15:{i:0;i:115;i:1;i:116;i:2;i:101;i:3;i:102
;i:4;i:97;i:5;i:110;i:6;i:64;i:7;i:98;i:8;i:114;i:9;i:117;i:10;i:104
;i:11;i:110;i:12;i:46;i:13;i:116;i:14;i:111;}");
for ($i=0;$i<=15;$i++) {echo chr($email[$i]);}?>

 
 
Mikkel Christensen (01-08-2001)
Kommentar
Fra : Mikkel Christensen


Dato : 01-08-01 15:41

> Hvad skal man bruge?
> Er det bare hvad man lige synes er sjovest på nuværende tidspunkt eller
> er der evt. performance fordele, el lign??
>
> Et eksempel kunne være:
>
> echo "<a href=\"$url\">$url</a>";
> vs.
> echo '<a href="'.$url.'">'.$url.'</a>';

Der er performangemessige fordele.
Php fortolkeren fortolker alt tekst mellem " og ".
Hvorimod den ikke fortolker det som står mellem ' og '.
Hvis du udskriver en masse text er der jo ikke noget grund til at sætte
parseren på arbejde hvis der ikke er noget php-koder i. Derfor er '
hurtigst.

Der er tre måder at udskriver på:
1:
<?php
//php kode
?>
Udskrive udenfor php
2:
<?php
echo "Udskrift";

3:
echo 'Udskrift';

Metode nr. 2 er ca. 4 % langsommere end nr.1
Metode nr. 3 er ca 2 % langsommere end nr. 1

Så ved at skrive:
echo '<a href="'.$url.'">'.$url.'</a>';
I stedet for:
echo "<a href=\"$url\">$url</a>";
Sætter du ikke parseren på unødigt arbejde.
Du slipper også for at escape alle " i udskriften.




Nezar Nielsen (01-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 01-08-01 16:14

"Mikkel Christensen" <barefoot@e-mail.dk> skrev i en meddelelse
news:9k94d2$7j9$1@sunsite.dk...
> > Er det bare hvad man lige synes er sjovest på nuværende tidspunkt eller
> > er der evt. performance fordele, el lign??
....
> Der er performangemessige fordele.
....
> Metode nr. 2 er ca. 4 % langsommere end nr.1
> Metode nr. 3 er ca 2 % langsommere end nr. 1

Hvor får du de tal fra?

--
Mvh. Nezar Nielsen
http://fez.dk/





Mikkel Christensen (01-08-2001)
Kommentar
Fra : Mikkel Christensen


Dato : 01-08-01 19:06

> > > Er det bare hvad man lige synes er sjovest på nuværende tidspunkt
eller
> > > er der evt. performance fordele, el lign??
> ...
> > Der er performangemessige fordele.
> ...
> > Metode nr. 2 er ca. 4 % langsommere end nr.1
> > Metode nr. 3 er ca 2 % langsommere end nr. 1
>
> Hvor får du de tal fra?

Diskussionen har været oppe før på experten.dk og dengang var der en som
udførte en test for at bevise at det kunne betale sig at gøre det ene frem
for det andet.
Han kaldte sig vist webmasterdk, men jer er ikke sikker på at det var ham da
det er lidt tid siden...



Nezar Nielsen (01-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 01-08-01 20:41

"Mikkel Christensen" <barefoot@e-mail.dk> wrote in message
news:9k9gea$9cq$1@sunsite.dk...
> > > > Er det bare hvad man lige synes er sjovest på nuværende tidspunkt
> eller
> > > > er der evt. performance fordele, el lign??
> > ...
> > > Der er performangemessige fordele.
> > ...
> > > Metode nr. 2 er ca. 4 % langsommere end nr.1
> > > Metode nr. 3 er ca 2 % langsommere end nr. 1
> >
> > Hvor får du de tal fra?
>
> Diskussionen har været oppe før på experten.dk og dengang var der en som
> udførte en test for at bevise at det kunne betale sig at gøre det ene frem
> for det andet.
> Han kaldte sig vist webmasterdk, men jer er ikke sikker på at det var ham
da
> det er lidt tid siden...

Jeg gad godt se det kode han har brugt til at teste det med, men jeg kunne
ikke rigtigt finde det på eksperten.dk (hvad var der galt med
nyhedsgrupper?)

--
Mvh. Nezar Nielsen
http://fez.dk/




Anders Johannsen (02-08-2001)
Kommentar
Fra : Anders Johannsen


Dato : 02-08-01 17:05

In article <9k9gea$9cq$1@sunsite.dk>, "Mikkel Christensen"
<barefoot@e-mail.dk> wrote:

>> > > Er det bare hvad man lige synes er sjovest på nuværende tidspunkt
> eller
>> > > er der evt. performance fordele, el lign??
>> ...
>> > Der er performangemessige fordele.
>> ...
>> > Metode nr. 2 er ca. 4 % langsommere end nr.1 Metode nr. 3 er ca 2 %
>> > langsommere end nr. 1
>>
>> Hvor får du de tal fra?

Og hvor satum stammer denne tråd fra? Den oprindelige post, som vel må
være noget i retning af " vs. ', er ikke at finde blandt de sidste
~ 7000 poster

/A

Niels Andersen (02-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 02-08-01 17:28

"Anders Johannsen" <anders@ignition.dk> wrote in message
news:20010802.180456.1450573622.3766@ignition.dk...
> Og hvor satum stammer denne tråd fra? Den oprindelige post, som vel må
> være noget i retning af " vs. ', er ikke at finde blandt de sidste
> ~ 7000 poster

Den starter her:
news:rj4gmtcrvtljgbq2jdonq1a26os0glfk7v@ghashul.dk

Og du får lige et par headere:
From: Stefan Bruhn <news003@3x7.dk>
Newsgroups: dk.edb.internet.webdesign.serverside.php
Subject: " vs. '
Date: Wed, 01 Aug 2001 16:31:42 +0200


Mvh.

Niels Andersen



Anders Johannsen (02-08-2001)
Kommentar
Fra : Anders Johannsen


Dato : 02-08-01 17:43

In article <20010802.180456.1450573622.3766@ignition.dk>, "Anders
Johannsen" <anders@ignition.dk> wrote:

> Og hvor satum stammer denne tråd fra? Den oprindelige post, som vel må
> være noget i retning af " vs. ', er ikke at finde blandt de sidste
> ~ 7000 poster

Ahem ... jeg har fundet den oprindelige post, som tilsyneladende ikke er
propageret ud på min newsserver endnu.

For nu at svare på spørgsmålet:

Enkeltplinger er naturligvis hurtigere, da parseren ikke behøver at
gennemsøge og ekspandere evt. variabler i strengen.

Lidt emperi for at understøtte min påstand:

<?php
require "xlog.php";

$ins = "yyy";

xlog("Enkeltpling");
for ($i = 0; $i < 100000; $i++) {
$str = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.$ins.'xxxxxxxxxxxxxxxxxxxxxxxxxxxx';
}
xlog("Enkeltpling slut");

xlog("Dobbeltpling");
for ($i = 0; $i < 100000; $i++) {
$str = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$insxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
}
xlog("Dobbeltpling slut");
?>

giver

## 02/08/01 18:28:32 Xlogging initiated in /home/aj/public_html/xlog.php
0.0001 Enkeltpling
0.6742 Enkeltpling slut
0.6742 Dobbeltpling
1.8861 Dobbeltpling slut
## 02/08/01 18:28:32 Xlog finished. Total execution time (1.8863 s.)

Resultat:
   enkeltplinger tegner sig for 0.6741 sekunder
   dobbeltplinger tegner sig for 1.2119 sekunder

Altså:
   at bruge enkeltplinger er i dette tilfælde 0.5378 sekunder hurtigere end at bruge dobbeltplinger

Man er velkommen til at påpege mangler i min lille test.

/A

Jonas Delfs (02-08-2001)
Kommentar
Fra : Jonas Delfs


Dato : 02-08-01 19:00

"Anders Johannsen" <anders@ignition.dk> skrev i en meddelelse
news:20010802.184253.1973387981.3766@ignition.dk...

> Enkeltplinger er naturligvis hurtigere, da parseren ikke behøver at
> gennemsøge og ekspandere evt. variabler i strengen.
>
> Lidt emperi for at understøtte min påstand:
[snip test]
> Man er velkommen til at påpege mangler i min lille test.

Måske at du med dobbeltpling også skulle have hoppet ind og ud af strengen,
som du gjorde med enkeltpling.
Ved ikke om det vil give nogen registreringsmulig forskel, men altså:
$str =
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".$ins."xxxxxxxxxxxxxxxxxxxxxxxxxxxx";

--
Mvh./Best Regards | Jonas Delfs, http://delfs.dk

"hehe ikke set en standart i min kode før, hvad er det for nogle dimser?" -
X



Svenne Krap (01-08-2001)
Kommentar
Fra : Svenne Krap


Dato : 01-08-01 21:25

On Wed, 1 Aug 2001 17:13:57 +0200, "Nezar Nielsen" <tumpen@fez.dk>
wrote:

>> Metode nr. 2 er ca. 4 % langsommere end nr.1
>> Metode nr. 3 er ca 2 % langsommere end nr. 1
>
>Hvor får du de tal fra?

Tja, jeg synes også de tal lyder lidt spooky....

I mine øjne burde tricket med at hoppe ud af php-mode (altså lukke-tag
efterfulgt af text efterfulgt af åbne-tag) være meget mere end 4%
hurtigere.... Et forsigtigt gæt er 15-20%, gættet løst efter,hvad
Rasmus *himself* sagde i Symbion for længe siden (specifikt: hvordan
det med at hoppe ind og ud af php-mode virkede)...

Tricket er jo netop at i stedet for at parse linje-for-linje kan man
lave en ganske almindelige strpos-ting ned efter et åbne tag og så
drøøøne derned uden at bekymre sig om noget... Hvor man den anden måde
for hver linje skal parse strengen op... det kan kun tage mere end 4%
af ydelsen.

Det hele kommer jo også an på længen af tekststrengen, og af hvordan
den er splittet op mm.. men for en stor bunke tekst (et par kb) burde
der være temmelig stor forskel.

Men at måle det, det turde jeg famne ikke påtage mig *S*

Svenne
--
Mail usenet@krap.dk - svenne@krap.dk - PGP key id : 0xDF484022
ICQ: 5434480 - http://www.krap.dk - http://www.krap.net
PGP Key http://keys.pgp.dk:11371/pks/lookup?op=get&search=0xDF484022

Rune Glerup (03-08-2001)
Kommentar
Fra : Rune Glerup


Dato : 03-08-01 14:33

Svenne Krap skriver:

> I mine øjne burde tricket med at hoppe ud af php-mode (altså lukke-tag
> efterfulgt af text efterfulgt af åbne-tag) være meget mere end 4%
> hurtigere....

Jeg er ASP-afhopper, hvor det falder mig naturligt ikke at hoppe ud og
ind af ASP, da serveren skal skifte .dll, når man gør det, og det tager
tid. Jeg har så været pænt blåøjet og troet, at det var det samme i
php... hvordan kan det være, at det ikke er?

Hilsen.



Rune :o]

--
Raymond14 [1] handler om DHTML; hvordan man laver det, og hvorfor det er
noget skidt. Så er der også lidt om software til Windows samt andre
ting.
<http://kaboom.dk/raymond14/>

Niels Andersen (03-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 03-08-01 14:44

"Rune Glerup" <rune@kaboom.dk> wrote in message
news:3B6AA7EE.69DEA609@kaboom.dk...
> Jeg er ASP-afhopper, hvor det falder mig naturligt ikke at hoppe ud og
> ind af ASP, da serveren skal skifte .dll, når man gør det, og det tager
> tid. Jeg har så været pænt blåøjet og troet, at det var det samme i
> php... hvordan kan det være, at det ikke er?

ASP og PHP har ikke særligt meget tilfælles. Derfor.

Så kort kan det egentlig siges. :)

> Raymond14 [1] handler om DHTML; hvordan man laver det, og hvorfor det er
> noget skidt.

Falsk reklame. Det står IKKE at det er noget skidt. Der står bare at det KAN
det være.
Surprice, sådan er det med ALT!


Mvh.

Niels Andersen



Rune Glerup (03-08-2001)
Kommentar
Fra : Rune Glerup


Dato : 03-08-01 15:02

Niels Andersen skriver:

> Falsk reklame. Det står IKKE at det er noget skidt. Der står bare at det KAN
> det være.

Sagsøg mig.

Hilsen.



Rune

--
Raymond14 [1] handler om DHTML; hvordan man laver det, og hvorfor det er
noget skidt. Så er der også lidt om software til Windows samt andre
ting.
<http://kaboom.dk/raymond14/>

Rune Glerup (04-08-2001)
Kommentar
Fra : Rune Glerup


Dato : 04-08-01 22:59

Ikke for at gentage mig selv, men jeg læste lige i manualen, at det at
det, der står mellem ?> disse <? bliver opfattet som echo ' disse ';

Hvorfor skulle det så være hurtigere?

Hilsen.



Rune :o]

--
Raymond14 [1] handler om DHTML; hvordan man laver det, og hvorfor det er
noget skidt. Så er der også lidt om software til Windows samt andre
ting.
<http://kaboom.dk/raymond14/>

Jonas Delfs (04-08-2001)
Kommentar
Fra : Jonas Delfs


Dato : 04-08-01 23:15

"Rune Glerup" <rune@kaboom.dk> skrev i en meddelelse
news:3B6C7039.B700F850@kaboom.dk...

> Ikke for at gentage mig selv, men jeg læste lige i manualen, at det at
> det, der står mellem ?> disse <? bliver opfattet som echo ' disse ';

Øhh - hva'?
Det vil jeg gerne se på skrift fra php.net's side.
At ouputtet vil blive stortset det samme er en anden sag.

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk

"hehe ikke set en standart i min kode før, hvad er det for nogle dimser?"



Rune Glerup (05-08-2001)
Kommentar
Fra : Rune Glerup


Dato : 05-08-01 00:24

Jonas Delfs skriver:

> Øhh - hva'?
> Det vil jeg gerne se på skrift fra php.net's side.
> At ouputtet vil blive stortset det samme er en anden sag.

http://www.php.net/manual/en/language.basic-syntax.php#language.basic-syntax.phpmode

Det står lige før kommentarerne.

Hilsen.



Rune :o]

--
Raymond14 [1] handler om DHTML; hvordan man laver det, og hvorfor det er
noget skidt. Så er der også lidt om software til Windows samt andre
ting.
<http://kaboom.dk/raymond14/>

Jonas Delfs (05-08-2001)
Kommentar
Fra : Jonas Delfs


Dato : 05-08-01 09:54

"Rune Glerup" <rune@kaboom.dk> skrev i en meddelelse
news:3B6C842C.59A456B9@kaboom.dk...

> > Det vil jeg gerne se på skrift fra php.net's side.
>
>
http://www.php.net/manual/en/language.basic-syntax.php#language.basic-syntax
..phpmode

Hmm... skummelt. Jeg håber da at det bare er mig der ikke kan se at det
_også_ kan opfattes således. :))

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk

"hehe ikke set en standart i min kode før, hvad er det for nogle dimser?"



Svenne Krap (05-08-2001)
Kommentar
Fra : Svenne Krap


Dato : 05-08-01 10:54

On Sat, 04 Aug 2001 23:59:21 +0200, Rune Glerup <rune@kaboom.dk>
wrote:

>Ikke for at gentage mig selv, men jeg læste lige i manualen, at det at
>det, der står mellem ?> disse <? bliver opfattet som echo ' disse ';

Hmmm... spørgsmålet er, om det er "politisk" korrekt eller "teknisk"
korrekt, at den opfatter ?> <? som echo '';

Jeg tror det er "politisk" korrekt, dvs. at udfaldet er det samme, men
måden er ikke det samme...

Ideen er, og det var Rasmus Lerdorf (hamsjælv) der sagde dette, at når
du lukker php-tagget, slukkes den almindelige parser, og data pipes
igennem (som en lille vild) indtil man møder et åbne-tag...

Det går meget hurtigere at lede efter en streng og så pumpe igennem
til man møder den, end at parse linje (herunder tjekke for syntax).

Svenne
--
Mail usenet@krap.dk - svenne@krap.dk - PGP key id : 0xDF484022
ICQ: 5434480 - http://www.krap.dk - http://www.krap.net
PGP Key http://keys.pgp.dk:11371/pks/lookup?op=get&search=0xDF484022

Nezar Nielsen (03-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 03-08-01 17:08

"Svenne Krap" <usenet@krap.dk> skrev i en meddelelse
news:84pgmt4ttu42utd8i7a985j8jrgg0n4q4e@4ax.com...
>
> I mine øjne burde tricket med at hoppe ud af php-mode (altså lukke-tag
> efterfulgt af text efterfulgt af åbne-tag) være meget mere end 4%
> hurtigere.... Et forsigtigt gæt er 15-20%, gættet løst efter,hvad
> Rasmus *himself* sagde i Symbion for længe siden (specifikt: hvordan
> det med at hoppe ind og ud af php-mode virkede)...

Det var heller ikke lukke-tag efterfulgt af text, efterfulgt af åbne-tag,
det var bare et spørgsmål om performanceforskelle på at interpolere variable
direkte i en streng:

$string="hej $name how goes";

vs.

$string='hej '.$name.' how goes';

På en eller anden måde ville jeg ikke have troet at der var SÅ stor forskel
som Anders Johannsen demonstrerede:

> enkeltplinger tegner sig for 0.6741 sekunder
> dobbeltplinger tegner sig for 1.2119 sekunder

dvs. interpolering indeni en streng tager(i Anders' eksempel..) ca. dobbelt
så lang tid som at kun have selve variablen udenfor en ikke-parset streng..

Alt i alt er der nok ikke den store performance at hente ved at lade være
med at bruge interpolerede variable, da tallene ovenfor er et resultat af
100000 gennemløb af en løkke foretaget een gang.. men ok, hvis man har et
stort nok system, hvor man vil hente et par ms hist og her, så kan det nok
betale sig..

--
Mvh. Nezar Nielsen
http://fez.dk/




Peter Brodersen (05-08-2001)
Kommentar
Fra : Peter Brodersen


Dato : 05-08-01 16:06

On Wed, 01 Aug 2001 22:25:20 +0200, Svenne Krap <usenet@krap.dk>
wrote:

>Et forsigtigt gæt er 15-20%, gættet løst efter,hvad
>Rasmus *himself* sagde i Symbion for længe siden (specifikt: hvordan
>det med at hoppe ind og ud af php-mode virkede)...

Rasmus nævnte også, at der måtte være vigtigere ting i livet at
bekymre sig om :)

Det er rigtigt, at isoleret set kan det virke som at have stor
betydning. Men hvis man bare har lidt mere kode undervejs, fx et par
mysql-queries, lidt regexps, etc., som man under alle omstændigheder
skal have med i sin kode, så er det nok ens mindste hovedpine.

På samme måde er det ikke nødvendigs vigtigt, om baggrundsstrålingen i
min lejlighed er tre gange så høj som i en anden lejlighed; det vil
stadigvæk være på et "ubetydeligt" niveau.

--
- Peter Brodersen

Mikkel Christensen (03-08-2001)
Kommentar
Fra : Mikkel Christensen


Dato : 03-08-01 20:13

> > > Er det bare hvad man lige synes er sjovest på nuværende tidspunkt
eller
> > > er der evt. performance fordele, el lign??
> ...
> > Der er performangemessige fordele.
> ...
> > Metode nr. 2 er ca. 4 % langsommere end nr.1
> > Metode nr. 3 er ca 2 % langsommere end nr. 1
>
> Hvor får du de tal fra?

Jeg fik gravet et gammelt link frem:
http://www.eksperten.dk/spm/85529
Det er iss, som han kalder sig, der har udført testen.
Hans indlæg blev skrevet: 29/06 2001 01:25:40



Mikkel Christensen (03-08-2001)
Kommentar
Fra : Mikkel Christensen


Dato : 03-08-01 20:15


>> > > Er det bare hvad man lige synes er sjovest på nuværende tidspunkt
> eller
> > > > er der evt. performance fordele, el lign??
> > ...
> > > Der er performangemessige fordele.
> > ...
> > > Metode nr. 2 er ca. 4 % langsommere end nr.1
> > > Metode nr. 3 er ca 2 % langsommere end nr. 1
> >
> > Hvor får du de tal fra?
>
> Jeg fik gravet et gammelt link frem:
> http://www.eksperten.dk/spm/85529
> Det er iss, som han kalder sig, der har udført testen.
> Hans indlæg blev skrevet: 29/06 2001 01:25:40

Ups, det var ikke her det skulle have stået, men lidt tidligere i
debatten...



Nezar Nielsen (03-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 03-08-01 21:53

"Mikkel Christensen" <barefoot@e-mail.dk> wrote in message
news:9ket4v$ssj$1@sunsite.dk...
> > > Der er performangemessige fordele.
> > ...
> > > Metode nr. 2 er ca. 4 % langsommere end nr.1
> > > Metode nr. 3 er ca 2 % langsommere end nr. 1
> >
> > Hvor får du de tal fra?
>
> Jeg fik gravet et gammelt link frem:
> http://www.eksperten.dk/spm/85529

Ok, men jeg kunne se at der ingen argumentation for det var i diskussionen
alligevel, så jeg vælger, for nu at tro på den benchmark hr. johannsen
sendte.

--
Mvh. Nezar Nielsen
http://fez.dk/




Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408562
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste