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 arecord with today's date. If it cannot find one, it creates a new one, andthen it goes thru a time-consuming procedure (inside the [showif] context)which calculates a new value for the 'sum' field based on the searchresults and math calculations in another database, then it places thatvalue 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 wasunder the impression that this WebDNA would be slow only when the veryfirst person of the day request the page ... because that's the only timethe [search] and [math] and [append] would have to be performed ... becausethat's when the [showf] test would be 'true'. Every other hit of the daywould return a [showif] test of 'false' which should skip all the enclosedWebDNA 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 wouldexpect, but it takes just as long on subsequent hits as on the very firsthit 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 theslowdown, I removed the [showif] context and everything inside it just tosee what difference it would make. The difference is like night and day! Ittakes at least 16-17 seconds with the [showif] stuff in the template, andonly 0.083 seconds without it.Why does WebCat2 *not* skip directly to the end of the [showif] contextwhen the test is false?[showif[lookupdb=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:
Hi Grant,The following HTML is supposed to lookup a record in the sum.db for arecord with today's date. If it cannot find one, it creates a new one, andthen it goes thru a time-consuming procedure (inside the
[showif] context)which calculates a new value for the 'sum' field based on the searchresults and math calculations in another database, then it places thatvalue 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 wasunder the impression that this WebDNA would be slow only when the veryfirst person of the day request the page ... because that's the only timethe
[search] and
[math] and
[append] would have to be performed ... becausethat's when the [showf] test would be 'true'. Every other hit of the daywould return a
[showif] test of 'false' which should skip all the enclosedWebDNA 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 wouldexpect, but it takes just as long on subsequent hits as on the very firsthit 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 theslowdown, I removed the
[showif] context and everything inside it just tosee what difference it would make. The difference is like night and day! Ittakes at least 16-17 seconds with the
[showif] stuff in the template, andonly 0.083 seconds without it.Why does WebCat2 *not* skip directly to the end of the
[showif] contextwhen the test is false?[showif[lookupdb=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)