![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
У меня сериализуется состояние класса в определенный момент в одном приложении, и в какой то другой момент времени в другом приложении этот класс десериализуется. Проблема в том, что размер файла в среднем 50-100 Mb получается, и процесс десериализации занимает прилично времени (секунд 10-14 в среднем) , что в принципе не критично, но хотелось бы чтобы был какой то прогресс бар что ли, ну или проценты просто, собственно не важно, чтобы было видно как идет процесс. Возможно ли сделать такое?
Спасибо. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
||||
|
||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
||||
|
||||
| Incinerated |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
серилизация:
десериализация:
если поможет... я не знаю как сюда что то можно прикрутить.... |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
в общем случае вызывать в цикле (де)сериализации коллбяк со значением текущего состояния работ..
точнее можно сказать только зная детали реализации.. Добавлено через 1 минуту и 7 секунд опять .Net |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
вы разделом ошиблись. Добавлено через 23 секунды хз что это. но определенно не с++. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
разбить на порции, и сериализовать частями..
Добавлено через 32 секунды c++/cli |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
qt написано на с++(кстати многие этого не знают). и компилируется любым с++ компилятором. в таком случае, c++/boost не с++ ? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
c++, у него нет moc, вносящего свой синтаксис.. единственное что c++/qt это малый шаг в сторону, а c++/cli это фактически два сцепленных между собой языка... (только вот проинтегрироваынны между собой плохо) на c++/cli можно также писать и обычный с++ код, но нельзя его смешивать с managed кодом.. Это сообщение отредактировал(а) mes - 14.12.2010, 16:19 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
moc не вносит свой синтаксис. он ищет в исходниках макросы препроцессора, и на основании информации полученной из них, генерирует еще один с++ файл, который необходимо добавить к компиляции. если же скомпилировать исходник содержащий макросы для moc`а - он скомпилируется, но неслинкуется. Добавлено через 53 секунды ошибаетесь. это просто метагенератор. и его цель, та же. что и у discolygen. Добавлено через 2 минуты и 55 секунд а c++/cli есть для линукс? и вообще, для чего он может мне понадобится? значит не надо оно мне. Добавлено через 8 минут и 54 секунды топик: "Форум -> Программирование -> .NET -> .NET для новичков" ы) перенесли. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
вносит.. просто другой уровень... скажем так, слегка вносит, но изменения ощутимые.. и добавляет он еще один .cpp файл или .obj не суть важно..
а кто сказал что дисколи с кодогенератором это с++ ?! тогда и "с с классами" можно назвать "с " ведь на выходе получился с-код не знаю, не интересовался.. слыша, что .net портируют под линукс , в рамках проекта mono.. именно Вам не знаю.. обычный c++, не может "общаться" с managed-кодом, для связки и придуман c++/cli.. пока не нужно взаимодействие с .net - не нужен.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
если бы это было так, то такой код бы не компилировался компилятором без предварительной обработки moc`ом. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
не правда.. разница в результате конечной компиляции.. Добавлено через 1 минуту и 54 секунды тема то убежала ... и сколько мы тут уже на флудили ) интересно нас не накажут за это ?1 предупреждений вроде еще не было .. с другой стороны ответ по теме уже дан.. Добавлено через 3 минуты и 31 секунду так тс помойму нам эту тему подарил.. он себе новую завел |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
компиляция с++ - это генерация объектного файла. так вот, этот самый объектный файл, генерируется правильный. линковка к ЯП не относится.
та забили на тему, наверное Добавлено @ 16:50 великодушный человек, что тут скажешь. Это сообщение отредактировал(а) boostcoder - 14.12.2010, 16:51 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
a qt-компиляция - это генерация одного основного и возможного одного вспомогательного объектника... Добавлено @ 16:53 с точки зрения c++, но бывают и другие взгляды.. как впрочем и само понятие линковка зависит от платформы и ее может не быть вообще.. Это сообщение отредактировал(а) mes - 14.12.2010, 16:55 |
|||
|
||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
ну вы же не знаете что такое ПМ... что тут поделать... могли бы и тут помочь, разница то собственно, а ответ по теме про цикл, я вообще не понял, как это касается моей ситуации, я же не знаю как реализован класс BinaryFormatter...
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
ответ был чуть ниже.. разбить на порции... сериализовать не весь список сразу , а частями в цикле.. Добавлено через 40 секунд о каком из ПМ идет речь ? Добавлено через 1 минуту и 51 секунду а понял, о том что мы не в привате переписываемся.. так там не удобно.. и скучно.. |
|||
|
||||
| Incinerated |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
это будет достаточно проблематично, части равными сделать точно не получиться... и все равно будут большими...
вы могли поспорить с boostcoder в ПМ, а не в моей теме... |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
||||
|
||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
от одного до ну скажем 10... каждый элемент содержит в себе еще списки, которые в свою очередь могут в сумме хранить и 100 000 элементов, отсюда и такой большой размер получается... |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
значит менять подход надо
|
|||
|
||||
| Incinerated |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 18.5.2006 Где: Беларусь, Новопол оцк Репутация: нет Всего: нет |
в том то и дело) что не получиться =) задача поиск файлов, на основе кеширования файловой системы =)... хочешь не хочешь, а размер будет большой базы данных...
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
не подход к организации базы, а подход к сериализации данных.. надо изменить политику так, чтоб была возможность получать сведенья после каждой порции данных.. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |