Russian Qt Forum
Ноябрь 23, 2024, 08:48
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Простой разбор текста
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Простой разбор текста (Прочитано 11826 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Простой разбор текста
«
Ответ #15 :
Май 16, 2011, 18:17 »
Цитата: m_ax от Май 16, 2011, 17:22
У меня всегда, почему то, после Ваших постов, остаётся стойкое впечатление, что Вы намерено ищете самые сложные решения задач, которые, вероятно, имеют более простые и логичные с точки зрения архитектуры решения.
Но это лично моё ИМХО)) Прошу по голове сильно не бить)
Ладно, сильно не буду
Давайте называть вещи своими именами. Если мы хотим сачкануть - это нормально, во многих (очень многих) случаях разумно отпихнуться тем что предложил Пантер. Ничего плохого в этом нет, но не надо прикрывать ограниченность решения громкими словами, "изяществом", "простотой", "логичностью" и.т.п. - если мы предлагаем дешевое но ограниченное решение - надо честно сказать об этом пользователю. Короче - врать не надо
Цитата: m_ax от Май 16, 2011, 17:22
1.7 Gb данных на три вектора.. Если прикинуть: int =4 байт, 1Gb = 10^9 байт, три вектора, то по
Не путайте "размер тестового файла на диске" и "размер данных в памяти"
Стоит ли так "выжимать" если можно пойти на компромисс? Вопрос сложный. По поводу того же файла пользователь написал (вольный перевод мой)
- предыдущий импорт занимался этим файлом более 5 часов. Ваш вариант - 9 минут
Не скрою - приятно такой отзыв получить. С др. стороны низкоуровневой работы более чем хватает и во многих случаях размер куда скромнее. Нормально это обсудить на форуме? Я считаю - нормально
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Простой разбор текста
«
Ответ #16 :
Май 16, 2011, 18:25 »
Цитировать
Давайте называть вещи своими именами.
Дык ёлы-палы...
Если бы ты сразу пояснил насчёт размера входных данных, я уверен, тебе бы про Qt никто бы и не заикнулся.
Ведь каждому понятно, что любой тулкит - это универсальный комбайн, который абсолютно не предусмотрен для таких задач.
Цитировать
предыдущий импорт занимался этим файлом более 5 часов. Ваш вариант - 9 минут
Мде, слов нет. Писаки, однако...
«
Последнее редактирование: Май 16, 2011, 18:30 от GreatSnake
»
Записан
Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Простой разбор текста
«
Ответ #17 :
Май 16, 2011, 18:32 »
Цитата: GreatSnake от Май 16, 2011, 18:25
Дык ёлы-палы...
Если бы ты сразу пояснил насчёт размера входных данных, я уверен, тебе бы про Qt никто бы и не заикнулся.
Я этого не понимаю. Нормальные файлы - 100-200Мб (в среднем), бывают намного меньше, но бывают и намного больше. Достойно поддержать очень большие файлы - конечно престижно/лестно, но это часть задачи. Почему надо это специально оговаривать?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Простой разбор текста
«
Ответ #18 :
Май 16, 2011, 18:35 »
Цитировать
Я этого не понимаю. Нормальные файлы - 100-200Мб (в среднем), бывают намного меньше, но бывают и намного больше. Достойно поддержать очень большие файлы - конечно престижно/лестно, но это часть задачи. Почему надо это специально оговаривать?
Имхо, для текстовых файлов такой размер скорее исключение, чем правило.
Записан
Qt 5.11/4.8.7 (X11/Win)
m_ax
Джедай : наставник для всех
Offline
Сообщений: 2095
Re: Простой разбор текста
«
Ответ #19 :
Май 16, 2011, 18:42 »
Igors
, не обижайтесь, но мне просто интересно: Неужели есть такая жёсткая необходимость держать в памяти такие громадные объёмы?
Просто не представляю ситуации, где это действительно так необходимо.
Моё бы железо, при виде такого.. даже не знаю что и сказало бы))
Записан
Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..
Arch Linux Plasma 5
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Простой разбор текста
«
Ответ #20 :
Май 16, 2011, 19:08 »
Цитата: m_ax от Май 16, 2011, 18:42
Igors
, не обижайтесь, но мне просто интересно: Неужели есть такая жёсткая необходимость держать в памяти такие громадные объёмы?
Просто не представляю ситуации, где это действительно так необходимо.
Моё бы железо, при виде такого.. даже не знаю что и сказало бы))
Ну пользователь - он понимает по-своему. Было ему обещано 150 Tb адресного пр-ва? Было. Купил он памяти 8/16 Gb - честно купил (это кстати не так уж недорого). Ну вот мне и приходится отвечать почему небольшой (по его понятиям) объем (та всего-то 2-3 Gb) вызывает такие проблемы
Господи, та всего-то неск. десятков (рельефных) лестниц и этажей (архитектурная сцена) - да о чем тут говорить?
В конце-концов чем отличается профессиональный софт от "философии GNU" и "нашей малышь" - да очень немногим - тем что он честно "держит нагрузку" а если не может - сообщает
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Простой разбор текста
«
Ответ #21 :
Май 16, 2011, 21:46 »
Igors, ты слишком толстый тролль. Был конкретный вопрос, был конкретный ответ. Ты в первом посте ничего не говорил о производительности. Еще очень давно было сказано "Преждевременная оптимизация есть корень всех зол". Если тебе нужно "современное решение", то чем тебя не устраивает мой ответ? Если ты хочешь производительности, то какого ты вообще поднял этот вопрос??? Хочешь, чтобы все было супер-пупер - пиши на асме.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Простой разбор текста
«
Ответ #22 :
Май 17, 2011, 10:20 »
Цитата: Пантер от Май 16, 2011, 21:46
Igors, ты слишком толстый тролль. Был конкретный вопрос, был конкретный ответ. Ты в первом посте ничего не говорил о производительности. Еще очень давно было сказано "Преждевременная оптимизация есть корень всех зол". Если тебе нужно "современное решение", то чем тебя не устраивает мой ответ? Если ты хочешь производительности, то какого ты вообще поднял этот вопрос??? Хочешь, чтобы все было супер-пупер - пиши на асме.
- мой вес 100кг, я не считаю себя ни толстым, ни троллем
- по поводу Вашей цитаты о преждевременной оптимизации в библии (единственная книга которую я читал) сказано примерно так
Цитировать
К сожалению многие восприняли это высказывание слишком буквально
- я не хочу "супер", хочу просто "нормально". Вот Вы лихо применили split - раз, 3 новых элемента QString распределились, потом удалились. Всего для 1 скромной строки десятки malloc/delete. Это что, по уму? Нет. это издевательство над машиной. Почему такая халтура считается нормой (мол, мне о скорости ничего не говорили)? Разбор текстовика - задача очень популярная, всем так или иначе ей заниматься приходилось, почему не может быть нормальных тулзов?
Хмм.. недавно boost пришлось поставить (впечатление очень хорошее), пошукаю там
Записан
brankovic
Гость
Re: Простой разбор текста
«
Ответ #23 :
Май 17, 2011, 11:02 »
Цитата: Igors от Май 17, 2011, 10:20
Хмм.. недавно boost пришлось поставить (впечатление очень хорошее), пошукаю там
спирит это мелко. И всё равно тормозить будет, уверен почти. Вам надо бизон. Годами люди писали оптимальные парсеры на бизоне, в том числе в VLSI, где файлы исчислялись гигабайтами уже лет 8 назад. Прямо в гугле набирайте bison tutorial.
«
Последнее редактирование: Май 17, 2011, 11:06 от brankovic
»
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Простой разбор текста
«
Ответ #24 :
Май 17, 2011, 11:07 »
GNU bison = yacc
Записан
Qt 5.11/4.8.7 (X11/Win)
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Простой разбор текста
«
Ответ #25 :
Май 17, 2011, 11:07 »
>>Можно обойтись без сплита используя токо QRegExp, но они работают только с QString
>>и к тому же я не знаю насколько быстро
Ну да, с какой стати "регвыры" стали быстро работать? они скорость обработки в 10-ки раз снижают.
Записан
Юра.
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Простой разбор текста
«
Ответ #26 :
Май 17, 2011, 13:29 »
Цитата: brankovic от Май 17, 2011, 11:02
Прямо в гугле набирайте bison tutorial.
Намек понял, спасибо
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...