āĻšā§āĻ¯āĻžāĻ, āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻ—ā§āĻŖ āĻŦā§‡āĻļāĻŋ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€

āĻāĻ—ā§āĻ˛āĻŋ āĻ āĻŋāĻ• āĻ¸ā§‡āĻ‡ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻ—āĻ—ā§āĻ˛āĻŋ āĻ¯āĻž āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ¨ā§‡āĻ›āĻŋā§ˇ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŽāĻœāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻāĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻŦāĻ˛ā§‡ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻĻā§€āĻ°ā§āĻ˜ āĻ¤āĻĻāĻ¨ā§āĻ¤ā§‡āĻ° āĻœāĻ¨ā§āĻŽ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ āĻ¯āĻž VMware āĻ āĻšāĻ˛ā§‡āĨ¤

āĻšā§āĻ¯āĻžāĻ, āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻ—ā§āĻŖ āĻŦā§‡āĻļāĻŋ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€

āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻŸāĻŋ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ†āĻļāĻžāĻšā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¸āĻšāĻœāĨ¤ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°ā§āĻ¨ (āĻŸā§‡āĻŽā§āĻĒāĻĄāĻŋāĻŦāĻŋāĻ¤ā§‡ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻŋāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¨āĻ¯āĻŧ)

set nocount on
create table _t (v varchar(100))
declare @n int=300000
while @n>0 begin 
  insert into _t select 'What a slowpoke!'
  delete from _t
  set @n=@n-1
  end
GO
drop table _t

āĻ†āĻŽāĻžāĻ° āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒā§‡ āĻāĻŸāĻŋ 5 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻāĻŸāĻŋ 28 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻ•āĻžāĻ°āĻŖ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ˛āĻ— āĻāĻ¨ā§āĻŸā§āĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻļā§‡āĻˇā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ–ā§āĻŦ āĻ›ā§‹āĻŸ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ•āĻ°āĻ›āĻŋāĨ¤ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ†āĻŽāĻ°āĻž āĻļāĻšāĻ°ā§‡āĻ° āĻŸā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ•ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ, āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻŸā§āĻ°āĻžāĻ• āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āĻŸāĻžāĻ°ā§‡ āĻĒāĻŋā§ŽāĻœāĻž āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻ˛ā§‹āĻ•ā§‡āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§āĻ°āĻ¨ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°āĻž āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ - āĻĨā§āĻ°ā§āĻĒā§āĻŸ āĻāĻ–āĻžāĻ¨ā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ˛ā§‡āĻŸā§‡āĻ¨ā§āĻ¸āĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨āĻ“ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ, āĻāĻ° āĻĻāĻžāĻŽā§‡ āĻ¯āĻ¤ āĻļā§‚āĻ¨ā§āĻ¯āĻ‡ āĻĨāĻžāĻ•ā§āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻ˛ā§‡āĻŸā§‡āĻ¨ā§āĻ¸āĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻāĻ¸āĻāĻ¸āĻĄāĻŋāĻ•ā§‡ āĻšāĻžāĻ°āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

(āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŦāĻ˛ā§‡āĻ›āĻŋ - āĻ†āĻŽāĻŋ āĻ‰āĻ­āĻ¯āĻŧ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻŋāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡:
āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ - 39 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ, 15K tr/āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ, 0.065ms/io āĻ°āĻžāĻ‰āĻ¨ā§āĻĄāĻŸā§āĻ°āĻŋāĻĒ
PROD - 360 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ, 1600 tr/sec, 0.6ms
āĻ†āĻŽāĻžāĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻ›āĻŋāĻ˛)

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻšā§āĻ› āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš Riemann zeta āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¤ā§āĻšā§āĻ› āĻļā§‚āĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋāĨ¤ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻāĻ¨ā§‡āĻ›ā§‡, āĻ¸ā§‡āĻŸāĻž āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸āĻ āĻŋāĻ• āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ†āĻŽāĻŋ āĻŦā§āĻāĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻĢā§‡āĻ˛ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻœā§‡āĻ° āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ - āĻ¯āĻž āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ - āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨ā§‡ āĻāĻŸāĻŋ 3-4 āĻ—ā§āĻŖ āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋāĻ¤ā§‡ āĻšāĻ˛ā§‡:

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

