Модераторы: Partizan, gambit

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Время необходимое для десериализации 
:(
    Опции темы
Incinerated
Дата 14.12.2010, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 18.5.2006
Где: Беларусь, Новопол оцк

Репутация: нет
Всего: нет



У меня сериализуется состояние класса в определенный момент в одном приложении, и в какой то другой момент времени в другом приложении этот класс десериализуется. Проблема в том, что размер файла в среднем 50-100 Mb получается, и процесс десериализации занимает прилично времени (секунд 10-14 в среднем) , что в принципе не критично, но хотелось бы чтобы был какой то прогресс бар что ли, ну или проценты просто, собственно не важно, чтобы было видно как идет процесс. Возможно ли сделать такое?
Спасибо.
PM MAIL   Вверх
mes
Дата 14.12.2010, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(Incinerated @  14.12.2010,  14:37 Найти цитируемый пост)
Возможно ли сделать такое?

возможно 



--------------------
PM MAIL WWW   Вверх
Incinerated
Дата 14.12.2010, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 18.5.2006
Где: Беларусь, Новопол оцк

Репутация: нет
Всего: нет



Цитата(mes @ 14.12.2010,  14:45)
Цитата(Incinerated @  14.12.2010,  14:37 Найти цитируемый пост)
Возможно ли сделать такое?

возможно

каким образом?
PM MAIL   Вверх
boostcoder
Дата 14.12.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(Incinerated @  14.12.2010,  15:37 Найти цитируемый пост)
Возможно ли сделать такое?

покажите код сериализации.
PM WWW   Вверх
Incinerated
Дата 14.12.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 18.5.2006
Где: Беларусь, Новопол оцк

Репутация: нет
Всего: нет



серилизация:
Код

    System::IO::Stream ^stream;
    stream  = System::IO::File::Open(filename,System::IO::FileMode::Create);
    Formatters::Binary::BinaryFormatter ^f = gcnew Formatters::Binary::BinaryFormatter;
    f->Serialize(stream,drives);

десериализация:
Код

    System::IO::Stream ^stream;
    stream  = System::IO::File::Open(filename,System::IO::FileMode::Open);
    Formatters::Binary::BinaryFormatter ^f = gcnew Formatters::Binary::BinaryFormatter;
    drives = (List<sDrive^>^)f->Deserialize(stream);

если поможет... я не знаю как сюда что то можно прикрутить....
PM MAIL   Вверх
mes
Дата 14.12.2010, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



в общем случае вызывать в цикле (де)сериализации коллбяк со значением  текущего состояния работ.. 
точнее можно сказать только зная детали реализации..

Добавлено через 1 минуту и 7 секунд
опять .Net smile


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 14.12.2010, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(Incinerated @  14.12.2010,  15:57 Найти цитируемый пост)
серилизация:


Цитата(Incinerated @  14.12.2010,  15:57 Найти цитируемый пост)
десериализация:

вы разделом ошиблись.

Добавлено через 23 секунды
Цитата(mes @  14.12.2010,  16:01 Найти цитируемый пост)
опять .Net

хз что это. но определенно не с++.
PM WWW   Вверх
mes
Дата 14.12.2010, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



разбить на порции, и сериализовать частями..

Добавлено через 32 секунды
Цитата(boostcoder @  14.12.2010,  15:03 Найти цитируемый пост)
хз что это. но определенно не с++.

c++/cli smile



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 14.12.2010, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(mes @  14.12.2010,  16:03 Найти цитируемый пост)
c++/cli

c++/cli != с++
PM WWW   Вверх
mes
Дата 14.12.2010, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(boostcoder @  14.12.2010,  15:05 Найти цитируемый пост)
c++/cli != с++ 

c++/qt тоже не равно c++ 
smile
но это оффтопик smile



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 14.12.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(mes @  14.12.2010,  16:06 Найти цитируемый пост)
c++/qt

qt написано на с++(кстати многие этого не знают). и компилируется любым с++ компилятором.
в таком случае, c++/boost не с++ ?
PM WWW   Вверх
mes
Дата 14.12.2010, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(boostcoder @  14.12.2010,  15:13 Найти цитируемый пост)
 c++/boost не с++ 

c++, у него нет moc, вносящего свой синтаксис.. 
единственное что c++/qt это малый шаг в сторону,
а c++/cli это фактически два сцепленных между собой языка... (только вот проинтегрироваынны между собой плохо)
на c++/cli можно также писать и обычный с++ код, но нельзя его смешивать с managed кодом.. 



Это сообщение отредактировал(а) mes - 14.12.2010, 16:19


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 14.12.2010, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(mes @  14.12.2010,  16:17 Найти цитируемый пост)
у него нет moc, вносящего свой синтаксис.. 

moc не вносит свой синтаксис. он ищет в исходниках макросы препроцессора, и на основании информации полученной из них, генерирует еще один с++ файл, который необходимо добавить к компиляции.

если же скомпилировать исходник содержащий макросы для moc`а - он скомпилируется, но неслинкуется.

Добавлено через 53 секунды
Цитата(mes @  14.12.2010,  16:17 Найти цитируемый пост)
единственное что c++/qt это малый шаг в сторону

ошибаетесь. это просто метагенератор. и его цель, та же. что и у discolygen.

Добавлено через 2 минуты и 55 секунд
Цитата(mes @  14.12.2010,  16:17 Найти цитируемый пост)
на c++/cli можно также писать и обычный с++ код

а c++/cli есть для линукс? и вообще, для чего он может мне понадобится?


Цитата(mes @  14.12.2010,  16:17 Найти цитируемый пост)
но нельзя его смешивать с managed кодом..

значит не надо оно мне.

Добавлено через 8 минут и 54 секунды
топик: "Форум -> Программирование -> .NET -> .NET для новичков"

ы) перенесли.
PM WWW   Вверх
mes
Дата 14.12.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 1
Всего: 250



Цитата(boostcoder @  14.12.2010,  15:21 Найти цитируемый пост)
moc не вносит свой синтаксис. он ищет в исходниках макросы препроцессора, и на основании информации полученной из них, генерирует еще один с++ файл, который необходимо добавить к компиляции.

вносит..  просто другой уровень... скажем так, слегка вносит, но изменения ощутимые.. 
и добавляет он еще один .cpp файл или .obj не суть важно.. 

Цитата(boostcoder @  14.12.2010,  15:21 Найти цитируемый пост)
ошибаетесь. это просто метагенератор. и его цель, та же. что и у discolygen.

а кто сказал что дисколи с кодогенератором это с++ ?!
тогда и "с с классами" можно назвать "с " ведь на выходе получился с-код smile

Цитата(boostcoder @  14.12.2010,  15:21 Найти цитируемый пост)
а c++/cli есть для линукс? ?

не знаю, не интересовался.. слыша, что .net портируют под линукс , в рамках проекта mono..

Цитата(boostcoder @  14.12.2010,  15:21 Найти цитируемый пост)
 и вообще, для чего он может мне понадобится?

именно Вам не знаю..  smile
обычный c++, не может "общаться" с managed-кодом, для связки и придуман c++/cli.. 

Цитата(boostcoder @  14.12.2010,  15:21 Найти цитируемый пост)
значит не надо оно мне. 

пока не нужно взаимодействие с .net - не нужен.. 




--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 14.12.2010, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(mes @  14.12.2010,  16:39 Найти цитируемый пост)
вносит

если бы это было так, то такой код бы не компилировался компилятором без предварительной обработки moc`ом.
PM WWW   Вверх
Закрытая темаСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0688 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.