December 17, 2002 at 8:34 am
Hi
Anyone know of a way of timing procs, functions or a piece of code that runs in under 1 millisecond??
Is it possible?
More out of interest than serious requirement,
Thanks
December 17, 2002 at 8:54 am
If a piece of code actually runs in under a millisecond, why would you care to time it?
I think SQL Server only support timings to within 3 milliseconds.
Gregory Larsen, DBA
If you looking for SQL Server Examples check out my website at http://www.geocities.com/sqlserverexamples
Gregory A. Larsen, MVP
December 17, 2002 at 9:15 am
Well like I said, was more out of interest that a real need.
But if you had a piece of code that could be written in two different ways, and both those ways ran in under a millisecond, it might be interesting to see which actually ran faster (given that SQL can do a lot of things in a millisecond), especially if it was to be used multiple times.
With reference to your second comment, comparing getdate() (using datediff(ms,...) ) both before and after a piece of code would seem to suggest that you can get timings down to 1 millisecond, is this not the case?
Thanks
David
December 17, 2002 at 9:27 am
If you cannot get the small time increments that you are looking for by simply using datepart(ms, @timer, getdate()) then why not loop around your code say 100 times.
This will magnify the time taken for the code to process. Once you run your alternative code within a loop 100 times you will have the comparison you are looking for.
December 17, 2002 at 9:35 am
To verify the time to 3 milliseconds try the following code:
declare @datetime datetime
set @datetime = '2002-12-16 23:59:59:993'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-16 23:59:59:994'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-16 23:59:59:995'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-16 23:59:59:996'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-16 23:59:59:997'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-16 23:59:59:998'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-16 23:59:59:999'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00.000'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:001'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:002'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:003'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:004'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:005'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:007'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:009'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:009'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:010'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:011'
print convert(char(17),@datetime,114)
set @datetime = '2002-12-17 00:00:00:012'
print convert(char(17),@datetime,114)
As far as timing to determine which code is faster. Try running each set of code a million time, and compare how long it takes.
This should be measurable.
Gregory Larsen, DBA
If you looking for SQL Server Examples check out my website at http://www.geocities.com/sqlserverexamples
Gregory A. Larsen, MVP
December 17, 2002 at 10:49 am
Consider it verified!
In which case, can I revise my original post to "Can you time something that runs in less that three millisecond"...no never mind!!, Thanks for your replies
Viewing 6 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy