"Silver_s" <7870@users.rsdn.ru> wrote in message
news:968016@news.rsdn.ru
> Здравствуйте, VladD2, Вы писали:
>
>>> Как-как. Написали аналогичный алгоритм на C# (там работа с
>>> матрицами, заполнение одних ячеек по другим, по тригонометрическим
>>> функциям) и охерели. Считает правильно, но медленно.
>
>> Так показал бы. Глядишь и найдем где у тебя собака порылась.
>
> Что-то типа такого:
>
> > void Calc(object[][] m)
> {
> int sum=0;
> foreach(object[] ar in m[1])
> foreach(int n in ar)
> sum+=n;
> //...
> }
>
>
> ...Отсюда вывод — не подходит .NET для матричных вычислений.
Ёлки палки, что же ты foreach используешь здесь? Для высокопроизводительных циклов только for(). Иначе плата за абстракцию foreach слишком велика. Попробуй вот так:
for ( int i = 0; i < m.Length; ++i ) {
object [] mm = m[ i ];
for ( int j = 0; j < mm.Length; ++j ) {
sum += (int) mm[ j ];
}
}
А то, что ты jagged массивы используешь, это хорошо. Они побыстрее multi-dimmensional массивов будут.
Posted via RSDN NNTP Server 1.9 delta