LINUX.ORG.RU

Осуществлено портирование Sqlite на C#/Mono

 , , , ,


0

0

Noah Hart осуществил порт Sqlite на C# путем переписывания оригинальной библиотеки строчка за строчкой. При этом производительность получилась несколько более низкой, чем у оригинального кода - порт примерно в 5 раз медленнее (это означает, что он способен обработать примерно 1.5 миллионов операций типа SELECT или 300 000 операций типа INSERT за секунду - очень достойные результаты).

На канале #mono @ irc.gnome.org уже идет обсуждение, как можно ещё улучшить производительность кода. Один из возможных вариантов - не использовать стиль C там, где стиль C# итак работает на хорошем уровне.

Потенциал этой библиотеки огромен. Она может использоваться для запуска серверов ASP.NET в режиме Medium Trust. Также она может использоваться и для написания приложений на основе Silverlight. Tim Anderson уже начал работу над улучшением производительности библиотеки при работе с Silverlight.

Ещё раз замечу: это не очередная «обёртка» для библиотеки Sqlite, не какой-то драйвер - это реализация оригинальной библиотеки Sqlite на языке C#.

Исходный код

FAQ

>>> Блог Мигеля де Иказы

★★★★

Проверено: hibou ()
Ответ на: комментарий от PolarFox

Завтра надо будет запостить предложение, так как проект хорошо развивается.

MuZHiK-2 ★★★★
() автор топика

>При этом производительность получилась несколько более низкой, чем у оригинального кода - порт примерно в 5 раз медленнее

но на моно! Иказа доволен

stave ★★★★★
()
Ответ на: комментарий от asandros

>>На ЛОР уже страшно заходить, сплошные новости о Microsoft и .Net.

Про мс ни слова. Главное - без фанатизма.

MuZHiK-2 ★★★★
() автор топика

Мой вопрос не будет шибко оригинальным: а зачем этот велосипед, если sqlite уже написан и работает? Ну написали бы драйвер и не парились.. ?

AndreyKl ★★★★★
()
Ответ на: комментарий от asandros

>>Это я на главную страницу заглянул и ужаснулся.

Дык это наоборот показатель того, что линакс все-таки давит на рынке, развивается и создает конкуренцию.

MuZHiK-2 ★★★★
() автор топика

Пусть игровой движок какой сделают кроссплатформенный на Моно, вот тогда слава к ним и придет, а игры к нам (надеюсь). А так - молодцы, только почему Моно так развился? Неужели линуксоидам интересен C#?

kost-bebix ★★
()
Ответ на: комментарий от AndreyKl

>>Мой вопрос не будет шибко оригинальным: а зачем этот велосипед, если sqlite уже написан и работает? Ну написали бы драйвер и не парились.. ?

Прочитай третий абзац. С родной либой так не получится.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от kost-bebix

>>А так - молодцы, только почему Моно так развился? Неужели линуксоидам интересен C#?

Поддержка Ынтерпрайза. Плюс кстати моно - это не только C#.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

Ну джава вроде популярней для Ынтерпрайза, а моно рядом со словом энтерпрайз смотрится смешно (хотя может как оооочень долгосрочная перспектива). Понятно что это не только C#, но кого мы обманываем. Пока что даже C# не допилен.

kost-bebix ★★
()

Ну, теперь дело за малым - сопровождать все те баги которые отлавливаются в минорных версиях оригинального sqlite.

impfp
()

тут в пять раз, там в восемь раз, а вон там еще в три раза, и вот там вот, слева, тоже в четыре раза - и в итоге гном3 будет тормозным даже без нагрузки. зато моно, мигель одобряе, да.

З.Ы: имхо, Кеды могут спать спокойно)

mikhalich ★★
()
Ответ на: комментарий от AndreyKl

Обертки и инструментарий уже написаны, и в большом количестве и на любой вкус :)

impfp
()
Ответ на: комментарий от kost-bebix

>>Ну джава вроде популярней для Ынтерпрайза, а моно рядом со словом энтерпрайз смотрится смешно (хотя может как оооочень долгосрочная перспектива). Понятно что это не только C#, но кого мы обманываем. Пока что даже C# не допилен.

Стандарт C# там полностью реализован. Если ты о полной совместимости с .net - то это не основная цель проекта. А так, загляни на страницу и проектами на моно на сайте, Ынтерпрайз потихоньку втягивается, не в таких объемах как на джаве, но не все сразу. Перспективы есть.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от impfp

>>А Мигель здесь с какого боку? Неужто и для порта набыдлокодил?!

Нет, в этом порту он не участвовал. Но он все-таки координатор проекта моно.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от mikhalich

>>тут в пять раз, там в восемь раз, а вон там еще в три раза, и вот там вот, слева, тоже в четыре раза - и в итоге гном3 будет тормозным даже без нагрузки. зато моно, мигель одобряе, да.

Причем тут гном3 и моно? Обоснуй. И по поводу 5 раз: ты хоть представляешь, что значит 1.5 млн селектов в секунду?

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от kost-bebix

>моно рядом со словом энтерпрайз смотрится смешно

Ага, ага. В Новелле-то ухохатываются.

А вообще нафиг этот Sqlite сдался? Намного интересней была бы разработка распеределенного хранилища ключ-значение, в котором можно было бы хранить выражения C#.

Просто опять очередная серия impedance mismatch. А область применения реляционных баз данных достаточно специфична.

Macil ★★★★★
()
Ответ на: комментарий от MuZHiK-2

Самй прикол, что на офсайте есть файло и под линукс, а в моно - Mono.Data.SqliteClient В чем профит переписывания - непонятно :)

Вижу единственное применение, реально удобное - связка ADO.NET + in-memory sqlite. Но с т.з. архитектуры подобная связка будет костылем.

impfp
()
Ответ на: комментарий от Macil

>>тут в пять раз, там в восемь раз, а вон там еще в три раза, и вот там вот, слева, тоже в четыре раза - и в итоге гном3 будет тормозным даже без нагрузки. зато моно, мигель одобряе, да.

Насколько я понимаю, тут очень важная фича - это возможность использовать это в сильверлайте. Это все равно что использовать БД во флеше.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

> Дык это наоборот показатель того, что линакс все-таки давит на рынке, развивается и создает конкуренцию.

Для развития, т.е. прогресса, необходимы конкурирующие технологии, а не слепое следование одной из них. Хотя в свете последних новостей видно, что де Иказа пытается найти нишу для своего детища, а значит выйти на свою дорогу. Посмотрим, что получится.

asandros ★★
()

>чем у оригинального кода - порт примерно в 5 раз медленнее (это означает, что он способен обработать примерно 1.5 миллионов операций типа SELECT или 300 000 операций типа INSERT за секунду - очень достойные результаты).

Это все хорошо, а смысл?

Dudraug ★★★★★
()
Ответ на: комментарий от impfp

>>Вижу единственное применение, реально удобное - связка ADO.NET + in-memory sqlite. Но с т.з. архитектуры подобная связка будет костылем.

Одно из применений - это как раз и есть возможность вкомпиливать sqlite прямо в бинарник.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Dudraug

>>Это все хорошо, а смысл?

Неужели всю новость целиком сложно прочитать? Там все объяснено.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>Причем тут гном3 и моно

после байки про девелдистр на основе форсайта с шарпом и моно на борту я уже не сомневаюсь что моностайл и само моно будут доминировать в гноме3. а стиль этот, дает потерию проивзодительности при создании точной копии приложения\библиотеки. а библиотек и приложений в гноме не одна и не две. и наверняка под конец это все вылезет, и непонятно каким боком

>ты хоть представляешь, что значит 1.5 млн селектов в секунду?

хорошее заявление, поясни уж. как замеряется эта цифра, и что она непосредственно значит.

mikhalich ★★
()
Ответ на: комментарий от Valmont

>>+1. Плюсы для _линукса_ не раскрыты вобще.

Иногда мне кажется, что новость целиком вообще никто не читает. В линаксе есть версия сильверлайта - мунлайт. Теперь ты можешь в ней sqlite использовать.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от impfp

>>Прямой конкурент Perst.Net-у :)

В общем да, тем более sqlite местами очень хорош)

MuZHiK-2 ★★★★
() автор топика

Реквестирую ядро на моно!!!
Да, оно будет в 20 раз тормознее, но зато на моно. Мигель будет доволен!)))

CyberTribe ★★
()
Ответ на: комментарий от CyberTribe

>Да, оно будет в 20 раз тормознее, но зато на моно. Мигель будет доволен!)))

+1, я про тоже - профита мало, и он призрачен, а потери довольно впечатляют.

mikhalich ★★
()
Ответ на: комментарий от mikhalich

>>после байки про девелдистр на основе форсайта с шарпом и моно на борту я уже не сомневаюсь что моностайл и само моно будут доминировать в гноме3. а стиль этот, дает потерию проивзодительности при создании точной копии приложения\библиотеки. а библиотек и приложений в гноме не одна и не две. и наверняка под конец это все вылезет, и непонятно каким боком

Еще раз - гном3 и моно никак не связаны. Если тебе интересно - в гноме3 будет использоваться CouchDB, моно тут ни при чем. Можешь спать спокойно.

>>хорошее заявление, поясни уж. как замеряется эта цифра, и что она непосредственно значит.

Если ты не работал с БД и не видел серьезных проектов на них - объяснять бесполезно. Это не музыкальная коллекция.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>В линаксе есть версия сильверлайта - мунлайт. Теперь ты можешь в ней sqlite использовать.

Добро пожаловать в анальное рабство. Я прошу заметить, что Новелловцам глубоко параллельно, что там по этому поводу думает M$. У них соглашение заключено. А вот простым смертным... И сам факт GPLv2 only как бы намекает.

Macil ★★★★★
()
Ответ на: комментарий от mikhalich

>>кинь ссыль на сайт который использует силвер\мун лайты.

Возьми хотя бы sportbox.ru - иногда трансляции только там показывают. орт тоже переходило на сильверлайт.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Macil

