Разработчики компании Google сообщили (http://blog.chromium.org/2010/03/native-client-and-web-porta...) о портировании для архитектур ARM и x86-64 платформы Native Client (http://code.google.com/p/nativeclient/), позволяющей (http://www.opennet.me/opennews/art.shtml?num=19308) выполнять в окне web-браузера обычные бинарные приложения, ограниченные в специальном изолированном окружении. Тестирование производительности показало, что собранные с использованием Native Client приложения выполняются в виртуальном окружении внутри браузера всего на 3% медленнее по сравнению с производительностью работы немодифицированных версий тех же программ.Портирование для архитектуры ARM интересно прежде всего открывающейся возможностью использования Native Client на смартфонах и портативных ПК, особенно построенных на основе недружелюбных для запуска бинарных исполняемых файлов мобильных платформ, таких как Palm webOS и Google Android. В настоящее время ведется работа по использованию д...
URL: http://blog.chromium.org/2010/03/native-client-and-web-porta...
Новость: http://www.opennet.me/opennews/art.shtml?num=25873
Конечно напоминает систему в системе, но интересно как там дела с 3Д ускорением и работой с сетью.
>и работой с сетью.ага, троян или спамилка в окне браузера это будет новое слово в технике :)
не знаешь - не гы-гыкай
последнее отбираешь
Кто-нибудь ещё сомневается в том, что светлое будущее наступило? Весь функционал бесплатно, и без зависимости от далёкого заокеанского сервера и его пинга...
А бывают ли мощные компьютеры с процессорами ARM?
Ты в самом деле или прикалываешься? Тебе ActiveX(Tm) но от Google(Tm) пихают (ага тот самый зонд) - а он "светлое бу!"Самый популярный плаг у лисы - NoScript. Жто для жабаскрипта то, а тут натив бегать будет.
активикс также похож нативклиент, как гконф на реестр.
1. у активикса не было никаких ограничений в системе - если уж вы его запустили, то он может всё тоже, что и обычная программа.
2. активикс работал только в ие. и только на виндах. и только на x86.ps:
в связи с этой новостью (а именно байт-код llvm) нативклиент можно сравнивать с java applet.
>Кто-нибудь ещё сомневается в том, что светлое будущее наступило?Да, чую я что pwnage явой и активиксами не закончится - благодаря гугле массово иметь будут и других :)
>Весь функционал бесплатно, и без зависимости от далёкого заокеанского
>сервера и его пинга...Не хотите с таким же энтузиазмом проверить на своей шкуре что будет если наступить в раскрытый канализационный люк? А то знаете, не все йогурты одинаково полезны. И нативный код в браузере - гм... MS и активиксы мы помним, спасибо. И число дыр в них. Там вон яву то ссыкотно запускать - вечно ее песочницу обходят как дважды два. А вы предлагаете нативный код. Сами запускайте. А лучше просто повесьте у сеья ssh и скажите нам рутовый пароль. То же самое но с меньшими мучениями для всех сторон процесса.
>А бывают ли мощные компьютеры с процессорами ARM?
Это в браузере то? oO
> А вы предлагаете нативный код. Сами запускайте.запустим. Только это не нативный код, а псевдонативный код в целях безопасности.
"инструкции при работе программы в Native Client не преобразовались в байткод виртуальной машины, а выполняются как есть, с максимально возможной производительностью"Для ... хммм ... для медленных - повторяю :)
ещё для более медленных:
>С точки зрения разработчика окружение Native Client выглядит как небольшая операционная система со своим, основанным на GCC, инструментарием для кросс-компиляции, частичной поддержкой POSIX и базовым мультимедийным API, который можно использовать для работы с аудио и видео, обрабатываться события от мыши и клавиатурыя бы тут изменил s/С точки зрения разработчика/С точки зрения разрабатываемого приложения/
и это не имеет никакого отношения к байт-коду llvm. который всё-равно станет точно таким же "нативным", но в момент выполнения. т.е. будет более тормозным, но не более.
>а псевдонативный код в целях безопасности.Видели мы это в яве уже. Стремнее запускать разве что нативные бинарники скачанные из интернета.
Чем эта теперь-по-сути-виртуальная-машина лучше/хуже JVM, в применении к задаче "безопасно и эффективно выполнять приложение в браузере на стороне клиента".
imho
1 быстрее
2 эффективнее к использованию RAMP.S. Использование существующих С/C++ библиотек.
Боюсь, что не все так просто и производительность может сильно зависеть от конкретного приложения.Вот тут довольно подробно разобран вопрос производительности Java vs C в разных случаях:
http://blogs.azulsystems.com/cliff/2009/09/java-vs-c-perform...Что касается NC, полагаю что производительность будет зависеть от того, какие системные вызовы использует приложение и как часто.
Что касается библиотек, для JVM тоже много полезных библиотек и очень богатое стандартное API.
уже больше 10 лет читаю подобные статьи, но java как была тормозом жрущим память и проц, так и осталась.
писать под неё проще. и всё.
где бы с ней не сталкивался (а писал не мало - от апплетов, до ынтырпрайс жаба бинс) везде траблы. при чём порой на ровном месте.
>Вот тут довольно подробно разобран вопрос производительности Java vs C в разных
>случаях:Здравый смысл подсказывает что всяческие рантайм проверки оптом и когда надо, и когда нафиг не впилось + возможность городить зубодробильные конструкции "одной левой" и не грея мозг резонно приводят к тормозам и жрачу памяти. И вообще, хороший софт (потребляющий мало ресурсов, предсказуемо, стабильно и безглючно работающий) - пишется по принципу KISS. Ява от этого принципа жутко далека - это огроменный монструозный рантайм, провоцирующий на юзеж наворотов без особого понимания последствий этого. Результат - предсказуем. Чисто теоретически, на яве можно написать вполне сносную программу (кроме случаев интенсивных вычислений и работы с памятью где рантайм проверки с поводом и без сажают все в разы). Чисто практически - проще найти снег в пустыне Сахара нежели нормальную программу на яве.
"Огроменный монструозный рантайм" — это большое количество библиотек (API) включенных в стандартный дистрибутив. Сама виртуальная машина устроена относительно просто (тем более, что она проектировалась с учетом работы на встраиваемых устройствах).Что касается рантайм проверок, при оптимизации JIT удаляет проверки, которые не могут быть нарушены. У JIT, кстати, больше возможностей для оптимизации, чем у AOT компиляторов, поскольку есть возможность использовать информацию о работе программы, полученную во время выполнения (в статье есть пример).
Вы бы по ссылке все-таки сходили, там не написано, что Java всегда быстрее или не хуже, чем C (и я этого не утверждал), там разобраны разные случаи.
>>Вот тут довольно подробно разобран вопрос производительности Java vs C в разных
>>случаях:
>
>Здравый смысл подсказывает<skipped/>
Здравый смысл не заменит опыт. Приложение аппликухе рознь.
> Тестирование производительности показало, что собранные с использованием Native Client
> приложения выполняются в виртуальном окружении внутри браузера всего на 3% медленнее по сравнению
> с производительностью работы немодифицированных версий тех же программ.Конечно, на 3% медленее, на 6 ядерном Оптероне, при 2.8GHz c 8Gb РАМы, чем на 400Mhz арме :)
Остается открытым только один вопрос. Нафига в этой цепочке браузер?
>Остается открытым только один вопрос. Нафига в этой цепочке браузер?Браузер - это теперь считай операционная система)
Из википедии:
-----------------
Операцио́нная систе́ма, ОС (англ. operating system) — базовый набор функций, обеспечивающий управление аппаратными средствами компьютера.ОС позволяет абстрагироваться от деталей реализации аппаратного обеспечения, предоставляя разработчикам программного обеспечения минимально необходимый набор функций. С точки зрения обычных пользователей компьютерной техники ОС включает в себя и программы пользовательского интерфейса.
-----------------Программное обеспечение тут - сайты и скрипты/виджеты.
А нормальная ОС (*nix, *bsd, *solaris, *windows) - это что-то типа биоса теперь =)
Нет уж, бутявиться с интернета и предоставлять свои данные на обработку кому-то-там где-то там - очень на любителя. Гугл это конечно круто, но если им на некие места наступят CIA, FBI и прочие милые конторы - они сдадут ваши данные как миленькие.Так что имхо лучше не создавать такой соблазн нежели потом расхлебывать последствия.
А ты предоставляй себе свои данные, и своему серверу... Я тоже противник высказанной выше мысли и всегда любил дистрибутивы Linux за то, что у них нет интеграции с Интернетом, в отличие от Windows. Соединишься - лампочки на модеме сразу мигают... Свои странички открывать проблемно с медленным соединением в первые минуты. Хотя автоматические обновления отключены, из программ установлены лишь фиксы безопаности и антивирус. А Linux использует Интернет только если я у него попрошу. Всегда.
ну тут уж каждый сам себе злостный буратино -хочешь запускай, хочешь нет.
но я вот о чём думаю, как бы мы не старались, всё равно подобные веб-приложения будут.
и уж если выбирать меньшее из зол, то этот мне нравится больше, чем например силверлайты и их ночные кошмары мунлайты.
>программа будет поставляться в виде байткода, который будет транслироваться на лету в машинный код целевой платформы средствами LLVMчем это отличается от жава ? почему LLVM даёт 3% потерть а про жаву кричат что в три раза медленнее ?