Skip to content

Commit

Permalink
from other pc
Browse files Browse the repository at this point in the history
  • Loading branch information
hearues-zueke-github committed Dec 3, 2018
1 parent c5f2f53 commit f408ef1
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 19 deletions.
21 changes: 19 additions & 2 deletions light_off_game/analysis.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /usr/bin/python3.6
#! /usr/bin/python3.5

# -*- coding: utf-8 -*-

Expand Down Expand Up @@ -150,8 +150,25 @@ def get_moves_solve_except_last_line(field):

return all_1_liner_with_solution

# m**n
def get_num_arr(m, n):
arr = np.zeros((m**n, n), dtype=np.uint8)

arr[:m, -1] = np.arange(0, m)
for j in range(1, n):
idx = m**j
arr_cpy = arr[:idx, -j:]
for i in range(1, m):
print("j: {}, i: {}".format(j, i))
arr[idx*i:idx*(i+1), -j-1] = i
arr[idx*i:idx*(i+1), -j:] = arr_cpy

return arr

if __name__ == "__main__":
n = 6
n = 8

sys.exit(0)

# test_shuffle_and_solve(n)

Expand Down
2 changes: 1 addition & 1 deletion optimization/find_best_vectors_in_other_matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ def find_best_approx_array(arr_1, arr_2):
print("best_idx: {}".format(best_idx))

# best_idx_2 = np.sort(np.vstack((np.argmin(euclid_dist, axis=1), np.arange(0, 5))).T.reshape((-1, )).view("i8,i8"), order=["f0"]).view("i8").reshape((-1, 2)).T[1]

92 changes: 76 additions & 16 deletions test_programs/test_2d_array_loop.py
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,94 @@
import numpy as np

if __name__ == "__main__":
n = 100

y_x_idx = np.zeros((n, n, 2), dtype=np.uint8)
y_x_idx[:, :, 0] = np.arange(0, n).reshape((-1, 1))
y_x_idx[:, :, 1] = np.arange(0, n).reshape((1, -1))
y_x_idx = y_x_idx.reshape((-1, 2))

n = 200

start_1 = time.time()
s_1_x = 0
s_1_y = 0
s_1_xy = 0
for y in range(n-2, -1, -1):
# for y in range(n-1, -1, -1):
for y in range(0, n):
for x in range(0, n):
s_1_x += x
s_1_y += y
s_1_xy += x*y
end_1 = time.time()

start_2 = time.time()
s_1_x = 0
s_1_y = 0
s_1_xy = 0
y_x_idx = np.zeros((n, n, 2), dtype=np.int)
y_x_idx[:, :, 0] = np.arange(0, n).reshape((-1, 1))
y_x_idx[:, :, 1] = np.arange(0, n).reshape((1, -1))
y_x_idx = y_x_idx.reshape((-1, 2))
s_2_x = 0
s_2_y = 0
s_2_xy = 0
for y, x in y_x_idx:
s_1_x += x
s_1_y += y
s_1_xy += x*y
s_2_x += x
s_2_y += y
s_2_xy += x*y
end_2 = time.time()

print("time for normal two loops: {:.4}s".format(end_1-start_1))
print("time for one loop combo: {:.4}s".format(end_2-start_2))
start_3 = time.time()
y_x_idx_lst = y_x_idx.tolist()
s_3_x = 0
s_3_y = 0
s_3_xy = 0
for y, x in y_x_idx_lst:
s_3_x += x
s_3_y += y
s_3_xy += x*y
end_3 = time.time()

start_3_1 = time.time()
y_x_idx_lst = y_x_idx.tolist()
s_3_1_x = 0
s_3_1_y = 0
s_3_1_xy = 0
for t in y_x_idx_lst:
x = t[0]
y = t[1]
s_3_1_x += x
s_3_1_y += y
s_3_1_xy += x*y
end_3_1 = time.time()

start_4 = time.time()
y_x_idx = np.zeros((n, n, 2), dtype=np.int)
y_x_idx[:, :, 0] = np.arange(0, n).reshape((-1, 1))
y_x_idx[:, :, 1] = np.arange(0, n).reshape((1, -1))
y_x_idx = y_x_idx.reshape((-1, 2))
s_4_x = np.sum(y_x_idx[:, 0])
s_4_y = np.sum(y_x_idx[:, 1])
s_4_xy = np.sum(np.multiply.reduce(y_x_idx, axis=1))
# for y, x in y_x_idx:
# s_4_x += x
# s_4_y += y
# s_4_xy += x*y
end_4 = time.time()

print("time for normal two loops: {:.4}s".format(end_1-start_1))
print("time for one loop combo: {:.4}s".format(end_2-start_2))
print("time for one loop combo (list): {:.4}s".format(end_3-start_3))
print("time for one loop combo (one var): {:.4}s".format(end_3_1-start_3_1))
print("time for numpy functions: {:.4}s".format(end_4-start_4))

print("s_1_x: {}".format(s_1_x))
print("s_1_y: {}".format(s_1_y))
print("s_1_xy: {}".format(s_1_xy))

print("s_2_x: {}".format(s_2_x))
print("s_2_y: {}".format(s_2_y))
print("s_2_xy: {}".format(s_2_xy))

print("s_3_x: {}".format(s_3_x))
print("s_3_y: {}".format(s_3_y))
print("s_3_xy: {}".format(s_3_xy))

print("s_3_1_x: {}".format(s_3_1_x))
print("s_3_1_y: {}".format(s_3_1_y))
print("s_3_1_xy: {}".format(s_3_1_xy))

print("s_4_x: {}".format(s_4_x))
print("s_4_y: {}".format(s_4_y))
print("s_4_xy: {}".format(s_4_xy))

0 comments on commit f408ef1

Please sign in to comment.