С википедии: Some open source projects such as FreeBSD or Linux, have included FreeType with font hinting functionality disabled or degraded to avoid the issue of software patents held by Apple Incorporated.
Эти патенты только недавно истекли (об этом новость на главной странице проекта)
> Есть предположение, что тормоза и аппетиты нативных реализаций на python являются следствием immutable типов данных, которые копируются при каждом изменении.
Это проблема невпихуемости невпихуемого :) То есть рантайм Питона не приспособлен к работе с такими данными и, видать, GC тупит.
«Более того, Erlang проводит некоторые дополнительные оптимизации. При использовании erlang:split_binary/2 или при извлечении данных при помощи сопоставления с образцом результат не обязательно является новым binary. Вместо этого VM создает новый тип под названием sub-binary, который на деле является ссылкой на оригинальные данные — на heap binary или на refc-binary.»
Из-за этого, видать, потребление памяти относительно низкое — все лежит в одном большом двоичном куске и расходы только на указатели
1. Емнип, сами парсеры разной сложности, из-за чего может быть разброс по памяти скорости и т.п. То есть если какой-то парсер в процессе еще жнет, шьет и на дуде играет, то… Но я не спец по этим парсерам, поэтому ничего не смогу сказать
2. Erlang порадовал, сам не ожидал, но, не глядя в код, можно сделать следующие предположения:
— файл считывается, как binary, после чего вычленение нужных участков становится во-первых легким (google: erlang bit syntax), а во-вторых эффективным (см. пункт 3)
3. Про «копирование всего и вся» и память
— из-за немутабельности данных сборщик мусора с одной стороны простой, с другой — эффективный. Никаких stop-the-world и прочего, неиспользованные данные убираются из памяти весьма оперативно
— Для большинства данных в пределах одного процесса копируется только указатель на структуру, содержащую данные, а сами данные упакованы весьма эффективно. При передаче из процесса в процесс данные копируются
— В случае двоичных данных больше определенного размера эти данные существуют в одном экземпляре на ноду (не процесс, а именно ноду), и повсюду передается только указатель на эти данные.
Поэтому потребление памяти может быть весьма маленьким по сравнению с другими участниками
4. Оверхед на запуск — есть такое, потому что запускается много придожений и подгружается много кода. Можно сделать минимальную систему, запускающую только полтора приложения и т.п., но в реальном приложении это не так критично, потому что VM запускается один раз, а потом работает до скончания времен
5. Есть еще sax-парсеры для Эрланга (как и для других языков), по идее они должны смочь обработать невалидный HTML
Все производители принтеров продают картриджи чуть ли не по цене принтеров (HP в этом плане особо отличается). В Штатах попытались продавить, что перезаправка картриджей нелегальна по DMCA. Не помню, удалось ли. А вот в Европе их послали нахер.
> Но не факт, что так удобно хранить сами графы =)
> Я пробовал, никакого профита не получил.
Может не так пробовали? ;)
Базы данных, предназначенные для хранения графов, подходят для ваших задач намного лучше, чем реляционные базы, в которых надо нехило извращаться, чтобы задавать простейшие (с точки зрения графа) запросы.
Абсолютная синтетика, странные реализации для большого количества тестов. Полезность этих бенчмарков — чуть-чуть выше нуля. Разве что убедиться, что, например, JS хуже подходит для number crunching, чем C/C++. А мы этого раньше не знали?
> он еще должен стать крупным, и заинтересовать кого-то кто будет платить основным разработчикам.
В Линуксе это давным давно произошло. Все основные крупные проекты опенсорса пилятся коммерческими компаниями или на деньги коммерческих компаний
> Сбилдить самому так-же ничего не мешает.
Вот она — технарское тупое непонимание проблемы. Чтобы стать мало-мальски популярным в негиковской среде надо впервую очередь избавиться от «сам сбилдит» и прочих технарских штучек. Потому что обыкновенному пользователю это даром не нужно, как и процессов выбирания между дистрибутивами, DM'ами, пакетными менеджерами и т.п.
Шаттлворт в Убунте это понимает и, как я уже сказал выше, старательно двигает все это болото
> Популярнейшие дистры (Linux Mint и Ubuntu (*ubuntu)) замечательно совместимы.
Решили наугад взять дистрибутивы и заявить об их совместимости. Браво.
> а поддерживать проект и разгребать всякие pull request'ы в свободное время, за бесплатно — нет.
Крупные опенсорс-проекты уже давно забесплатно не развиваются
А вот то, что они никак не могут собраться и договориться о единстве и постоянстве — это да. Одна только Убунту на деньги Шаттлворта все это болото куда-то пытается тянуть, с переменным успехом.
> А на кой юзерам не входящим в коммьюнити тратить время и страдать от проблем?
Этот вопрос, вообще-то, зада я. Пусть и в завуалированной форме. Пока всего этого «появится в 3-4 версии, можно будет залить внутрь ОС» и т.п. не будет, не будет никакого «всем бояться, будем отгрызать кусок рынка у iOS и Андроид».
Это относится не только к Tizen, естественно.
Судя по минусам, хаброгики это банально понять не могут.
> И FirefoxOS и Tizen — операционки только находящиеся в разработке.
Samsung's collaboration with the Enlightenment project and especially Carsten Haitzler was known as LiMo for years. It was renamed Tizen when Intel joined the project in September 2011 after leaving the MeeGo project.
Тизен (LiMo) разрабатывается с 2007-го года. Интел в этом участвует уже 2 года. Правда, у Интеля есть опыт в развитии быстро забрасываемых ими же проектов.
> Проблемы мододелов, девелоперов, но не юзеров.
О да, конечно. Только вот:
— устройств с Тизеном нет и не предвидится. То есть юзеры, у которых нет проблем, должны сами эту поделку устанавливать
— поддержка нативных приложений есть только через указанный вами выше ACL, который — СЮРПРИЗ — не имеющим проблемы пользователям придется усанавливать самим
Но да, вы что, проблемы девелоперов, а не юзеров, вы что.
Повторю еще раз: я написал 4 пункта. Три из них — реальные вопросы, на которые нет ни одного внятного ответа. Я, конечно, понимаю технарскую обиду, но, извините, релаьность такова, что пока ответы на эти вопросы не появятся, единственный путь этих проектов — только и строго на помойку.
Это называется «при помощи говна и палок». Не является частью основной системы. Пункт третий из моего списка
> По поводу нативности — что мешает запустить линуксовое приложение?
Запустить кому? Если Тизен наружу выставляет только HTML5, то расскажите, что и как вы собираетесь запускать.
> С графикой похуже, но пишите под Enlightenment и запускайте.
Пункт третий моего списка.
Гики и технари, видать, на генетическом уровне неспособны понять, что всем этим «установить то, установить это, написать третье, скачать десятое» будут заниматься только такие же технари.
Нет, если это и есть цель всех этих ОСей — вперед, слова не скажу, только не надо рассказывать сказки про «забирание рынка у iOS/Android» и проч.
«Tizen provides a robust and flexible environment for application developers, based on HTML5. The Tizen SDK and API allow developers to use HTML5 and related web technologies to write applications that run across multiple device segments.»
Эти патенты только недавно истекли (об этом новость на главной странице проекта)
Ну и у Apple'а до OS X был собственный TrueType
Интересно, где и как он там используется…
Это проблема невпихуемости невпихуемого :) То есть рантайм Питона не приспособлен к работе с такими данными и, видать, GC тупит.
Таки на участки исходного binary. См. erlanger.ru/ru/page/2431/erlang-binaries-i-sborka-musora-i-tyazhelyj-vzdoh
«Более того, Erlang проводит некоторые дополнительные оптимизации. При использовании erlang:split_binary/2 или при извлечении данных при помощи сопоставления с образцом результат не обязательно является новым binary. Вместо этого VM создает новый тип под названием sub-binary, который на деле является ссылкой на оригинальные данные — на heap binary или на refc-binary.»
Из-за этого, видать, потребление памяти относительно низкое — все лежит в одном большом двоичном куске и расходы только на указатели
2. Erlang порадовал, сам не ожидал, но, не глядя в код, можно сделать следующие предположения:
— файл считывается, как binary, после чего вычленение нужных участков становится во-первых легким (google: erlang bit syntax), а во-вторых эффективным (см. пункт 3)
3. Про «копирование всего и вся» и память
— из-за немутабельности данных сборщик мусора с одной стороны простой, с другой — эффективный. Никаких stop-the-world и прочего, неиспользованные данные убираются из памяти весьма оперативно
— Для большинства данных в пределах одного процесса копируется только указатель на структуру, содержащую данные, а сами данные упакованы весьма эффективно. При передаче из процесса в процесс данные копируются
— В случае двоичных данных больше определенного размера эти данные существуют в одном экземпляре на ноду (не процесс, а именно ноду), и повсюду передается только указатель на эти данные.
Поэтому потребление памяти может быть весьма маленьким по сравнению с другими участниками
4. Оверхед на запуск — есть такое, потому что запускается много придожений и подгружается много кода. Можно сделать минимальную систему, запускающую только полтора приложения и т.п., но в реальном приложении это не так критично, потому что VM запускается один раз, а потом работает до скончания времен
5. Есть еще sax-парсеры для Эрланга (как и для других языков), по идее они должны смочь обработать невалидный HTML
> Я пробовал, никакого профита не получил.
Может не так пробовали? ;)
Базы данных, предназначенные для хранения графов, подходят для ваших задач намного лучше, чем реляционные базы, в которых надо нехило извращаться, чтобы задавать простейшие (с точки зрения графа) запросы.
skillsmatter.com/podcast/nosql/an-introduction-to-cypher-for-sql-folks (к сожалению, качество видео очень плохое, но, например, на 19:57 и т.п.) ну и вообще www.neo4j.org/learn
Ну, с вами точно не о чем. Вы решили наугад взять два первых дистрибутива. Почему не три? Не четыре? Не пять?
Ну и достаточно почитать описание для каждого продукта, чтобы понять, что для конечного пользователя (не-технаря) все не так радужна, как хотелось бы
В Линуксе это давным давно произошло. Все основные крупные проекты опенсорса пилятся коммерческими компаниями или на деньги коммерческих компаний
> Сбилдить самому так-же ничего не мешает.
Вот она — технарское тупое непонимание проблемы. Чтобы стать мало-мальски популярным в негиковской среде надо впервую очередь избавиться от «сам сбилдит» и прочих технарских штучек. Потому что обыкновенному пользователю это даром не нужно, как и процессов выбирания между дистрибутивами, DM'ами, пакетными менеджерами и т.п.
Шаттлворт в Убунте это понимает и, как я уже сказал выше, старательно двигает все это болото
Решили наугад взять дистрибутивы и заявить об их совместимости. Браво.
> а поддерживать проект и разгребать всякие pull request'ы в свободное время, за бесплатно — нет.
Крупные опенсорс-проекты уже давно забесплатно не развиваются
А вот то, что они никак не могут собраться и договориться о единстве и постоянстве — это да. Одна только Убунту на деньги Шаттлворта все это болото куда-то пытается тянуть, с переменным успехом.
Этот вопрос, вообще-то, зада я. Пусть и в завуалированной форме. Пока всего этого «появится в 3-4 версии, можно будет залить внутрь ОС» и т.п. не будет, не будет никакого «всем бояться, будем отгрызать кусок рынка у iOS и Андроид».
Это относится не только к Tizen, естественно.
Судя по минусам, хаброгики это банально понять не могут.
Samsung's collaboration with the Enlightenment project and especially Carsten Haitzler was known as LiMo for years. It was renamed Tizen when Intel joined the project in September 2011 after leaving the MeeGo project.
Тизен (LiMo) разрабатывается с 2007-го года. Интел в этом участвует уже 2 года. Правда, у Интеля есть опыт в развитии быстро забрасываемых ими же проектов.
> Проблемы мододелов, девелоперов, но не юзеров.
О да, конечно. Только вот:
— устройств с Тизеном нет и не предвидится. То есть юзеры, у которых нет проблем, должны сами эту поделку устанавливать
— поддержка нативных приложений есть только через указанный вами выше ACL, который — СЮРПРИЗ — не имеющим проблемы пользователям придется усанавливать самим
Но да, вы что, проблемы девелоперов, а не юзеров, вы что.
Повторю еще раз: я написал 4 пункта. Три из них — реальные вопросы, на которые нет ни одного внятного ответа. Я, конечно, понимаю технарскую обиду, но, извините, релаьность такова, что пока ответы на эти вопросы не появятся, единственный путь этих проектов — только и строго на помойку.
Это называется «при помощи говна и палок». Не является частью основной системы. Пункт третий из моего списка
> По поводу нативности — что мешает запустить линуксовое приложение?
Запустить кому? Если Тизен наружу выставляет только HTML5, то расскажите, что и как вы собираетесь запускать.
> С графикой похуже, но пишите под Enlightenment и запускайте.
Пункт третий моего списка.
Гики и технари, видать, на генетическом уровне неспособны понять, что всем этим «установить то, установить это, написать третье, скачать десятое» будут заниматься только такие же технари.
Нет, если это и есть цель всех этих ОСей — вперед, слова не скажу, только не надо рассказывать сказки про «забирание рынка у iOS/Android» и проч.
«Tizen provides a robust and flexible environment for application developers, based on HTML5. The Tizen SDK and API allow developers to use HTML5 and related web technologies to write applications that run across multiple device segments.»
Слово «нативный» там используется… нигде