Коллеги, а можете у себя сделать замер и поделиться ?
Я попробовал вот такой вариант на 3 разных серверах (все виртуальные)
X++:
create function dbo.isPrime (@n bigint)
returns int
as
begin
if @n = 1 return 0
if @n = 2 return 1
if @n = 3 return 1
if @n % 2 = 0 return 0
declare @sq int
set @sq = sqrt(@n)+1 -- check odds up to sqrt
declare @dv int = 1
while @dv < @sq
begin
set @dv=@dv+2
if @n % @dv = 0 return 0
end
return 1
end
GO
declare @dt datetime set @dt=getdate()
select dbo.isPrime(1000000000000037)
select datediff(ms,@dt,getdate()) as ms
GO
Итог 35 +-3 секунды.
Поспрашивал друзей. У одного от 7 до 14 секунд но в основном 8
У другого - 9 секунд.
Как-то тоскливо стало.
У кого еще медленно выполняется ?