Re: [WebDNA] SWITCH/CASE or SHOWIF
This WebDNA talk-list message is from 2008
It keeps the original formatting.
numero = 101492
interpreted = N
texte = FWIW, I tested both sets of code below and saw absolutely ZERO difference= in performance.-DanOn Thu, 20 Nov 2008 12:44:21 -0800 "Dan Strong"
wrote:> On Thu, 20 Nov 2008 14:53:13 -0500> Ki Song wrote:>> We have about a 100 different brands at our store.>> Some brands have "static" brand pages (brand/index.html) while others =have "dynamic" brand pages=20>>(dynamic.tpl?brand=3Dsomebrand).>>=20>> 1. To go through 100 different choices, is a switch/case more efficien=t or 100 showif statements=20>>more efficient?>=20> My instict is that switch/case would be faster since it seems to be a "=single" operation vs 100=20>[showif] operations, but it is untested and based on nothing but my own =buest guess.>=20> Try a test similar to these and wrap [elapsedtime] around them or compa=re the start [time] to=20>the end [time]:>=20> [text]x=3D[math]ceil([RANDOM format=3Dfloat]*(100))[/math][/text]>=20> [Switch value=3D[x]]> [loop start=3D1&end=3D100]> [Case value=3D[index]]The value of x is [x][/Case]> [/loop]> [Default]> [!]--The "default" case is probably not needed here since one of =these cases will *always*=20> be true, but hey, I still end my [search]es w/ [/search] --[/!]> [/Default]> [/Switch]>=20> ------------>=20> [text]x=3D[math]ceil([RANDOM format=3Dfloat]*(100))[/math][/text]>=20> [loop start=3D1&end=3D100]> [showif [x]=3D[index]]The value of x is [x][/showif]> [/loop]>=20> I'd be curious to see what the results are.>=20>> 2. In the final generated HTML code, when 100 SHOWIF statements are pr=ocessed, but only 1 is=20>>actually shown, the other 99 SHOWIF statements create line breaks. Is t=here a way to prevent the=20>>line breaks from showing up if a showif does not evaluate to true?>=20> I got this one from someone on the list:>=20> Wrap all "line-breaky" code like this:>=20> [getchars start=3D1&end=3D&trim=3Dboth]> [grep search=3D[%0D%0A][%0D%0A%09]*&replace=3D%0D]> ... your line-breaky code goes here ...> [/grep]> [/getchars]>=20>>=20>> 3. Does a SWITCH/CASE statement create line breaks for all the cases t=hat evaluate to false?>=20> Dunno, but if so, wrap like above.> -Dan
Associated Messages, from the most recent to the oldest:
FWIW, I tested both sets of code below and saw absolutely ZERO difference= in performance.-DanOn Thu, 20 Nov 2008 12:44:21 -0800 "Dan Strong" wrote:> On Thu, 20 Nov 2008 14:53:13 -0500> Ki Song wrote:>> We have about a 100 different brands at our store.>> Some brands have "static" brand pages (brand/index.html) while others =have "dynamic" brand pages=20>>(dynamic.tpl?brand=3Dsomebrand).>>=20>> 1. To go through 100 different choices, is a switch/case more efficien=t or 100 showif statements=20>>more efficient?>=20> My instict is that switch/case would be faster since it seems to be a "=single" operation vs 100=20>[showif] operations, but it is untested and based on nothing but my own =buest guess.>=20> Try a test similar to these and wrap [elapsedtime] around them or compa=re the start [time] to=20>the end [time]:>=20> [text]x=3D[math]ceil([RANDOM format=3Dfloat]*(100))[/math][/text]>=20> [Switch value=3D[x]]> [loop start=3D1&end=3D100]> [Case value=3D[index]]The value of x is [x][/Case]> [/loop]> [Default]> [!]--The "default" case is probably not needed here since one of =these cases will *always*=20> be true, but hey, I still end my [search]es w/ [/search] --[/!]> [/Default]> [/Switch]>=20> ------------>=20> [text]x=3D[math]ceil([RANDOM format=3Dfloat]*(100))[/math][/text]>=20> [loop start=3D1&end=3D100]> [showif [x]=3D[index]]The value of x is [x][/showif]> [/loop]>=20> I'd be curious to see what the results are.>=20>> 2. In the final generated HTML code, when 100 SHOWIF statements are pr=ocessed, but only 1 is=20>>actually shown, the other 99 SHOWIF statements create line breaks. Is t=here a way to prevent the=20>>line breaks from showing up if a showif does not evaluate to true?>=20> I got this one from someone on the list:>=20> Wrap all "line-breaky" code like this:>=20> [getchars start=3D1&end=3D&trim=3Dboth]> [grep search=3D[%0D%0A][%0D%0A%09]*&replace=3D%0D]> ... your line-breaky code goes here ...> [/grep]> [/getchars]>=20>>=20>> 3. Does a SWITCH/CASE statement create line breaks for all the cases t=hat evaluate to false?>=20> Dunno, but if so, wrap like above.> -Dan
"Dan Strong"
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
no global [username] or [password] displayed ... (1997)
Hosting Service (1998)
Webcat & SIMS (1998)
Bug Report, maybe (1997)
[WebDNA] Version 7.x: webdna.ini and EmailerPrefs (2012)
Convert Chars Q (2000)
WebDNA / Java Chat (2004)
OR-searching (2000)
More on the email templates (I like it) (1997)
math on date? (1997)
A multi-processor savvy WebCatalog? (1997)
no time stamp & different times from emailer (1998)
encryption madness (2003)
First postarg not taking in $Commands (1997)
Re:E-mailer application times out (1998)
webmerch and serials - almost there (1997)
RE: Credit card processing - UK (1997)
[WriteFile] problems (1997)
Formatting ModDate (2000)
How far do [showif]s go? (1997)