Низкая производительность на x64 free

У меня есть такой класс (предположим, что все malloc успешно завершены)

class CMyClass
{
public:
  CMyClass()
  {
  lpData = malloc(128);
  };

  ~CMyClass()
  {
  free(lpData);
  };

public:
  LPVOID lpData;
};

, затем я выполняю это:

CMyClass *lpList = new CMyClass[32768];

delete [] lpList;

Проблема в том, что в x86 код работает нормально и быстро (несколько миллисекунд для завершения при отладке и выпуске сборки), но в x64 вызов удаления занимает около 15 секунд для освобождения всей памяти.

ОС Win7 x64.

Мы будем благодарны за подсказки.

С уважением, Мауро.

6
задан vcsjones 1 July 2011 в 18:13
поделиться