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:
Help! WebCat2 bug (1997)
What is the syntax for MIME type on Apache server? (2000)
WebCatalog Eating 200% of the CPU (2002)
So what ya working on? (or have you completed?) (2004)
Exclude by date - multiple (1997)
WebCat2b13MacPlugIn - [include] doesn't allow creator (1997)
This list needs a digest: rant, rave... (1997)
PCS Frames (1997)
Attn: Bug in GeneralStore example b15 (1997)
Date Formats (1997)
Re:Searching for ALL / empty form field *the FINAL answer* (1997)
emailer on Windows Beta 18 (1997)
PCS Frames (1997)
Initiating NewCart (1997)
Claris HomePage messes up the code (1997)
Auto Fill Forms (2000)
RE: IIS4b2 and WebCatalog b19 (1997)
Just a thought (1998)
New Site Announcement (1998)
Help! WebCat2 bug (1997)