В приложении на Visual C++ с MFC использую чтение/запись xml-файлов при помощи парсера MSXML. При значительном количестве записываемых данных скорость обработки файла очень мала

Список из 3000 элементов записывается/читается из файла приблизительно за 20 сек.
Подскажите, пожалуйста — что можно сделать?
Можно ли использовать другой парсер? Или вообще отказаться от использования xml в данном случае? Допустимое время — на порядок меньше.