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:

[WebDNA] [OT] - One Man. One Road. (2009) Location of Webcat site in folder hierarchy (1997) Using Applescript to process WebCatalog functions (1998) Emailer compatibility..... (1998) Press Release hit the NewsWire!!! (1997) encryption in browser? (1998) WebDNA 6.0 backwards compatible? (2004) Nested vs conditional (1997) Virtual hosting and webcatNT (1997) Grep Search and Replace (2002) Physical Security for WebCatalog Directories (1997) WebCatalog Plug-in for Webstar. (1997) watch out for format_to_days on NT (1997) unable to run webcatalog locally (1998) Setting up shop (1997) emailer suddenly stops (1998) Dashes and dots in credit card (1998) Is there a way to just get to the last record in the database? (1997) WebCat2b12 CGI Mac - [shownext] problem (1997) Re:Help name our technology! (1997)