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:
Search Engine questions ... (2002)
[WebDNA] [announce] Developer Resource Center (2008)
Almost a there but..bye bye NetCloak (1997)
Re[2]: OT: Sending email to lots of subscribers (1999)
Forcing a NEWCART (1997)
[BoldWords] WebCat.acgib15Mac (1997)
A little syntax help (1997)
Re:2nd WebCatalog2 Feature Request (1996)
Highlighting words found in a keyword search (2003)
[WebDNA] Hmmm ... (2008)
WebCatalog2 Feature Feedback (1996)
Trying to append from within a single template file (2005)
WebCat and PIXO (2000)
Major Security Hole IIS NT (1998)
Dropdown menus (2006)
(2000)
tcpsend (2001)
[WebDNA] Encrypt / Decrypt weirdness..... plus some date weirdness (2015)
Webcat no longer supported? (2006)
set header in DB (no cart) (2003)