āĻ¯āĻĻāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ 6-7-8 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—āĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ˜āĻŸā§‡āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋāĻ›ā§āĻ¤ā§‡, āĻšā§‡āĻ•āĻŸāĻŋ 25-40 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻŽāĻœāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛, āĻāĻŽāĻ¨ āĻ•ā§‹āĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ›āĻŋāĻ˛ āĻ¨āĻž āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡ 14 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—āĻŦā§‡ - āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻŦāĻž āĻ–ā§āĻŦ āĻ§ā§€āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤, āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ›āĻŋāĻ˛, āĻ§āĻ°āĻž āĻ¯āĻžāĻ•, āĻ•āĻžāĻ˛ā§‹ āĻāĻŦāĻ‚ āĻ¸āĻžāĻĻāĻžāĨ¤

āĻ†āĻŽāĻŋ āĻ¯āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ? āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ VMware āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻ›āĻŋāĻ˛ - āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ›āĻŋāĻ˛, āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ¸āĻŽāĻ¯āĻŧ = 0, āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻ§ā§€āĻ° āĻ‰āĻ­āĻ¯āĻŧ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰āĻ¤ā§‡ āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰ = 100, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻŋ Pi āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ - āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŸāĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻāĻ•āĻ‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻ•āĻžāĻ˛ā§‹ āĻœāĻžāĻĻā§āĻ° āĻ—āĻ¨ā§āĻ§ āĻ•ā§āĻ°āĻŽāĻļ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ˛āĨ¤

āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻŽāĻŋ āĻĄāĻŋāĻ‡āĻ­āĻŋ āĻĢāĻžāĻ°ā§āĻŽā§‡ āĻ‰āĻ āĻ˛ā§‡, āĻ†āĻŽāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ–ā§‡āĻ˛āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋāĨ¤ āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻšā§‹āĻ¸ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻšā§‹āĻ¸ā§āĻŸā§‡ vMotion āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ "āĻ¨āĻŋāĻ°āĻžāĻŽāĻ¯āĻŧ" āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ "āĻĻā§āĻ°ā§āĻ¤" āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ•ā§‡ "āĻ§ā§€āĻ°" āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻāĻŸāĻŋāĻ‡ - āĻ•āĻŋāĻ›ā§ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ†āĻ›ā§‡... āĻ•āĻŋāĻ¨ā§āĻ¤ā§... āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ›ā§ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ§ā§€āĻ° āĻ›āĻŋāĻ˛, āĻŦāĻ˛ā§āĻ¨ A, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻšā§‹āĻ¸ā§āĻŸ B-āĻ¤ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨, āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, A-āĻ¤ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ B-āĻ¤ā§‡ āĻ—āĻ¤āĻŋ āĻ•āĻŽāĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡! "āĻĻā§āĻ°ā§āĻ¤" āĻāĻŦāĻ‚ "āĻ§ā§€āĻ°" āĻ‰āĻ­āĻ¯āĻŧ āĻŽā§‡āĻļāĻŋāĻ¨āĻ‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ˜ā§āĻ°āĻ›āĻŋāĻ˛!

