Here's a very simple way using sp_spaceused function
declare @tblname nvarchar(100)
Select @tblname = 'yyyyyyyyyy' -- put your table name here
declare @test-2 table(name varchar(100),numrows bigint, reserved nvarchar(1000),data nvarchar(1000),index_size nvarchar(1000),unused nvarchar(1000))
Insert into @test-2 exec sp_spaceused @tblname
Select numrows from @test-2
This gives the results within seconds for even very big tables (>100GB size)