[РЕШЕНО] YAML или XML ? Конфиги, сохранения
|
|
robertono | Дата: Четверг, 15 Августа 2013, 01:20 | Сообщение # 1 |
Чокнутый Кот
Сейчас нет на сайте
| Что лучше использовать для сохранения огромного количества переменных ? XML или YAML ? Чем легче пользоваться? И чем они отличаются ? Мне кажется, визуально - абсолютно ничем! Я прав?
Сообщение отредактировал robertono - Суббота, 17 Августа 2013, 23:11 |
|
| |
PoqXert | Дата: Четверг, 15 Августа 2013, 03:43 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Преимущества XML:
1. Для XML уже существуют готовые парсеры;
2. Можно применять стандартные действия, например, XSLT-преобразования;
Недостатки XML:
1. Документы на XML неудобны для восприятия человеком. (И не надо, чтобы игрок конфиги читал)
2. Документы на XML занимают больше места.
Преимущества YAML:
1. Удобны для чтения и редактирования человеком;
2. Занимают мало места;
Недостатки YAML:
1. Приходится писать собственный парсер.
2. Для каждого нового типа элемента приходится придумывать собственную синтаксическую конструкцию и реализовывать её в парсере.
3. Нельзя применять стандартные преобразования.
4. Нельзя создавать составные документы.
Расширения для Unity3D Блог программиста - PoqXert.ru
Сообщение отредактировал PoqXert - Четверг, 15 Августа 2013, 03:44 |
|
| |
Dash_Ravo | Дата: Четверг, 15 Августа 2013, 09:12 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Самый быстрый путь - знакомый путь. Просто бери, что лучше знаешь. Кое-где потанцуешь с бубном, в любом случае это сделать придется, так что тут выбирать из "делать и кое-где помучиться" и "делать и кое-где помучиться"
|
|
| |
Vinchensoo | Дата: Четверг, 15 Августа 2013, 09:17 | Сообщение # 4 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (PoqXert) 1. Приходится писать собственный парсер. Да есть уже все, даж на википедии лежит.
Бери xml. Зачем что-то придумывать?
Если количество данных сильно большое и нужно, чтобы они обрабатывались сильно быстро, то лучше использовать какой-нить бинарный формат хранения, а не текстовый.
|
|
| |
Alastar | Дата: Четверг, 15 Августа 2013, 10:18 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Создай класс Save, запихни в него все, что тебе нужно сохранить, и сериализуй в бинарник! Профит!
Big Boobs (+18 only!)
|
|
| |
afrokick | Дата: Четверг, 15 Августа 2013, 11:44 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Цитата (robertono) Что лучше использовать для сохранения огромного количества переменных ? Цитата (Alastar) Создай класс Save, запихни в него все, что тебе нужно сохранить, и сериализуй в бинарник! Профит!
Это первый вариант, второй - json. XMl для большого количества данных очень "тяжелый". Для json есть готовые парсеры.
|
|
| |
robertono | Дата: Четверг, 15 Августа 2013, 12:02 | Сообщение # 7 |
Чокнутый Кот
Сейчас нет на сайте
| Ну тогда буду использовать xml , так как он мне хорошо знаком и мне просто с ним работать
|
|
| |
Vinchensoo | Дата: Четверг, 15 Августа 2013, 12:05 | Сообщение # 8 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (afrokick) Это первый вариант, второй - json. XMl для большого количества данных очень "тяжелый". Для json есть готовые парсеры. Он тоже текстовый. Все зависит от ситуации, что и когда использовать.
|
|
| |
robertono | Дата: Четверг, 15 Августа 2013, 12:14 | Сообщение # 9 |
Чокнутый Кот
Сейчас нет на сайте
| Я забыл, в C# да и вообще в .net была какая то штука которая позволяла работать легко с xml. Состояла из 3 - 4 букв. Может кто помнит ?
|
|
| |
Archido | Дата: Четверг, 15 Августа 2013, 12:32 | Сообщение # 10 |
Сэнсэй
Сейчас нет на сайте
| Текстовые удобны и полезны в случаях, когда нужно либо видеть хранящуюся там информацию (для дебага), либо когда (или вместе с первым "либо") нужно иметь возможность быстро править тамошние данные безо всяких доп. тулзов. В большинстве остальных случаев - это оверхед как по памяти, так и по скорости доступа.
При разработке, конечно, их удобно использовать для "настройки игровых параметров" таки в небольших количествах, но перед продакшеном их, как правило, пересохраняют в бинарник. И почти всегда это xml.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Vinchensoo | Дата: Четверг, 15 Августа 2013, 12:48 | Сообщение # 11 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (robertono) Я забыл, в C# да и вообще в .net была какая то штука которая позволяла работать легко с xml. Состояла из 3 - 4 букв. Может кто помнит ? LINQ. Xml- лишь часть возможностей. Цитата (Archido) Текстовые удобны и полезны в случаях, когда нужно либо видеть хранящуюся там информацию (для дебага), либо когда (или вместе с первым "либо") нужно иметь возможность быстро править тамошние данные безо всяких доп. тулзов. В большинстве остальных случаев - это оверхед как по памяти, так и по скорости доступа. Иногда геймдизайнеры просят xml, чтобы конфигурировать игровую логику без знаний программирования, кстати. Но чаще всего это именно конфиги. Т.е. вещи, которые вычитываются 1 раз при старте сервера, а дальше уже хранятся в виде объектов в памяти. Тогда на накладные расходы можно забить, нет разницы, 9 секунд запускается сервер или 10.
|
|
| |
smoke_water | Дата: Среда, 11 Сентября 2013, 15:31 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| лучше всего xml
Час це вода.:)
|
|
| |