āĻ¸ā§‡āĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ āĻĨā§‡āĻ•ā§‡, āĻŦāĻžāĻ¤āĻžāĻ¸ā§‡ āĻ¸āĻžāĻ˛āĻĢāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻ—āĻ¨ā§āĻ§ āĻ›āĻŋāĻ˛āĨ¤ āĻ¸āĻ°ā§āĻŦā§‹āĻĒāĻ°āĻŋ, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĻ¨āĻŋ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻĒā§āĻ¯āĻžāĻšāĻ—ā§āĻ˛āĻŋ) - āĻ¸āĻ°ā§āĻŦā§‹āĻĒāĻ°āĻŋ, āĻāĻŸāĻŋ vMotion āĻāĻ° āĻ¸āĻžāĻĨā§‡ "āĻĻā§āĻ°ā§āĻ¤" āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤āĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻ•ā§‡āĻ“ āĻĻāĻžāĻ¯āĻŧā§€ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž - āĻ¸āĻ°ā§āĻŦā§‹āĻĒāĻ°āĻŋ, āĻāĻ¤ā§‡ "āĻĻā§āĻ°ā§āĻ¤" āĻāĻŦāĻ‚ "āĻ§ā§€āĻ°" āĻ‰āĻ­āĻ¯āĻŧ āĻŽā§‡āĻļāĻŋāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻāĻŸāĻŋ āĻ˛ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ›āĻŋāĻ˛ āĻ¨āĻž - āĻ†āĻŽāĻŋ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ "āĻ§ā§€āĻ°" āĻŽā§‡āĻļāĻŋāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻž āĻ•āĻŋāĻ›ā§āĻ‡ āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤

āĻšāĻ¤āĻžāĻļāĻž āĻĨā§‡āĻ•ā§‡, āĻ†āĻŽāĻŋ āĻ¸āĻŋāĻ¸āĻŋāĻ¨ā§āĻŸāĻžāĻ°āĻ¨āĻžāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻāĻ•ā§āĻ¸āĻĒā§āĻ˛ā§‹āĻ°āĻžāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ˛āĻžāĻŽāĨ¤ āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋāĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ†āĻŽāĻžāĻ° āĻ¨āĻœāĻ° āĻ•ā§‡āĻĄāĻŧā§‡āĻ›ā§‡:

ntoskrnl.exe!KeSynchronizeExecution+0x5bf6
ntoskrnl.exe!KeWaitForMultipleObjects+0x109d
ntoskrnl.exe!KeWaitForMultipleObjects+0xb3f
ntoskrnl.exe!KeWaitForSingleObject+0x377
ntoskrnl.exe!KeQuerySystemTimePrecise+0x881 < —!!!
ntoskrnl.exe!ObDereferenceObjectDeferDelete+0x28a
ntoskrnl.exe!KeSynchronizeExecution+0x2de2
sqllang.dll!CDiagThreadSafe::PxlvlReplace+0x1a20
... āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡
sqldk.dll!SystemThread::MakeMiniSOSThread+0xa54
KERNEL32.DLL!BaseThreadInitThunk+0x14
ntdll.dll!RtlUserThreadStart+0x21

āĻāĻ‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ›āĻŋāĻ˛. āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ˛ā§‡āĻ–āĻž āĻ›āĻŋāĻ˛:

    class Program
    {
        [DllImport("kernel32.dll")]
        static extern void GetSystemTimePreciseAsFileTime(out FILE_TIME lpSystemTimeAsFileTime);

        [StructLayout(LayoutKind.Sequential)]
        struct FILE_TIME
        {
            public int ftTimeLow;
            public int ftTimeHigh;
        }

        static void Main(string[] args)
        {
            for (int i = 0; i < 16; i++)
            {
                int counter = 0;

                var stopwatch = Stopwatch.StartNew();

                while (stopwatch.ElapsedMilliseconds < 1000)
                {
                    GetSystemTimePreciseAsFileTime(out var fileTime);
                    counter++;
                }

                if (i > 0)
                {
                    Console.WriteLine("{0}", counter);
                }
            }
        }
    }

āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻŽāĻ¨ā§āĻĨāĻ°āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡ - "āĻĻā§āĻ°ā§āĻ¤" āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 16-18 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻšāĻ•ā§āĻ° āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ, āĻ¯āĻ–āĻ¨ āĻ§ā§€āĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĻā§‡āĻĄāĻŧ āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻŦāĻž āĻāĻŽāĻ¨āĻ•āĻŋ 700 āĻšāĻžāĻœāĻžāĻ° āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ 10-20 āĻŦāĻžāĻ° (!!!)āĨ¤ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻŦāĻŋāĻœāĻ¯āĻŧ āĻ›āĻŋāĻ˛: āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡, āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻĢā§āĻŸ āĻāĻŦāĻ‚ āĻ­āĻŋāĻāĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŸāĻ•ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ•ā§‹āĻ¨āĻ“ āĻšā§āĻŽāĻ•āĻŋ āĻ›āĻŋāĻ˛ āĻ¨āĻž āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤ā§€āĻ° āĻ›ā§āĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ…āĻ—ā§āĻ°āĻ—āĻ¤āĻŋ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ - āĻ›ā§āĻŸāĻŋ, āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ, āĻ­āĻžāĻ‡āĻ°āĻžāĻ˛ āĻšāĻŋāĻ¸ā§āĻŸāĻŋāĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒā§‡ āĻ¤ā§€āĻŦā§āĻ° āĻŦā§ƒāĻĻā§āĻ§āĻŋāĨ¤ āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻ†āĻŽāĻžāĻ° āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€āĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¯āĻžāĻĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤āĻžāĻŽ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻ¨āĻž - VMware āĻ•ā§‹āĻĄāĻŸāĻŋāĻ•ā§‡ 10-20 āĻŦāĻžāĻ° āĻ§ā§€āĻ° āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻŸāĻŋ āĻ–ā§āĻŦ āĻ­āĻ¯āĻŧāĻ™ā§āĻ•āĻ° āĻ›āĻŋāĻ˛āĨ¤

āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ–āĻ¨āĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ•āĻŋ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ§ā§€āĻ° āĻ•āĻ°āĻ›āĻŋāĻ˛āĨ¤ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ - āĻšāĻŸ āĻĒā§āĻ˛āĻžāĻ— āĻšāĻžāĻ˛ā§ āĻāĻŦāĻ‚ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž, āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŦāĻž āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻŽā§‡āĻļāĻŋāĻ¨āĻŸāĻŋāĻ•ā§‡ "āĻĻā§āĻ°ā§āĻ¤" āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻšāĻŋāĻ°āĻ•āĻžāĻ˛ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤āĻŦā§‡ āĻ¯āĻž āĻ¸āĻ¤ā§āĻ¯ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ˛ āĻ¤āĻž āĻš'āĻ˛ āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ—āĻŋāĻ¯āĻŧā§‡ āĻšāĻžāĻ•āĻž āĻ āĻ•āĻžāĻ¨ā§‹āĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ - āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•ā§‹āĻ¨ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻŽāĻžāĻ° āĻ†āĻŽā§‡āĻ°āĻŋāĻ•āĻžāĻ¨ āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€āĻ°āĻž āĻšāĻ āĻžā§Ž āĻŽā§‚āĻ˛ āĻ•āĻžāĻ°āĻŖ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻšā§āĻ¯āĻžāĻ, āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻ—ā§āĻŖ āĻŦā§‡āĻļāĻŋ āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€

āĻ†āĻ¯āĻŧā§‹āĻœāĻ• āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨!

  • āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻšā§āĻ•ā§āĻ¤āĻŋ āĻ¨āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§: āĻāĻ•āĻŸāĻŋ 'āĻ¨ā§‡āĻŸāĻŋāĻ­' āĻšā§‹āĻ¸ā§āĻŸ āĻĨā§‡āĻ•ā§‡ 'āĻ­āĻŋāĻ¨ā§āĻ¨' āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻ¸āĻš āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ­āĻŋāĻāĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ GetTimePrecise āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
  • āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨āĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž SQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻŦāĻžāĻ° āĻ¸āĻ āĻŋāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°ā§‡āĨ¤
  • āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ­ā§€āĻ¤āĻŋāĻ•āĻ° āĻ¨āĻ¯āĻŧ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ SQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻ¨āĻž (āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ° āĻĻā§‡āĻ–ā§āĻ¨)

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ°ā§‡āĻ• āĻšāĻžāĻ°ā§āĻĄ āĻšāĻŋāĻŸ āĻ¯āĻ–āĻ¨ āĻ˜āĻŸāĻ¨āĻž āĻ†āĻ›ā§‡. āĻāĻŦāĻ‚ āĻāĻ–āĻ¨āĻ“, āĻšā§āĻ¯āĻžāĻ, āĻšāĻžāĻ•āĻžāĻ° āĻ‰āĻĒāĻ° āĻŸā§āĻ¯āĻžāĻĒ āĻ•āĻ°ā§‡ (VM āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡) āĻ†āĻŽāĻŋ VMware āĻ•ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ 'āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ—āĻŖāĻ¨āĻž' āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° 'āĻ¨ā§‡āĻŸāĻŋāĻ­' āĻĢā§āĻ°āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸āĻŋ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡āĨ¤

