На прошлой неделе я написал несколько строк кода в С#, чтобы запустить большой текстовый файл (300 000 строк) в словарь. Потребовалось десять минут, чтобы написать, и это выполнено менее чем за секунду.
Теперь я конвертирую эту часть кода в С++ (потому что мне это нужно в старом объекте С++ COM). Я провел там два дня.:-( Несмотря на то, что разница в производительности просто потрясает сама по себе, это производительность, о которой мне бы понадобился совет.
Загрузка занимает 7 секунд и еще хуже: для освобождения всех CStringWs требуется ровно столько времени. Это неприемлемо, и я должен найти способ повысить производительность.
Есть ли вероятность, что я могу выделить это множество строк, не видя этого ужасного ухудшения производительности?
Мое предположение прямо сейчас заключается в том, что мне придется набивать весь текст в большой массив, а затем пусть моя хэш-таблица указывает на начало каждой строки в этом массиве и отбрасывает материал CStringW.
Но до этого, какие-либо советы от вас, эксперты С++?
РЕДАКТИРОВАТЬ. Мой ответ на вопрос приводится ниже. Я понял, что это самый быстрый путь для меня, а также шаг в том, что я считаю правильным направлением - к более управляемому коду.