Re: [UPD] Тихо сам с собою...
От: Saidai no  
Дата: 02.05.10 07:18
Оценка:
Утро вечера мудренее... Вот таким образом получается более чем в 2 раза быстрее, чем предыдущий вариант, хотя и все равно в 2 раза медленнее чем на C. Интересно, нельзя ли это еще ускорить без значительной потери читабельности и, желательно, без потери безопасности?
for (int l = 0; l < T; l++)
{
    Vector4f v0,v1,v2,v3;
    for (int i = 0; i < N; i+=4)
    {
        v0 = v1 = v2 = v3 = Vector4f.Zero;
        for (int j = 0; j < n; j++)
        {
            v0 += A[i*n+j]*B[j];
            v1 += A[(i+1)*n+j]*B[j];
            v2 += A[(i+2)*n+j]*B[j];
            v3 += A[(i+3)*n+j]*B[j];
        }
        C[i>>2] = VectorOperations.HorizontalAdd(VectorOperations.HorizontalAdd(v0,v1),VectorOperations.HorizontalAdd(v2,v3));
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.