āĻ°āĻžāĻ¯āĻŧ

www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ TSC-āĻāĻ° āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡āĻ¨, āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨā§‡āĻ•ā§‡ TSC āĻĒāĻĄāĻŧāĻž āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° TSC āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨā§‡āĻ•ā§‡ TSC āĻ˛ā§‡āĻ–āĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ¨ā§‡āĻ‡āĨ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž, āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž, āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸā§‡ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĢāĻ˛ā§‡ TSC āĻ…āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻ˛āĻžāĻĢāĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ›ā§ āĻ—ā§‡āĻ¸ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ, āĻ…āĻĨāĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻŽāĻ•āĻŋāĻĒāĻŋāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻ–āĻ¨ TSC āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ…āĻ¤ā§€āĻ¤ā§‡, āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ TSC āĻĒāĻĄāĻŧāĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻŖā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ TSC-āĻāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛ āĻŸāĻžāĻ‡āĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰ā§ŽāĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡

monitor_control.virtual_rdtsc = āĻŽāĻŋāĻĨā§āĻ¯āĻž

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ†āĻ›ā§‡: āĻ•ā§‡āĻ¨ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻāĻ¤ āĻ˜āĻ¨ āĻ˜āĻ¨ GetTimePrecise āĻ•āĻ˛ āĻ•āĻ°ā§‡?

āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ¨ā§‡āĻ‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻāĻŸāĻŋ āĻŦāĻ˛ā§‡āĨ¤ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻšāĻ˛ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻŦāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻŦāĻžāĻ¯āĻŧ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĨā§āĻ°ā§‡āĻĄāĻ•ā§‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ "āĻĒā§āĻ°āĻĻāĻžāĻ¨" āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸ā§‡āĻ°āĻž āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ? āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ•ā§ƒāĻ¤āĻŋāĻ• āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ†āĻ›ā§‡ - āĻ˛āĻ• āĻŦāĻž āĻ†āĻ‡āĻ“āĨ¤ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸā§‡āĻļāĻ¨āĻžāĻ˛ āĻ˛ā§āĻĒ āĻ¸ā§āĻĒāĻŋāĻ¨ āĻ•āĻ°āĻ›āĻŋ? āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻĻā§‹āĻ­āĻžāĻˇā§€āĻ¤ā§‡ (āĻāĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§‹āĻ­āĻžāĻˇā§€ āĻ¨āĻ¯āĻŧ), āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, SQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻĒā§‡āĻ°ā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§‡āĻ° āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ (āĻ¯āĻž āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ) āĻ•ā§‹āĻĄāĻŸāĻŋāĻ•ā§‡ āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°ā§‡ā§ˇ

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ NATIVELY COMPILED-āĻ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ°â€ā§āĻ¯āĻžāĻĒ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻžāĻ“āĻ¯āĻŧāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ° āĻ—āĻ¤āĻŋ 10 āĻ—ā§āĻŖ āĻŦā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻŦāĻžāĻ¯āĻŧ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻŸāĻžāĻ¸ā§āĻ•āĻŋāĻ‚ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•ā§€ āĻšāĻŦā§‡? āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨ā§‡āĻŸāĻŋāĻ­āĻ˛āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻ•ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛-āĻ āĻĒā§āĻ°āĻŋāĻŽā§āĻĒāĻŸāĻŋāĻ­ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻŸāĻžāĻ¸ā§āĻ•āĻŋāĻ‚ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