Pythonのmath.isqrt関数はisqrt(n)が二乗が$n$以下になるような非負整数のうちの最大値を返す関数です:

$ ipython
Python 3.8.1 (default, Feb  8 2020, 20:33:25)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from math import isqrt

In [2]: {n: isqrt(n) for n in range(10 + 1)}
Out[2]: {0: 0, 1: 1, 2: 1, 3: 1, 4: 2, 5: 2, 6: 2, 7: 2, 8: 2, 9: 3, 10: 3}

ところで int(sqrt(n))で全く同じ値を返します:

In [3]: from math import sqrt

In [4]: {n: int(sqrt(n)) for n in range(10 + 1)}
Out[4]: {0: 0, 1: 1, 2: 1, 3: 1, 4: 2, 5: 2, 6: 2, 7: 2, 8: 2, 9: 3, 10: 3}

そこで 速度をスクリプトで比較してみましょう:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from math import isqrt, sqrt
from timeit import timeit


def isqrt1(n: int) -> int:
    return int(sqrt(n))


def isqrt1_test():
    for n in range(10**11, 10**11 + 10**8):
        isqrt(n)


def isqrt2(n: int) -> int:
    return isqrt(n)


def isqrt2_test():
    for n in range(10**11, 10**11 + 10**8):
        isqrt2(n)


if __name__ == '__main__':
    number_of_testing = 20

    res = timeit('isqrt1_test()', globals=globals(), number=number_of_testing)
    print(res / number_of_testing)  # => 16.1635551882

    res = timeit('isqrt2_test()', globals=globals(), number=number_of_testing)
    print(res / number_of_testing)  # => 26.1391784158

ということで math.isqrtの方が遅いようです.