Removing [showif] makes a big difference in speed

This WebDNA talk-list message is from

1997


It keeps the original formatting.
numero = 10779
interpreted = N
texte = Hi Grant,The following HTML is supposed to lookup a record in the sum.db for a record with today's date. If it cannot find one, it creates a new one, and then it goes thru a time-consuming procedure (inside the [showif] context) which calculates a new value for the 'sum' field based on the search results and math calculations in another database, then it places that value into a newly-appended record in the sum.db.The whole idea is to make subsequent hits to this page run as if the [showif] stuff is not even there ... but that's not what happens. I was under the impression that this WebDNA would be slow only when the very first person of the day request the page ... because that's the only time the [search] and [math] and [append] would have to be performed ... because that's when the [showf] test would be 'true'. Every other hit of the day would return a [showif] test of 'false' which should skip all the enclosed WebDNA and go directly to the following [lookup] which is very fast.Unfortunately, it seems like WebCat2 performs the [search] and the [math] even when the enclosing [showif] test is evaluated as false.I'm not saying that WebCat2 is showing the results of this hidden activity, because it is *not*. WebCat2 is still delivering the results I would expect, but it takes just as long on subsequent hits as on the very first hit of the day - and that's what I thought I was avoiding with this code.In order to make sure the stuff inside the [showif] context was causing the slowdown, I removed the [showif] context and everything inside it just to see what difference it would make. The difference is like night and day! It takes at least 16-17 seconds with the [showif] stuff in the template, and only 0.083 seconds without it.Why does WebCat2 *not* skip directly to the end of the [showif] context when the test is false?[showif [lookup db=sum.db&value=[date]&lookInField=sumDate&returnField=sumDate¬Found=]![date] ] [append db=sum.db]sumDate=[date]&sum= [search db=agents.db&nepricedata=0] [math]([founditems][price]+[/founditems]0)/1000000[/math] [/search] [/append] [/showif][format thousands .1f] [lookup db=sum.db&value=[date]&lookInField=sumDate&returnField=sum¬Found=] [/format]Sincerely, Ken Associated Messages, from the most recent to the oldest:

    
  1. Re: Removing [showif] makes a big difference in speed (Grant Hulbert 1997)
  2. Follow-Up to: Removing [showif] makes a big difference in speed (Kenneth Grome 1997)
  3. Removing [showif] makes a big difference in speed (Kenneth Grome 1997)
Hi Grant,The following HTML is supposed to lookup a record in the sum.db for a record with today's date. If it cannot find one, it creates a new one, and then it goes thru a time-consuming procedure (inside the [showif] context) which calculates a new value for the 'sum' field based on the search results and math calculations in another database, then it places that value into a newly-appended record in the sum.db.The whole idea is to make subsequent hits to this page run as if the [showif] stuff is not even there ... but that's not what happens. I was under the impression that this WebDNA would be slow only when the very first person of the day request the page ... because that's the only time the [search] and [math] and [append] would have to be performed ... because that's when the [showf] test would be 'true'. Every other hit of the day would return a [showif] test of 'false' which should skip all the enclosed WebDNA and go directly to the following [lookup] which is very fast.Unfortunately, it seems like WebCat2 performs the [search] and the [math] even when the enclosing [showif] test is evaluated as false.I'm not saying that WebCat2 is showing the results of this hidden activity, because it is *not*. WebCat2 is still delivering the results I would expect, but it takes just as long on subsequent hits as on the very first hit of the day - and that's what I thought I was avoiding with this code.In order to make sure the stuff inside the [showif] context was causing the slowdown, I removed the [showif] context and everything inside it just to see what difference it would make. The difference is like night and day! It takes at least 16-17 seconds with the [showif] stuff in the template, and only 0.083 seconds without it.Why does WebCat2 *not* skip directly to the end of the [showif] context when the test is false?[showif [lookup db=sum.db&value=[date]&lookInField=sumDate&returnField=sumDate¬Found=]![date] ] [append db=sum.db]sumDate=[date]&sum= [search db=agents.db&nepricedata=0] [math]([founditems][price]+[/founditems]0)/1000000[/math] [/search] [/append] [/showif][format thousands .1f] [lookup db=sum.db&value=[date]&lookInField=sumDate&returnField=sum¬Found=] [/format]Sincerely, Ken Kenneth Grome

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:

WebCatalog can't find database (1997) Out of the woodwork (2007) Win2003 Webserver (2003) [WebDNA] =?windows-1252?Q?WebDNA_v7_questions_=85=2E=2E?= (2011) Need help (1998) b12 cannot limit records returned and more. (1997) hierarchy question... (2000) Various Problems (1997) I found a bug ... (1997) New public beta available (1997) Showif for mulitple variations (1997) Summary search -- speed (1997) WebCat2b13 Command Reference Doc error (1997) How do I handle extra spaces? (2002) MacWorld NY (2000) Help! (2000) Country & Ship-to address & other fields ? (1997) Sendmail truncation in Eudora Clients (1998) shipcost (1997) counting characters and/or words (1997)