Сравнение быстродействия для bmat и hstack - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь сравнить скорость как для bmat, так и для hstack, когда дело доходит до конкатенации координатных матриц, которые огромны.

Мой код:

from scipy.sparse import bmat, coo_matrix, hstack
import timeit

import numpy as np

a = np.add(*np.indices((1000,1000)))

A = coo_matrix(a)
B = coo_matrix(a)

t = timeit.timeit("hstack([A,B]).toarray()", "from __main__ import A, B, hstack", number= 2000)
print(t)

tt = timeit.timeit("bmat([[A,B]])", "from __main__ import A, B, bmat", number = 2000)
print(tt)

Из моего эксперимента кажется, что bmat имеет более высокую скорость обработки по сравнению с hstack.

85.89499111475607
71.0423545148451

Я хотел бы знать, правильный ли мой подход к тестированию, или есть что-то, что делает hstack лучше, когда coo_matrix огромен? Если бы я использовал bmat или hstack, из эксперимента кажется, что bmat лучше использовать, но я хотел бы знать различия.

...