>>Добро пожаловать в анальное рабство. Я прошу заметить, что Новелловцам глубоко параллельно, что там по этому поводу думает M$. У них соглашение заключено. А вот простым смертным... И сам факт GPLv2 only как бы намекает.

Это называется фанатизм и паранойя. Иногда лечится. Сама мс заинтересована в распространении .нет. Моно - не только .нет от мс - это намного больше. Даже если мс и кинет претензии - ну выкинут winforms, а остальное останется. Тот же sqlite.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

серьезный мужик с БД такой серьезный)

впрочем, про БД правда ваша. а вот с гномом я не был бы так уверен. нада качать девелоп сборку и смотреть.эхх

mikhalich ★★
()
Ответ на: комментарий от mikhalich

>>а вот с гномом я не был бы так уверен. нада качать девелоп сборку и смотреть.эхх

Об использовании моно в самом гноме3 и речи даже не было - здесь все отдается на откуп сторонним разработчикам. Ни в гномшелле, ни в цайтгайсте нету и упоминания о моно, так что по этому поводу можно не волноваться. Лишь бы сами разработчики справились с планами :)

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>Это называется фанатизм и паранойя.

Это называется смотри кому выгодно.

>ну выкинут winforms, а остальное останется

А если "претензии" возникнут к CLI?

Я просто приведу простой пример. Знаешь почему во всех православных дистрибутивах ШГ по-умолчанию? И для того чтобы было не ШГ первым делом нужно перекомпилировать freetype? Потому что существуют некие "запатентованные" инструкции байт-кода TrueType шрифта, которые осуществляют рассчет хинтинга. И без их использования на низких dpi и мелком кегле (читай на экране монитора) получается ШГ.

Идея в общих чертах понятна?

Macil ★★★★★
()
Ответ на: комментарий от MuZHiK-2

>Возьми хотя бы sportbox.ru - иногда трансляции только там показывают. орт тоже переходило на сильверлайт.

ну чтож, "абидна что не видна", но пока кроме того что доля силверлайта крайне мала и необходимости устанавливать мунлайт (говорят он остает на порядок,или не?) я не ощутил

mikhalich ★★
()
Ответ на: комментарий от Macil

>>Это называется смотри кому выгодно.

Моно выгоден всем. Это бесспорно.

>>А если "претензии" возникнут к CLI?

Дык есть же бумажка, что претензий не имеют. И тот же CLI описан в стандарте ECMA. Могут возникнуть претензии только в конкретным технологиям - типа винформс, дык это можно и выкинуть, на линаксе это не так критично, сейчас это просто в качестве бонуса.

>>Идея в общих чертах понятна?

Идея-то ясна, но в том же дебиане фритайп скомпилирован с байткодом. Ребята не заморачиваются на какой-то паранойе.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от Macil

>Потому что существуют некие "запатентованные" инструкции байт-кода TrueType шрифта

+1 хороший пример, возьму на вооружение)

mikhalich ★★
()
Ответ на: комментарий от mikhalich

>>ну чтож, "абидна что не видна", но пока кроме того что доля силверлайта крайне мала и необходимости устанавливать мунлайт (говорят он остает на порядок,или не?) я не ощутил

Зато я ой как ощутил во время последнего ЧМ по хоккею, когда многие матчи только на спортбоксе можно было в прямом эфире глянуть, да и ту же лигу 4х баскетбольную. А мунлайт вроде как если и отстает, то только на самую малость, но сильверлайт 2.0 уже реализован, смотреть можно.

MuZHiK-2 ★★★★
() автор топика
Ответ на: комментарий от MuZHiK-2

>Дык есть же бумажка, что претензий не имеют. И тот же CLI описан в стандарте ECMA.

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

>но в том же дебиане

у них свое видение относительно прав и законов, для ынтырпрайза неприемлемое)

>Моно выгоден всем. Это бесспорно.

а джава? Редмонду - да, выгодно. а если остальным так выгодно - чего ж пол сообщества так яростно сопротивляется?)

mikhalich ★★
()
Ответ на: комментарий от MuZHiK-2

>в дебиане фритайп скомпилирован с байткодом

Не верю! Почему-то в Федоре заморачиваются.

>И тот же CLI описан в стандарте ECMA

А когда M$ соблюдало стандарты? И что мешает сделать новую версию, частично совместимую с предыдущей, но уже без бумажек?

Вот создать организацию, которая бы занималась развитием стандарта .NET, куда будут входить различные заинтересованые стороны, вот это дело. Вот тогда можно и поговорить о какой-то заинтересованности в распространении. А пока, это все кажется какой-то феерически тупой подставой, еще тупее "дела SCO Group".

Macil ★★★★★
()

Бредово написанная новость, особенно впечатляет перл про 300.000 сферических коней в вакууме.

По ходу это не портирование, а переписывание - получается заголовок ни о чем.

По сабжу - хитрый пиаровский ход, конечно - теперь похоже будет отдельная ветка от sqlite - ребята решили внести свой вклад в глобальное потепление. Молодцы!

Spectr ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.