• Страница 1 из 1
  • 1
Модератор форума: admin, TweIk  
mxINI - Самый быстрый INI ридер/райтер (v0.5)
adminДата: Воскресенье, 19.12.2010, 09:20:39 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
Что это за скрипт

* Это релиз инклуд-файла с инструментами для самого быстрого чтения/записи INI файлов. Более того, этот инклуд не нуждается в настройке. Вы подключаете его в ФС или МОД и можно сразу читать/записывать INI файлы.

Преимущества

* Свободный формат
Во-первых, оформлять ваши INI файлы вы можете как угодно - криво/ровно, с отступами/без, с комментами/без, с любыми пробельными символами вокруг =. И это все никак не влияет на чтение/запись. Нет никаких лимитов на длину ключей или значений. Ключи и значения можно писать даже по-русски. В имени ключа/значении можно использовать любые символы кроме \r и \n. Пробелы и знаки табуляции вокруг имени ключа, вокруг символа = и перед текстовым значением считаются отступами. В одной строке вы можете поместить любое кол-во пар ключ/значение, включая всевозможные варианты оформления.

* Свободное расположение комментов
Чтобы увеличить скорость чтения, считается, что любые строки, где нет символа = это комментарии. Также комментарием может быть любой текст, все зависит от вашего форматирования.

* Скорость
Перед тем как читать что-то из INI файла, его также как и остальные файлы нужно открыть. При открытии весь файл копируется в ОЗУ вместе с именем. Остальные операции чтения/записи производятся непосредственно в ОЗУ. Именно поэтому все это происходит очень быстро. Если контент файла в ОЗУ был изменен, при закрытии он будет записан на диск.

Еще 1 плюс, который ранее в скриптинге не применялся - это сжатое хранение контента файла, что в 4 раза меньше, чем обычный формат. Скорость также достигается за счет отсутствия дополнительных функций, которые могли бы использоваться в функциях чтения/записи, а также за счет использования только встроенных функций скриптинга.

Инструменты

* ini_createFile ( "путь/к/файлу.ini", "Содержимое файла по умолчанию" )
* ini_openFile ( "путь/к/файлу.ini" )
* ini_closeFile ( ИД_открытого_файла )

* ini_setString ( ИД_открытого_файла, "имя ключа", "текстовое значение" )
* ini_setInteger ( ИД_открытого_файла, "имя ключа", 123456 )
* ini_setFloat ( ИД_открытого_файла, "имя ключа", 3.1416 )

* ini_getString ( ИД_открытого_файла, "имя ключа", returnValue )
* ini_getInteger ( ИД_открытого_файла, "имя ключа", returnValue )
* ini_getFloat ( ИД_открытого_файла, "имя ключа", returnValue )

* ini_removeKey ( ИД_открытого_файла, "имя ключа" )
* ini_getErrorInfo ( Код_ошибки )

Примеры

Code
new iniFile = ini_createFile ( "test4268.ini" );

if ( iniFile < 0 )
  iniFile = ini_openFile ( "test4268.ini" );

if ( iniFile >= 0 )
{
  new returnString[32], returnNumber, Float: returnFloat;

  ini_setString ( iniFile, "ключ со строкой", "текстовое значение" );
  ini_setInteger ( iniFile, "ключ с числом",  123456 );
  ini_setFloat  ( iniFile, "ключ с дробью",  3.1416 );

  ini_removeKey ( iniFile, "ключ с числом" );

  ini_getString ( iniFile, "ключ со строкой", returnString );
  ini_getInteger ( iniFile, "ключ с числом",  returnNumber );
  ini_getFloat  ( iniFile, "ключ с дробью",  returnFloat );

  ini_closeFile ( iniFile );

  printf ( "\n `ключ_со_строкой` = `%s`,\n `ключ_с_числом` = `%d`,\n `ключ_с_дробью` = `%f` \n",
   returnString, returnNumber, returnFloat );
}
else print( "\n Не удалось открыть INI файл \n" );

Тест

*

ТЕСТ скорости 2-х библиотек, которые ориентированы исключительно
на чтение/запись в файлы INI формата.

Тестируются: Dini, mxINI

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

Каждой библиотеке нужно будет создать и открыть INI файл, записать в него 100 ключей,
прочесть значения этих ключей, закрыть файл.

Это результаты выполнения вышеуказанных операций. Сравните их.

1 секунда = 1000 милисекунд (мсек)

ФС для тестирования

Ссылки

