
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.12.2011, 14:00
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Ударим опенсорсным велосипедостроением по делфям и копирастии! Посвящается первым двум темам с похожим названием. LStor представляет собой реализацию простого локального однопользовательского in-memory хранилища типа key-value, основанную на Glib 2. LStor предоставляет минималистичный API для создания, удаления, экспорта, импорта key-value таблиц, вставки, удаления и модификации их записей. LStor выполнен в виде библиотеки и может быть использован в приложениях, которым требуется быстрый однопользовательский доступ по ключу, например, менеджер настроек, библиотека музыки или локальная служба аутентификации. На данный момент в LStor поддерживается три типа данных - 32-битное целое (LSTOR_INT), 64-битное число с плавающей точкой (LSTOR_FLOAT) и строка с нуль-терминатором (LSTOR_STRING). Механизм экспорта позволяет достаточно быстро сбросить данные на диск с минимальным оверхедом (например, для 4 млн пар ключей-значений типа LSTOR_INT экспортированный файл занимает 32000072 байта). Библиотека распространяется в исходных кодах для GNU gcc/make. Руководство по сборке, подключению и использованию находится в архиве (README.txt, английский). Поддерживается режим статической компиляции с Glib 2, в таком виде библиотека занимает 342.2 кб. Хотелось бы услышать пожелания по дальнейшему расширению функционала библиотеки именно как локального key-value хранилища. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 14:16
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
LStorE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 15:00
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
где список? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 15:49
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
базгде список?...порванных эльстором на грелки СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 15:51
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Блин. Надо свою тему про РаспилБД создавать. Самой БД нет по понятным причинам: для того, чтобы она появилась, требуется освоить 1,5 млрд бюджетных денег. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 16:19
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
Отметился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 16:50
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
РосгоснанораспилтрестБлин. Надо свою тему про РаспилБД создавать. Самой БД нет по понятным причинам: для того, чтобы она появилась, требуется освоить 1,5 млрд бюджетных денег. Создавай. Только смотри штоб проводки работали быринько. А то смешают с помоями... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:06
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
ShkololoDBLStorE Shkololo, читай ридми. Это сокращение от Lightweight Storage. tanglirбазгде список?...порванных эльстором на грелки СУБД? Фывымас же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:08
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
базгде список? Список чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:13
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
maytonСоздавай. Только смотри штоб проводки работали быринько. В РаспилБД задача распила проводок по самой идее должна решаться моментально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:26
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
Народу не нужны нездоровые сенсации! Народу нужны здоровые сенсации! (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:46
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Немного слов о том, для чего я этот эльстор вообще замутил. Главной задачей было реализовать хранилище ассоциативных массивов (кого-то напоминает, да?) под чистый Си за минимальное количество функций в библиотеке. Да, можно было бы взять чистую глыбу или тот же BDB, но интерфейсы показались мне чересчур неудобными. К тому же, если говорить о глыбе, там нету некоторых вещей, которые уже реализованы в эльсторе (да-да, экспорт и долбаный импорт, который, вот уж я не пойму, с какого перепугу, но работает в 5 раз медленнее экспорта) и планируются. Стратегия - не раздувать API, наращивая возможности в пределах 10-20 простых функций. В текущей версии их 7. В дальнейшем добавится еще такая вещь, как список активных таблиц, где по имени таблицы можно будет получить ее хендл. Возможно, появятся курсоры а-ля GHashTableIter. Типы данных тоже не будут стоять на месте. Следующим на очереди, думаю, будут LSTOR_LIST и LSTOR_BLOB. Тогда уже и поисковик можно будет упростить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:46
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Немного слов о том, для чего я этот эльстор вообще замутил. Главной задачей было реализовать хранилище ассоциативных массивов (кого-то напоминает, да?) под чистый Си за минимальное количество функций в библиотеке. Да, можно было бы взять чистую глыбу или тот же BDB, но интерфейсы показались мне чересчур неудобными. К тому же, если говорить о глыбе, там нету некоторых вещей, которые уже реализованы в эльсторе (да-да, экспорт и долбаный импорт, который, вот уж я не пойму, с какого перепугу, но работает в 5 раз медленнее экспорта) и планируются. Стратегия - не раздувать API, наращивая возможности в пределах 10-20 простых функций. В текущей версии их 7. В дальнейшем добавится еще такая вещь, как список активных таблиц, где по имени таблицы можно будет получить ее хендл. Возможно, появятся курсоры а-ля GHashTableIter. Типы данных тоже не будут стоять на месте. Следующим на очереди, думаю, будут LSTOR_LIST и LSTOR_BLOB. Тогда уже и поисковик можно будет упростить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:46
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Немного слов о том, для чего я этот эльстор вообще замутил. Главной задачей было реализовать хранилище ассоциативных массивов (кого-то напоминает, да?) под чистый Си за минимальное количество функций в библиотеке. Да, можно было бы взять чистую глыбу или тот же BDB, но интерфейсы показались мне чересчур неудобными. К тому же, если говорить о глыбе, там нету некоторых вещей, которые уже реализованы в эльсторе (да-да, экспорт и долбаный импорт, который, вот уж я не пойму, с какого перепугу, но работает в 5 раз медленнее экспорта) и планируются. Стратегия - не раздувать API, наращивая возможности в пределах 10-20 простых функций. В текущей версии их 7. В дальнейшем добавится еще такая вещь, как список активных таблиц, где по имени таблицы можно будет получить ее хендл. Возможно, появятся курсоры а-ля GHashTableIter. Типы данных тоже не будут стоять на месте. Следующим на очереди, думаю, будут LSTOR_LIST и LSTOR_BLOB. Тогда уже и поисковик можно будет упростить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 17:47
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Глюконавтика. >_< Кто поставил сюда TJ7? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 19:02
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Где курсоры где выборка по диапазону ключей где скорость. В стебельке наносекунда здесь 55 наносек на поиск а вообще обертки писать на пацанские либы талант третикласников Так что по обсуждению как видишь всем откровенно покуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 19:08
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Школоло, у меня на машине теоретически может быть 3 наносека минимум, какая одна? Какая нафиг выборка по диапазону ключей, если ключи строковые? Курсоры будут, уже ж написал. Выборку по диапазону числовых ключей, может, тоже сделаю. Да и вообще, базило, залогинься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 19:50
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
Ребят, курсоры это уровень абстракций который вам пока еще не нужен IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:40
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Ну у меня это не те курсоры будут, а просто глыбовские итераторы. У базиллы, я так вижу, тоже нечто подобное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:46
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
Division X Ударим опенсорсным велосипедостроением по делфям и копирастии! Посвящается первым двум темам с похожим названием. Респект !!!! теперь замечания по существу: $ make glibstatic gcc -c -fPIC -s -o lstor.o `pkg-config --cflags glib-2.0` lstor.c lstor.c: In function ‘InitTable’: lstor.c:44: error: ‘g_double_hash’ undeclared (first use in this function) lstor.c:44: error: (Each undeclared identifier is reported only once lstor.c:44: error: for each function it appears in.) lstor.c:44: error: ‘g_double_equal’ undeclared (first use in this function) grep -n g_double_hash * lstor.c:44: res->keytable=g_hash_table_new_full(g_double_hash, g_double_equal,g_free,NULL); $gcc -v Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i586 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) $ rpm -qla | grep glib-2. /lib/libglib-2.0.so.0 /lib/libglib-2.0.so.0.2000.5 /lib64/libglib-2.0.so.0 /lib64/libglib-2.0.so.0.2000.5 /usr/lib64/libpyglib-2.0.so /usr/lib64/libpyglib-2.0.so.0 /usr/lib64/libpyglib-2.0.so.0.0.0 /usr/include/glib-2.0 /usr/include/glib-2.0/gio /usr/include/glib-2.0/gio/gappinfo.h /usr/include/glib-2.0/gio/gasyncresult.h /usr/include/glib-2.0/gio/gbufferedinputstream.h /usr/include/glib-2.0/gio/gbufferedoutputstream.h /usr/include/glib-2.0/gio/gcancellable.h /usr/include/glib-2.0/gio/gcontenttype.h /usr/include/glib-2.0/gio/gdatainputstream.h /usr/include/glib-2.0/gio/gdataoutputstream.h /usr/include/glib-2.0/gio/gdrive.h /usr/include/glib-2.0/gio/gemblem.h /usr/include/glib-2.0/gio/gemblemedicon.h /usr/include/glib-2.0/gio/gfile.h /usr/include/glib-2.0/gio/gfileattribute.h /usr/include/glib-2.0/gio/gfileenumerator.h /usr/include/glib-2.0/gio/gfileicon.h /usr/include/glib-2.0/gio/gfileinfo.h /usr/include/glib-2.0/gio/gfileinputstream.h /usr/include/glib-2.0/gio/gfilemonitor.h /usr/include/glib-2.0/gio/gfilenamecompleter.h /usr/include/glib-2.0/gio/gfileoutputstream.h /usr/include/glib-2.0/gio/gfilterinputstream.h /usr/include/glib-2.0/gio/gfilteroutputstream.h /usr/include/glib-2.0/gio/gicon.h /usr/include/glib-2.0/gio/ginputstream.h /usr/include/glib-2.0/gio/gio.h /usr/include/glib-2.0/gio/gioenums.h /usr/include/glib-2.0/gio/gioenumtypes.h /usr/include/glib-2.0/gio/gioerror.h /usr/include/glib-2.0/gio/giomodule.h /usr/include/glib-2.0/gio/gioscheduler.h /usr/include/glib-2.0/gio/giotypes.h /usr/include/glib-2.0/gio/gloadableicon.h /usr/include/glib-2.0/gio/gmemoryinputstream.h /usr/include/glib-2.0/gio/gmemoryoutputstream.h /usr/include/glib-2.0/gio/gmount.h /usr/include/glib-2.0/gio/gmountoperation.h /usr/include/glib-2.0/gio/gnativevolumemonitor.h /usr/include/glib-2.0/gio/goutputstream.h /usr/include/glib-2.0/gio/gseekable.h /usr/include/glib-2.0/gio/gsimpleasyncresult.h /usr/include/glib-2.0/gio/gthemedicon.h /usr/include/glib-2.0/gio/gvfs.h /usr/include/glib-2.0/gio/gvolume.h /usr/include/glib-2.0/gio/gvolumemonitor.h /usr/include/glib-2.0/glib /usr/include/glib-2.0/glib-object.h /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/garray.h /usr/include/glib-2.0/glib/gasyncqueue.h /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/glib-2.0/glib/gbase64.h /usr/include/glib-2.0/glib/gbookmarkfile.h /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/gchecksum.h /usr/include/glib-2.0/glib/gcompletion.h /usr/include/glib-2.0/glib/gconvert.h /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gfileutils.h /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h /usr/include/glib-2.0/glib/gi18n-lib.h /usr/include/glib-2.0/glib/gi18n.h /usr/include/glib-2.0/glib/giochannel.h /usr/include/glib-2.0/glib/gkeyfile.h /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmacros.h /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gmappedfile.h /usr/include/glib-2.0/glib/gmarkup.h /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gmessages.h /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h /usr/include/glib-2.0/glib/gpattern.h /usr/include/glib-2.0/glib/gpoll.h /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gprintf.h /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gquark.h /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/gregex.h /usr/include/glib-2.0/glib/grel.h /usr/include/glib-2.0/glib/gscanner.h /usr/include/glib-2.0/glib/gsequence.h /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gspawn.h /usr/include/glib-2.0/glib/gstdio.h /usr/include/glib-2.0/glib/gstrfuncs.h /usr/include/glib-2.0/glib/gstring.h /usr/include/glib-2.0/glib/gtestutils.h /usr/include/glib-2.0/glib/gthread.h /usr/include/glib-2.0/glib/gthreadpool.h /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h /usr/include/glib-2.0/glib/gtypes.h /usr/include/glib-2.0/glib/gunicode.h /usr/include/glib-2.0/glib/gurifuncs.h /usr/include/glib-2.0/glib/gutils.h /usr/include/glib-2.0/glib/gwin32.h /usr/include/glib-2.0/gmodule.h /usr/include/glib-2.0/gobject /usr/include/glib-2.0/gobject/gboxed.h /usr/include/glib-2.0/gobject/gclosure.h /usr/include/glib-2.0/gobject/genums.h /usr/include/glib-2.0/gobject/gmarshal.h /usr/include/glib-2.0/gobject/gobject.h /usr/include/glib-2.0/gobject/gobjectnotifyqueue.c /usr/include/glib-2.0/gobject/gparam.h /usr/include/glib-2.0/gobject/gparamspecs.h /usr/include/glib-2.0/gobject/gsignal.h /usr/include/glib-2.0/gobject/gsourceclosure.h /usr/include/glib-2.0/gobject/gtype.h /usr/include/glib-2.0/gobject/gtypemodule.h /usr/include/glib-2.0/gobject/gtypeplugin.h /usr/include/glib-2.0/gobject/gvalue.h /usr/include/glib-2.0/gobject/gvaluearray.h /usr/include/glib-2.0/gobject/gvaluecollector.h /usr/include/glib-2.0/gobject/gvaluetypes.h /usr/lib64/glib-2.0 /usr/lib64/glib-2.0/include /usr/lib64/glib-2.0/include/glibconfig.h /usr/lib64/libglib-2.0.so /usr/lib64/pkgconfig/glib-2.0.pc /usr/share/aclocal/glib-2.0.m4 /usr/share/glib-2.0 /usr/share/glib-2.0/gettext /usr/share/glib-2.0/gettext/mkinstalldirs /usr/share/glib-2.0/gettext/po /usr/share/glib-2.0/gettext/po/Makefile.in.in Что-то не так с моей платформой и(или) глибой ? Вероятнее всего нужно просто явно сказать где лежит /usr/include/glib-2.0/glib.h Тебе виднее что и где править, что бы не устраивать зоопарк версий сборок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:52
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
ДохтаР, спс за багрепорт. Такой косяк только с make glibstatic, а просто make отрабатывает нормально? Для успешной компиляции в режиме glibstatic надо, чтоб в системе валялся /usr/lib/libglib-2.0.a или нечто похожее на него. Дело в том, что у меня на арче тоже изначально не было статик-версии глыбы2 и я ее ставил отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:53
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
Когда соберу, потестирую, возможно выдам еще дельные предложения. что бы не флудить за зря , можешь в личку в профиле писать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:54
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
Естественно, что если в системе нет статической глыбы, то к чему оно линковаться в glibstatic будет-то? :) В приведенном выше списке ни одного .a-файла не увидел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:54
|
|||
|---|---|---|---|
|
|||
Новая бесплатная база данных LStor |
|||
|
#18+
ДохтаР, Да можно и тутЪ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.12.2011, 21:56
|
|||
|---|---|---|---|
Новая бесплатная база данных LStor |
|||
|
#18+
Division XДохтаР, спс за багрепорт. Такой косяк только с make glibstatic, а просто make отрабатывает нормально? Для успешной компиляции в режиме glibstatic надо, чтоб в системе валялся /usr/lib/libglib-2.0.a или нечто похожее на него. Дело в том, что у меня на арче тоже изначально не было статик-версии глыбы2 и я ее ставил отдельно. Я о том что ты хозаин , и тебе решать параметры сборки. Считаю нужным добиться что бы сборка была универсальной для максимального количества платформ. Может стоит подумать над ./configure готовящего Makefile ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=56&mobile=1&tid=2015387]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 290ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...