>>28 言われてみればフロートまでカウントするのはおかしいから判定を変えた。

 for i in range(v1, v2+1):
  if (i**0.5).is_integer(): c += 1
 return c

Core i3 3.2GHz Windows10 python3.7
#結果 8.15625 秒 count= 49151
#範囲 99999999999990000000 100000000000010000000

iPhoneの方が倍くらい早いかな。
#結果 4.180858 秒 count= 49151

Core i7のマシンもあるが大して期待できなさそうだな。

検算の意味で、1から1000までをカウントして31だったから正しいだろう。
なお、Python3の整数int型に最大値はない(上限なし)からどんな数でも扱える。