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:

Summary search -- speed (1997) Banners (1997) webcat and OS 8 (1997) Searching Multiple Databases (2000) WC1.6 to WC2 date formatting (1997) Rhapsody? (1997) Changing names of .hdr field names (2003) WebCat2 - storing unformatted date data? (1997) Linux ODBC and the ODBC Bridge (2000) [MoveFile] (2000) looking for developers with solutions (2000) (OT) Dual 2GHz G5 (2003) Using EIMS instead of Emailer (1998) WebCatalog can't find database (1997) Possible Bug in 2.0b15.acgi (1997) Problem with 2.1b3 (1997) Webcatalog acgi conflict? (1999) WebCat2b13MacPlugIn - More limits on [include] (1997) PIXO support (1997) [WebDNA] Date: header on emails - timezone problem perhaps (2010)