Discuss there seems to be some overhead between SQL Server 2005 and a CLR function written in C#. Why is this? in the Dotnet Framework (ADO.net)
forum.
there seems to be some overhead between SQL Server 2005 and a CLR function written in C#. Why is this? -
10-27-2007
, 12:24 AM
there seems to be some overhead between SQL Server 2005 and a CLR function
written in C#. Why is this?
I have a simple wraper around System.Diagnostics.Stopwatch.GetTimestamp() :
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static long GetTimestampF()
{
return System.Diagnostics.Stopwatch.GetTimestamp();
}
};
but if i run this it is hardly accurate. the time of getting from sql server
to a CLR function seems to be relatively slow for nanosecond calculations:
DECLARE @before bigint
DECLARE @after bigint
SET @before = dbo.GetTimestampF()
-- do something
SET @after = dbo.GetTimestampF()
SELECT @after - @before as nanoseconds
is there nyway to elimitate this overhead so that dbo.GetTimestampF()
executes as fast for TSQL as it is to call GetTimestampF() in C#?
If i call my GetTimestampF() on c# it executes fast enough for the
nanosecond results to be accurate
Re: there seems to be some overhead between SQL Server 2005 and a CLR function written in C#. Why is this? -
10-27-2007
, 01:21 PM
DR,
An Windows system will never be able to calculate exact times. Even not in
milliseconds. Have a look at your tasks how many there are runing including
those who starts a soon as it is a little bit iddle. (Virusscanners etc).