473,320 Members | 2,122 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

I just spent several hours shaving a total of 250 milliseconds off my application


building variable width/DB tables etc using getrows instead of movenext.
Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of building
faster apps vs. getting the job done??? If my calculations are correct, I
just added an extra 10,000+ possible hits within a 12 hour day or so.. an
extra 10,000 hits???!!! What percentage of applications do you think will
ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users ever
realistically notice a difference?
TIA
Jul 19 '05 #1
8 2626
The exercise you went through will lead to more efficient insane and
pointless programming in the future.

"Tom Siltwater" <Si*******@no-email-please.com> wrote in message
news:uq**************@TK2MSFTNGP10.phx.gbl...

building variable width/DB tables etc using getrows instead of movenext.
Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of building
faster apps vs. getting the job done??? If my calculations are correct, I
just added an extra 10,000+ possible hits within a 12 hour day or so.. an
extra 10,000 hits???!!! What percentage of applications do you think will
ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users ever
realistically notice a difference?
TIA

Jul 19 '05 #2
It was probably worthwhile to learn the technique so that you can apply it
in similar situations in the future.

In general you should apply the same rules of performance optimization that
are used in non-web apps. Profile the application to see where the users
spend most of their time and concentrate your efforts on that portion of the
application. If you shave 250ms second off of a page the gets hit once an
hour you've wasted your time. If it gets hit 10 times a second then you've
made a significant improvement in performance.

When developing new pages or making major changes to old pages use the
optimization techniques that you have learned.

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
"Tom Siltwater" <Si*******@no-email-please.com> wrote in message
news:uq**************@TK2MSFTNGP10.phx.gbl...

building variable width/DB tables etc using getrows instead of movenext.
Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of building
faster apps vs. getting the job done??? If my calculations are correct, I
just added an extra 10,000+ possible hits within a 12 hour day or so.. an
extra 10,000 hits???!!! What percentage of applications do you think will
ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users ever
realistically notice a difference?
TIA

Jul 19 '05 #3
Tom Siltwater wrote:
building variable width/DB tables etc using getrows instead of
movenext. Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of
building faster apps vs. getting the job done??? If my calculations
are correct, I just added an extra 10,000+ possible hits within a 12
hour day or so.. an extra 10,000 hits???!!! What percentage of
applications do you think will ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users
ever realistically notice a difference?
TIA


I don't get it. Why do you say it took so much longer using a getrows array
vs a recordset loop?

Recordset loop:

if not rs.eof then
Do until rs.eof
rs.movenext
loop
else
'handle no-records event
end if
rs.close:set rs=nothing
cn.close:set cn=nothing

GetRows array loop:

if not rs.eof then arResults-rs.getrows
rs.close:set rs=nothing
cn.close:set cn=nothing
if isarray(arResults) then
for i = 0 to ubound(arResults,2)
next
else
'handle no-records event
end if
9 lines vs 9 lines. Where is the increase in development time?

Bob Barrows

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
Jul 19 '05 #4
Tom Siltwater wrote:
building variable width/DB tables etc using getrows instead of
movenext. Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of
building faster apps vs. getting the job done??? If my calculations
are correct, I just added an extra 10,000+ possible hits within a 12
hour day or so.. an extra 10,000 hits???!!! What percentage of
applications do you think will ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users
ever realistically notice a difference?

Just wanted to add: while you may have improved performance by "only" 250ms
for this page, you are ignoring the fact that you have improved the overall
utilization of connections on your server by releasing connections before
processing the data. So there will be improved performance and less
resources used on your server overall as a result of this development
method.

Bob Barrows

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
Jul 19 '05 #5

thanks :-)

"Jeff Clark" <JeffC@NO_SPAMreturnventures.com> wrote in message
news:eJ**************@TK2MSFTNGP09.phx.gbl...
The exercise you went through will lead to more efficient insane and
pointless programming in the future.

"Tom Siltwater" <Si*******@no-email-please.com> wrote in message
news:uq**************@TK2MSFTNGP10.phx.gbl...

building variable width/DB tables etc using getrows instead of movenext.
Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of building
faster apps vs. getting the job done??? If my calculations are correct, I just added an extra 10,000+ possible hits within a 12 hour day or so.. an extra 10,000 hits???!!! What percentage of applications do you think will ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users ever
realistically notice a difference?
TIA


Jul 19 '05 #6

I'm just now getting to the "tweaking" stage of scripting. Before it was all
about just getting it to work. I made an error with my performance
estimate.. it's actually running 3x faster than rs.movenext..! That put a
big smile on my face last night after all that struggling.

Thanks for the advice
"Mark Schupp" <ms*****@ielearning.com> wrote in message
news:O4**************@TK2MSFTNGP11.phx.gbl...
It was probably worthwhile to learn the technique so that you can apply it
in similar situations in the future.

In general you should apply the same rules of performance optimization that are used in non-web apps. Profile the application to see where the users
spend most of their time and concentrate your efforts on that portion of the application. If you shave 250ms second off of a page the gets hit once an
hour you've wasted your time. If it gets hit 10 times a second then you've
made a significant improvement in performance.

When developing new pages or making major changes to old pages use the
optimization techniques that you have learned.

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
"Tom Siltwater" <Si*******@no-email-please.com> wrote in message
news:uq**************@TK2MSFTNGP10.phx.gbl...

building variable width/DB tables etc using getrows instead of movenext.
Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of building
faster apps vs. getting the job done??? If my calculations are correct, I just added an extra 10,000+ possible hits within a 12 hour day or so.. an extra 10,000 hits???!!! What percentage of applications do you think will ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users ever
realistically notice a difference?
TIA


Jul 19 '05 #7

"Bob Barrows" <re******@NOyahoo.SPAMcom> wrote in message
news:ey**************@tk2msftngp13.phx.gbl...
Tom Siltwater wrote:
building variable width/DB tables etc using getrows instead of
movenext. Performance is a major concern as this app requires SSL.

My question is, when does it become more about the challenge of
building faster apps vs. getting the job done??? If my calculations
are correct, I just added an extra 10,000+ possible hits within a 12
hour day or so.. an extra 10,000 hits???!!! What percentage of
applications do you think will ever see this kind of traffic?

Is this insane? If this app ever gets maxed out, will my end users
ever realistically notice a difference?
TIA
I don't get it. Why do you say it took so much longer using a getrows

array vs a recordset loop?

Recordset loop:

if not rs.eof then
Do until rs.eof
rs.movenext
loop
else
'handle no-records event
end if
rs.close:set rs=nothing
cn.close:set cn=nothing

GetRows array loop:

if not rs.eof then arResults-rs.getrows
rs.close:set rs=nothing
cn.close:set cn=nothing
if isarray(arResults) then
for i = 0 to ubound(arResults,2)
next
else
'handle no-records event
end if
9 lines vs 9 lines. Where is the increase in development time?

Bob Barrows

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.


It's actually just over a hundred lines of code. I'm using a single function
to dynamically build tables which takes 10 different arguments for column
widths, height, table headers, anchor tags etc etc.. just about every page
within the site will use this function now.





Jul 19 '05 #8
Tom Siltwater wrote:

It's actually just over a hundred lines of code. I'm using a single
function to dynamically build tables which takes 10 different
arguments for column widths, height, table headers, anchor tags etc
etc.. just about every page within the site will use this function
now.


I still don't see where you did anything "extra" by using getrows vs a
recordset loop. You would have had to write this function in either case
wouldn't you? I can see using maybe 5 or 6 extra lines to create an array to
contain the recordset's metadata if you need to use that, but ... 100 extra
lines because you're using getrows vs a recordset loop? I don't understand.

Bob Barrows

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 19 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Guy | last post by:
JavaScript can get time, can it get milliseconds, or actually just tenths of seconds? Thanks for all Guy
31
by: Bob | last post by:
I have recently joined a healthcare company where I am the solo programmer. I am going to be starting work on a project. The management has asked me to provide an estimate of hours I am going to...
1
by: serge | last post by:
Right now the database I am working with is storing time in an Integer data type and is storing the time value in seconds. The application does not allow entering seconds. It accepts minutes and...
1
by: Brett | last post by:
Does anyone know how to calculate hours that go over 24? I am tracking how many hours & seconds our production keyers work everyday. When I run a query for a length of time that a given employee...
3
by: Nigel Heald | last post by:
Hi Folks, We have a form that records flight times in hours and minutes, for example a 1 hour 15 minute flight is recorded as 1:15 Does anyone know how to get Access 2003 to calculate a total...
3
by: jbosrock | last post by:
Hi to all, Please bear with me as I am newly experienced in basic Access 2003 only. I don't know Visual Basic or macros at all but am attempting to learn on my own. Explanation: Our fleet...
4
by: NormAmst | last post by:
I have a list of CPU processing times and job durations for an entire department at work. There are 3 classifications I am maintaining. CPU time during peak hours , CPU time during non peak hours...
19
by: xianwei | last post by:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main ( int argc, char *argv ) { long i = 10000000L; clock_t start, end; double duration;
1
by: silversubey | last post by:
I am using a query to total hours (Cltbudget.CBudhours) and dollars (CltBudget.CBudFee) Grouped by client names (Cltbudget.CBudCltName). here is the Query: SELECT CltBudget.CBudCltName AS Client...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.