Skip to content

Instantly share code, notes, and snippets.

@altescy
Last active January 31, 2023 04:59
Show Gist options
  • Save altescy/ca2debd08eea58631dcf92515bd0f9a9 to your computer and use it in GitHub Desktop.
Save altescy/ca2debd08eea58631dcf92515bd0f9a9 to your computer and use it in GitHub Desktop.
import time
import numpy
def main() -> None:
N = 1_000_000
print("[ float x float ]")
xs = [float(v) for v in range(N)]
ys = [float(v) for v in range(N)]
start = time.time()
for x, y in zip(xs, ys):
_ = x * y
end = time.time()
print(f"{N / (end - start):.5f} multiply/sec")
print()
print("[ numpy.float64 x numpy.float64 ]")
xs = [numpy.float64(v) for v in range(N)]
ys = [numpy.float64(v) for v in range(N)]
start = time.time()
for x, y in zip(xs, ys):
_ = x * y
end = time.time()
print(f"{N / (end - start):.5f} multiply/sec")
print()
print("[ float x numpy.float64 ]")
xs = [float(v) for v in range(N)]
ys = [numpy.float64(v) for v in range(N)]
start = time.time()
for x, y in zip(xs, ys):
_ = x * y
end = time.time()
print(f"{N / (end - start):.5f} multiply/sec")
print()
print("[ numpy.float32 x numpy.float32 ]")
xs = [numpy.float32(v) for v in range(N)]
ys = [numpy.float32(v) for v in range(N)]
start = time.time()
for x, y in zip(xs, ys):
_ = x * y
end = time.time()
print(f"{N / (end - start):.5f} multiply/sec")
print()
print("[ float x numpy.float32 ]")
xs = [float(v) for v in range(N)]
ys = [numpy.float32(v) for v in range(N)]
start = time.time()
for x, y in zip(xs, ys):
_ = x * y
end = time.time()
print(f"{N / (end - start):.5f} multiply/sec")
print()
if __name__ == "__main__":
main()
@altescy
Copy link
Author

altescy commented Jan 31, 2023

スクリーンショット 2023-01-31 13 58 29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment