Re[5]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.04.03 20:36
Оценка:
Здравствуйте, Trantor, Вы писали:

T>попытки получить эти значения(оригинальные) при сериализации датасета в XML у меня провалились... Поэтому если несложно напиши пример или кинь ссылку на то как это все должно выглядить в сериализованом виде.


Надо заполнять датасет из БД, а потом изменять значения ячеек.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.04.03 20:36
Оценка:
Здравствуйте, mihailik, Вы писали:

TK>>И хорошо-бы каждый тест оформить в отдельном методе, вызывать его как минимум несколько раз, а потом интерполировать значения. При этом несколько первых результатов можно и отбросить.


M>Обоими руками поддерживаю. Так, кстати, и возможные интерференции с GC нивелируются, и разброс/погрешность измерений оценить можно.


Попробуем.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.04.03 05:55
Оценка:
Здравствуйте, VladD2, Вы писали:

TK>>Кстати, а почему они стали делать сериализацию целиком, а написали XmlReader/XmlWriter по двоичным данным?

TK>>(а то обсуждение большое, перечитывать некогда...)

VD>Они это мы или парни из МС? И что значит "написали XmlReader/XmlWriter по двоичным данным?"?


Он имеет ввиду что DataSet умеет писать не только в готовый xml, но и в XmlWriter (это некое подобие SAX, только без событий). Таким образом xml-формат остается, но его можно сделать бинарным, дабы потом не тратить много времени на парсинг. Только думается мне что сильно это не поможет, будет немножко быстрее BinaryFormatter, хотя конечно померить стоило бы.
... << RSDN@Home 1.0 beta 6a >>
AVK Blog
Re[8]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.04.03 05:55
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Трентор в своей реализации как раз указал, что связи не сериализуются. Но это копейки. И по памяти и по времени.


По памяти согласен, по времени не уверен, особенно когда датасеты будут небольшими.
... << RSDN@Home 1.0 beta 6a >>
AVK Blog
Re[4]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.04.03 05:55
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это копейки. Да и не нужна она за частую. Ты хоть раз ее использовал? В том же Хоуме, например?


А в хоуме и датасеты в общем то не нужны. Массив не хуже, просто лень было обертки писать.

VD>Зато деже в этом виде ее можно использовать в том же Хоуме.


А стоит ли там вобще датасеты использовать?
... << RSDN@Home 1.0 beta 6a >>
AVK Blog
Re[3]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.04.03 05:55
Оценка:
Здравствуйте, VladD2, Вы писали:

TK>>А уж рассказы про то, что BinaryFormatter медленнее, чем Soap это совсем смешно.


VD>Можешь смеяться. Такие резулттаты и у АВК.


Ну не правда, Soap я вобще не использовал.
... << RSDN@Home 1.0 beta 6a >>
AVK Blog
Re[6]: Сериализация в дотнете 2 - самопальный датасет
От: TK Лес кывт.рф
Дата: 18.04.03 06:01
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD>Они это мы или парни из МС? И что значит "написали XmlReader/XmlWriter по двоичным данным?"?


AVK>Он имеет ввиду что DataSet умеет писать не только в готовый xml, но и в XmlWriter (это некое подобие SAX, только без событий). Таким образом xml-формат остается, но его можно сделать бинарным, дабы потом не тратить много времени на парсинг. Только думается мне что сильно это не поможет, будет немножко быстрее BinaryFormatter, хотя конечно померить стоило бы.


Могу сказать, что пустой XmlWriter без реализации работает на тестах Влада в 2 раза быстрее чем стандартный. так-что выйграть можно будет 20-30% максимум...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[7]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.04.03 06:15
Оценка:
Здравствуйте, TK, Вы писали:

TK>Могу сказать, что пустой XmlWriter без реализации работает на тестах Влада в 2 раза быстрее чем стандартный. так-что выйграть можно будет 20-30% максимум...


Дык это при записи, там большого выигрыша и не должно быть, а вот при чтении может стать все интереснее.
... << RSDN@Home 1.0 beta 6a >>
AVK Blog
Re[6]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.03 16:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Он имеет ввиду что DataSet умеет писать не только в готовый xml, но и в XmlWriter (это некое подобие SAX, только без событий). Таким образом xml-формат остается, но его можно сделать бинарным, дабы потом не тратить много времени на парсинг. Только думается мне что сильно это не поможет, будет немножко быстрее BinaryFormatter, хотя конечно померить стоило бы.


Слается мне, что если сделать ручную сериализацию на SAX-е, то скорость будет очень высокой, а от стандартных средств многого не добьешся.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.03 16:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, VladD2, Вы писали:


VD>>Это копейки. Да и не нужна она за частую. Ты хоть раз ее использовал? В том же Хоуме, например?


AVK>А в хоуме и датасеты в общем то не нужны. Массив не хуже, просто лень было обертки писать.


Если бы ты читал вниательнее, то понял бы, ято массивы структур — это не меньшие тормоза чем датасет. Причем датасет можно лгко сериалзовать вручную (лбой датасет, с любым форматом), в то время как массмв структур сериалзовать автоматически сложнее. Да и бестолку это, так как из базы данных автоматически массив не вынеш.

VD>>Зато деже в этом виде ее можно использовать в том же Хоуме.


AVK>А стоит ли там вобще датасеты использовать?


См. выше. И вообще я тут уже про это сто раз говорил.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.03 16:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD>>Трентор в своей реализации как раз указал, что связи не сериализуются. Но это копейки. И по памяти и по времени.


