Re[4]: CLI/C++
От: lkj www.7-zip.org
Дата: 12.01.04 11:53
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, lkj, Вы писали:


lkj>>Попробовал скомпилировать C++ проект для .NET (MSVС++ 7.1) и заметил, что вызов виртуальной функции выполняется примерно 700 тактов.

lkj>>Можно это как-нибудь ускорить?

L>Какой вызов? Первый?


Нет. Делаю в цикле:

struct I1 { virtual int f1(int t) = 0; };
struct C1: public I1 { virtual int f1(int t) { return t; } };

int g1(I1 *i1)
{
int s = 0;
for (int i = 0; i < 10000000; i++)
s += i1->f1(i);
return s;
}

int main()
{
C1 c1;
return g1(&c1);
}

Выполняется раз в 100 медленнее варианта на чистом C++ или на C#.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.