LINUX.ORG.RU

Вышла платформа Fabric Engine для скриптовых языков

 , ,


0

1

Fabric Engine — это платформа для скриптовых языков, которая позволяет ускорить их выполнение и использовать многопоточность более эффективно. Первый релиз поддерживает JavaScript и Python. Лицензия платформы AGPLv3. Она может быть использована как на серверной стороне, так и на стороне клиента (поддерживаются Firefox и Chrome), облачной инфрастуктуре.

Для достижения поставленной цели исходный скрипт преобразуется в код на языке KL. KL — строго типизированный язык, сходный с С. Скрипт, преобразованный в KL, транслируется в машинный код при помощи LLVM. Если в системе доступен GPU, то будет использован и он.

Как заявляет компания-разработчик, скорость приложения, запущенного на платформе, сопоставима с C++. Тестирование проводилось с использованием Node.js .
Примеры тестовых конфигураций и задач

Производитель считает, что эта разработка делает скриптовые языки вполне применимыми в области высокопроизводительных вычислительных задач (HPC). Можно отметить, что в этом направлении идет адаптация PyQt для Fabric Engine.

github репозиторий со стабильной версией
github репозиторий с нестабильной версией

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: pylin (всего исправлений: 2)

Модули к реализациям языков, позволяющие компилять в рантайме программы на вспомогательном языке, потому что из самих означенных языков выжать всю производительность машины невозможно by design. В какое интересное время мы живём.

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

потому что из самих означенных языков выжать всю производительность машины невозможно by design

Возможно. Но проще придумать еще один язычок уровня Cython и прогнать его через LLVM.

tailgunner ★★★★★
()

Так вобще интересует вопрос такого плана: у python весьма много расширений хотя бы тот же numpy поддерживается интеграциями с ними, учитывая что они написаны с применением C API это вызывает сомнения

pylin ★★★★★
() автор топика

Зачетная система должна быть. Спасибо за новость.

Халь что поддерживает пока только стареющего Удава, нужно давно уже было посмотреть в сторону Хаскеля и ФП в общем. Но за node.js им зачет.

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

А чем же он так стар то ? Наоборот за нарушения совместимости всегда норовят ругать )

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

нужно давно уже было посмотреть в сторону Хаскеля и ФП в общем

Їх нема чого прикрашать, вони і так гарні. (C) Лесь.

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

Хорош хоть в гроб клади, так что ли? )

pylin ★★★★★
() автор топика

Что-то всё слишком хорошо, чтобы в это верить. Не бывает так, чтобы просто всё начало летать. В чём подвох?

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

нужно давно уже было посмотреть в сторону Хаскеля и ФП в общем

В стороне Эрланга этой штуке делать нечего. Там эти детские проблемы отсутствуют, хоть решения и поначалу выглядят неудобными.

А вот Пёрл бы на таких костыликах забегал, наверное.

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

Я не по срокам оценивал, а по идеям и самой парадигме заложенной в декларативных языках, сама идея императивного программирования (ее использует не только новомодный Python) уступает парадигме декларативного программирования (Haskell, Prolog).

PS. Все таки компьютер должен быть помощником человека в его трудах и исследованиях, а не люди (программисты) рабами техники.

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

Каждой задаче свой инструмент, потому что все равно декларативные сидят на императивных, а императивные берут к себе идеи декларативных. Для того же пролога проблема скорости весьма и весьма существенна. Если же посмотреть на математические алгоритмы многие из них весьма императивны или сводятся довольно хорошо к таковым. Главное чтобы человек понимал ЧТО пишет

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

Точно если бы рассмотрели ФП (Хаскель) и к примеру хотя бы Эрланг, то и сабж позможно бы и не родился. Но кому то нужна была тема и видимо под нее был намечен и бюджет, вот и выбрали то, что позволяет побольше часов на разработку запросить и потом еще допиливать годами.

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

Боюсь причина в другом: слабая распространенность обоих языков, что не говорит о том что они плохие в принципе

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

Зачем делать велосипед если есть Parrot?

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

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

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

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

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