AVK>По памяти согласен, по времени не уверен, особенно когда датасеты будут небольшими.


Ну, твоя уверенность — это твои проблемы.


Чето там делать то? Пробежаться по списку и записать его содержимое. Если список пуст, то и писать нечего.

Намного больше времени отнимет сериализаыия DbNull, так как придется писать эти значения перед значениями ячеек строк.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.03 16:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD>>Можешь смеяться. Такие резулттаты и у АВК.


AVK>Ну не правда, Soap я вобще не использовал.


Но бинари у тебя был медленнее чем хмл.

Кстати, при повторе или некоторой перестоновке тормоза загрузки бинарного сериализатора исчезают. Но один хрен он работает на уровне хмл-сериализатора. Что вполне обхяснимо. Основное время тратится на процедуру сериализации реализованную в самом датасете.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.04.03 08:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>Можешь смеяться. Такие резулттаты и у АВК.


AVK>>Ну не правда, Soap я вобще не использовал.


VD>Но бинари у тебя был медленнее чем хмл.


Чем XmlSerializer. Это вполне объяснимо — он не использует при сериализации рефлекшен и XML DOM
... << RSDN@Home 1.0 beta 6a (np: тихо) >>
AVK Blog
Re[6]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.04.03 08:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Если бы ты читал вниательнее, то понял бы, ято массивы структур — это не меньшие тормоза чем датасет.


Его можно тупо в ансейфе одним плевком конвертануть в byte[]. Будет ультрабыстро.
... << RSDN@Home 1.0 beta 6a (np: тихо) >>
AVK Blog
Re[7]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.04.03 08:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Слается мне, что если сделать ручную сериализацию на SAX-е,


Блин, сколько тебе повторять — нет в дотнете SAX, есть XMLReader/XMLWriter. Столь же быстрые, но пользоваться удобнее.

VD>то скорость будет очень высокой, а от стандартных средств многого не добьешся.


XmlSerializer как раз подобный механизм и использует.
... << RSDN@Home 1.0 beta 6a (np: тихо) >>
AVK Blog
Re[8]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.04.03 14:09
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Блин, сколько тебе повторять — нет в дотнете SAX, есть XMLReader/XMLWriter. Столь же быстрые, но пользоваться удобнее.


Дык тот же ДатаСет при сериализациии как раз их и использует. Вот только толку от этого никакого. Так что или они не столь же быстрые, или все же нужно делать с ними, но вручную и не так как в датасете.

А то что в дотрнете нет чистого SAX-а... это все фигня. Можно или сделать обертку для native-ного или создать версию для дотнета.

VD>>то скорость будет очень высокой, а от стандартных средств многого не добьешся.


AVK>XmlSerializer как раз подобный механизм и использует.


И что толку? Результаыт ты вроде видел...
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.04.03 14:09
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, VladD2, Вы писали:


VD>>Если бы ты читал вниательнее, то понял бы, ято массивы структур — это не меньшие тормоза чем датасет.


AVK>Его можно тупо в ансейфе одним плевком конвертануть в byte[]. Будет ультрабыстро.


Тупо нельзя. Там строка. К тому это еще одно копирование.

Да и причем тут это? Главное, что для каждогй структуры придется писать самостоятельную сериализацию. Для датасета же можно написать один раз универсальную сериализацию. Она будет эффективная и универсальная.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Сериализация в дотнете 2 - самопальный датасет
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.04.03 14:09
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Чем XmlSerializer. Это вполне объяснимо — он не использует при сериализации рефлекшен и XML DOM


А я и не спорю, что понятно. Вот только это чистой воды доказательство кривости идеологии принятов для форматеров.

Кстати, я последовал совету ТК и сделал несколько повторов. Бинари форматер разогнался (на втором повторе) и стал работать примерно со скоростью XmlSerializer-а. Такой же эффект происходит при некоторый перестановках тестов. Причем на другие способы перестановки влияют незначительно. Что-то там не так.
... << RSDN@Home 1.0 beta 6a >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.04.03 16:16
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Чем XmlSerializer. Это вполне объяснимо — он не использует при сериализации рефлекшен и XML DOM


VD>А я и не спорю, что понятно. Вот только это чистой воды доказательство кривости идеологии принятов для форматеров.


Влад, но ведь форматтеры выполняют куда больше работы и они куда универсальнее. Просто по моему вместо того чтобы сделать нормальные сериализаторы они предлагают пользоваться форматтерами.

VDТакой же эффект происходит при некоторый перестановках тестов. Причем на другие способы перестановки влияют незначительно. Что-то там не так.

Ну так исходники есть. IT вроде ротор собрал — можно попросить его прогнать форматтер профайлером и посмотреть где кака.
... << RSDN@Home 1.0 beta 6a (np: тихо) >>
AVK Blog
Re[9]: Сериализация в дотнете 2 - самопальный датасет
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.04.03 16:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Дык тот же ДатаСет при сериализациии как раз их и использует. Вот только толку от этого никакого. Так что или они не столь же быстрые,


Ну так XmlSerializer, пользуясь ими, работает очень быстро. Значит дело не в них, а в DataSet

VD>А то что в дотрнете нет чистого SAX-а... это все фигня. Можно или сделать обертку для native-ного или создать версию для дотнета.


Зачем обертывать чужой парсер, если есть родной?

AVK>>XmlSerializer как раз подобный механизм и использует.


VD>И что толку? Результаыт ты вроде видел...


Результат очень хороший. Не забывай что это xml.
... << RSDN@Home 1.0 beta 6a (np: тихо) >>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.