|
2 / 2 / 0
Регистрация: 29.03.2013
Сообщений: 59
|
|||||||||||
Слишком медленное чтение wstring из файла05.05.2014, 14:59. Показов 1854. Ответов 6
Метки нет (Все метки)
Необходимо прочитать из файла некоторое количество строк(внутри них может содержаться всё что угодно: буквы цифры иероглифы). Строка представляет собой твит-сообщение вида:
[38.276866179999999, -122.03544617] 6 2011-08-28 19:03:01 I'm at Liberty Christian Center (2641 N. Texas Street, Fairfield) Твиты могут быть многострочные. Возможно наличие ссылок, хештегов. Её надо разбить на составные части в структуру (геолокация, время отправки, никнейм, и само сообщение) и сохранить в бинарном файле, чтоб в следующий раз (для анализа) не пришлось повторять разбиение в структуру. Столкнулся уже сразу же с проблемой чтения.
Изначально делал с использованием Qt, но надо это сделать с STL и не используя сторонних библиотек вроде Boost-а. Вот что вышло в Qt
Подскажите пожалуйста, как хотя бы ускорить чтение до адекватных скоростей. P.S. извиняюсь за много букв P.P.S 1 курс, основная задача потом по координатам определить место отправления твита... И это 1 курс и срок 2 недели. Добавлено через 1 час 40 минут И никто ничего не подскажет? Добавлено через 15 часов 4 минуты И что, никто не сталкивался с такой проблемой?
0
|
|||||||||||
| 05.05.2014, 14:59 | |
|
Ответы с готовыми решениями:
6
Запись и чтение из файла wstring Слишком медленное создание скриншотов
|
|
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
|
|
| 05.05.2014, 15:41 | |
|
а если попробовать в Си - стиле?
0
|
|
|
2 / 2 / 0
Регистрация: 29.03.2013
Сообщений: 59
|
|
| 05.05.2014, 16:00 [ТС] | |
|
а по подробнее можно?
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||||||
| 05.05.2014, 16:15 | ||||||
|
А кто Вам сказал, что у Вас символ это wchar_t?
Добавлено через 1 минуту Чтобы прочитать строку используйте std::getline(). ReadAll это пока std::getline(). Сплит тоже через std::getline(). Добавлено через 4 минуты
1
|
||||||
|
2 / 2 / 0
Регистрация: 29.03.2013
Сообщений: 59
|
|
| 05.05.2014, 16:53 [ТС] | |
|
Спасибо работает, но видимо я не сразу понял причину проблемы со скоростью, ваш код на чистом чтении даёт результат около 2 минут в visual studio. Я сделал .exe вручную, через консоль и результат приблизился к 4-5 секундам на чтении файла в 1700000 строк (твитов), но сдавать это нужно на VS. Если я правильно понял, то проблема из-за байт-кода создаваемого студией. Как можно решить эту проблему?
Добавлено через 4 минуты В string проблем с иероглифами не будет? ( китайские иероглифы, арабские шрифты)
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 05.05.2014, 16:56 | |
Сообщение было отмечено CAXOPOK как решение
Решение
Перечитайте понятия и термины c++ разработки, если хотите чтобы Вас понимали:
1. Ознакомтесь что такое компилятор и что такое IDE. 2. Что такое отладчик и дебаг символы (а не байт код). А теперь по делу. Вы не привели ни того как Вы компилировали, ни Ваш конечный код, ни то что Вы делали в IDE при запуске/отладке. Так что судить о скорости это очень "не правильно". п.с. Чтакже прочитайте что такое кодировка.
1
|
|
|
2 / 2 / 0
Регистрация: 29.03.2013
Сообщений: 59
|
||||||
| 05.05.2014, 17:27 [ТС] | ||||||
|
Учту все ваши замечания.
А ошибка моя заключалась в том, что я постоянно запускал отладчик, и это ужасно замедляло работу. А вот и код - срабатывает за ~6 секунд на 17000000 строк.
P.P.S. Проблема снята.
0
|
||||||
| 05.05.2014, 17:27 | |
|
Помогаю со студенческими работами здесь
7
Медленное чтение DataReader медленное чтение Медленное чтение SQLite Внешний HDD WD Elements 25A2 медленное чтение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|