Потом если уж говорить о выгодах подхода пиши действия vs пиши цель действий опять все не так очевидно: компьютер это ж в своих действиях жуткий КО-императивщик, а потому использование императивного подхода на фазе обучения не даст слишком сильно отрываться от земли и строить воздушные замки . Посему полезно подходы комбинировать

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

Да железо по крайней мере до сих пор еще чисто императивное, поэтому некоторая прослойка кода для связи с железом на императивной парадигме (FFI) неизбежна, иначе не возможно прочно стоять замку на земле.

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

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

Этак и до луддитов недалеко, а сама природа вполне баловалась и балуется совмещением разных парадигм и ничего. Так же и в данном вопросе объединять что удобно и не вызывает сильных противоречий-так победим:)

pylin ★★★★★
() автор топика

Если в системе доступен GPU, то будет использован и он.

а если у пользователя, сидящего за компьютером есть ещё мобильник и кофеварка, будут ли также использованы и их вычислительные мощности?

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

на этот случай предусмотрен уже давно emacs

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

Плюсую, будущее за смешанными парадигмами и интеграцией.

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

Если будете использовать отпишитесь о результатах

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

там столько компромата что страшно подумать... Первое апреля-то кончится и народ поймёт что то были не шутки.

Кстати, вот тесты убедительно доказывающие превосходство fabric: http://fabricengine.com/wp-content/uploads/2012/02/fe_p_perf.png

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

мда, я перепутал красный и жёлтый цвета не легенде когда всё это писал... :)

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

Я бы даже поставил вопрос шире: труд программиста - труд ремесленника. На конвейере ничего не производится, как бы. И коль так, начинают работать банальные законы статистики: наиболее востребованным становится не самый эффективный ЯП, а ЯП с приемлемым соотношением между возможностями решения повседневных задач и сложностью изучения. Ну и конечно развитость инструментария тоже свою роль играет, но не совсем прямую.

В общем если так подумать, то скорее всего как раз наиболее эффективные ЯП будут наименее востребованы, поскольку сложность их изучения позволяет ими профессионально владеть только кучке адептов. (Хорошо! Пусть даже «могучей кучке» - хаскелевцы расслабьтесь, плиз *LOL*)

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

Так я это к тому, что, в общем, только *сравнительно* не сложные ЯП могут иметь шанс стать этаким стандартом «де факто» (это конечно не считая «исторических» ЯП вроде С/С++) Остальные умрут. Ничего личного - просто статистика.

anonymous
()

Уточните для недогоняющего меня: это уже 1-апрельская шутка, или ещё нет? Спасибо.

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

подхода пиши действия vs пиши цель действий

Таки на эрланге, как и на лиспе функции внутри - последовательности действий, конкретно описательный стить я только в хаскеле и прологе видел.

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

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

Университет не школа, и преподавать там должны прежде всего практики, лучшие из лучших. Педагогические таланты важнее в школе.

DNA_Seq ★★☆☆☆
()

Как заявляет компания-разработчик, скорость приложения... сопоставима с C++

Может, скорость разработки приложения, тогда уж?

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

Ну должны это одно, а то что наблюдается по факту это иное

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

Не шутка, git репозитории вполне живы и туда идут коммиты, кстати кажется разработчики используют Xcode

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

компьютер это ж в своих действиях жуткий КО-императивщик

Данное связано с фон Неймановской (фон Неймановско-гарвардской) архитетектурой применяемой сейчас и усиленно продвигаемой бизнесом, хотя потенциал масштабирования уже упирается в свой потолок.

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

anonymous
()
Ответ на: комментарий от AlexLorovitch

По ссылкам даты 15 и 20 марта... Так что вряд ли шутка

Спасибо.


ЗЫ: кто-же это такая параноичка, что всем подряд «я за бан ставит»? Во всех новостях которые смотрел «я за бан» обязательно стоит.

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

Я уж думал что в списке друзей будет пополнение ))

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

pypy теперь не нужно?

PyPy - инструмент другого уровня. Эта фабрика - скорее конкурент cython.

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