*( v0.5 от 20.09.2010 ) [url=http://www.mxgames.kz/dev/inc/mxINI.inc]Исходник на PASTEBIN.com[/url] | Исходник (прямая ссылка) | ZIP Архив (прямая ссылка)

( v0.4 от 25.01.2009 ) Исходный код | ZIP Архив
( v0.3 от 16.12.2009 ) ZIP Архив
( v0.2 от 08.12.2009 ) Исходный код | ZIP Архив
( v0.1 от 03.12.2009 ) Исходный код

* Наконец-то pastebin.com стал павильно понимать юникод, поэтому даю ссылки и на pastebin.com.
Чтобы не открывать, а сохранить файл под нужным вам именем,
в браузерах, обычно, есть контекстное меню и пункт "Сохранить как".
Источник:http://forum.sa-mp.com/showthread.php?t=111746



zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеЧто это за скрипт

* Это релиз инклуд-файла с инструментами для самого быстрого чтения/записи INI файлов. Более того, этот инклуд не нуждается в настройке. Вы подключаете его в ФС или МОД и можно сразу читать/записывать INI файлы.

Преимущества

* Свободный формат
Во-первых, оформлять ваши INI файлы вы можете как угодно - криво/ровно, с отступами/без, с комментами/без, с любыми пробельными символами вокруг =. И это все никак не влияет на чтение/запись. Нет никаких лимитов на длину ключей или значений. Ключи и значения можно писать даже по-русски. В имени ключа/значении можно использовать любые символы кроме \r и \n. Пробелы и знаки табуляции вокруг имени ключа, вокруг символа = и перед текстовым значением считаются отступами. В одной строке вы можете поместить любое кол-во пар ключ/значение, включая всевозможные варианты оформления.

* Свободное расположение комментов
Чтобы увеличить скорость чтения, считается, что любые строки, где нет символа = это комментарии. Также комментарием может быть любой текст, все зависит от вашего форматирования.

* Скорость
Перед тем как читать что-то из INI файла, его также как и остальные файлы нужно открыть. При открытии весь файл копируется в ОЗУ вместе с именем. Остальные операции чтения/записи производятся непосредственно в ОЗУ. Именно поэтому все это происходит очень быстро. Если контент файла в ОЗУ был изменен, при закрытии он будет записан на диск.

Еще 1 плюс, который ранее в скриптинге не применялся - это сжатое хранение контента файла, что в 4 раза меньше, чем обычный формат. Скорость также достигается за счет отсутствия дополнительных функций, которые могли бы использоваться в функциях чтения/записи, а также за счет использования только встроенных функций скриптинга.

Инструменты

* ini_createFile ( "путь/к/файлу.ini", "Содержимое файла по умолчанию" )
* ini_openFile ( "путь/к/файлу.ini" )
* ini_closeFile ( ИД_открытого_файла )

* ini_setString ( ИД_открытого_файла, "имя ключа", "текстовое значение" )
* ini_setInteger ( ИД_открытого_файла, "имя ключа", 123456 )
* ini_setFloat ( ИД_открытого_файла, "имя ключа", 3.1416 )

* ini_getString ( ИД_открытого_файла, "имя ключа", returnValue )
* ini_getInteger ( ИД_открытого_файла, "имя ключа", returnValue )
* ini_getFloat ( ИД_открытого_файла, "имя ключа", returnValue )

* ini_removeKey ( ИД_открытого_файла, "имя ключа" )
* ini_getErrorInfo ( Код_ошибки )

Примеры

Code
new iniFile = ini_createFile ( "test4268.ini" );

if ( iniFile < 0 )
  iniFile = ini_openFile ( "test4268.ini" );

if ( iniFile >= 0 )
{
  new returnString[32], returnNumber, Float: returnFloat;

  ini_setString ( iniFile, "ключ со строкой", "текстовое значение" );
  ini_setInteger ( iniFile, "ключ с числом",  123456 );
  ini_setFloat  ( iniFile, "ключ с дробью",  3.1416 );

  ini_removeKey ( iniFile, "ключ с числом" );

  ini_getString ( iniFile, "ключ со строкой", returnString );
  ini_getInteger ( iniFile, "ключ с числом",  returnNumber );
  ini_getFloat  ( iniFile, "ключ с дробью",  returnFloat );

  ini_closeFile ( iniFile );

  printf ( "\n `ключ_со_строкой` = `%s`,\n `ключ_с_числом` = `%d`,\n `ключ_с_дробью` = `%f` \n",
   returnString, returnNumber, returnFloat );
}
else print( "\n Не удалось открыть INI файл \n" );

Тест

*

ТЕСТ скорости 2-х библиотек, которые ориентированы исключительно
на чтение/запись в файлы INI формата.

Тестируются: Dini, mxINI

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

Каждой библиотеке нужно будет создать и открыть INI файл, записать в него 100 ключей,
прочесть значения этих ключей, закрыть файл.

Это результаты выполнения вышеуказанных операций. Сравните их.

1 секунда = 1000 милисекунд (мсек)

ФС для тестирования

Ссылки

*( v0.5 от 20.09.2010 ) [url=http://www.mxgames.kz/dev/inc/mxINI.inc]Исходник на PASTEBIN.com[/url] | Исходник (прямая ссылка) | ZIP Архив (прямая ссылка)

( v0.4 от 25.01.2009 ) Исходный код | ZIP Архив
( v0.3 от 16.12.2009 ) ZIP Архив
( v0.2 от 08.12.2009 ) Исходный код | ZIP Архив
( v0.1 от 03.12.2009 ) Исходный код

* Наконец-то pastebin.com стал павильно понимать юникод, поэтому даю ссылки и на pastebin.com.
Чтобы не открывать, а сохранить файл под нужным вам именем,
в браузерах, обычно, есть контекстное меню и пункт "Сохранить как".
Источник:http://forum.sa-mp.com/showthread.php?t=111746


Автор - admin
Дата добавления - 19.12.2010 в 09:20:39
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
22:19:34
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: