The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Hadoop установил новый мировой рекорд, opennews (?), 16-Май-09, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


19. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Volodymyr Lisivkaemail (?), 17-Май-09, 15:09 
> На С++ таки оно было бы существенно быстрее :)

http://scienceblogs.com/goodmath/2006/11/the_c_is_efficient_...

I decided to do an experiment. I wrote the LCS algorithm in a bunch of different languages, to compare how complex the code was, and how fast it ran. I wrote the comp bio algorithm in C, C++, OCaml, Java, and Python, and recorded the results. What I got timing-wise for running the programs on arrays of 2000 elements each was:

    * OCaml: 0.6 seconds *interpreted*, 0.3 seconds fully compiled.
    * C: 0.8 seconds.
    * Java: about 1 second for the JVM to start up, 0.7 seconds to run the code
    * C++: 2.3 seconds.
    * Python: over 5 minutes.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

24. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Zzz (??), 17-Май-09, 16:44 
Зачем одновремено давать ссылку и искажать те факты которые по этой ссылке есть:

*Java: 1 minute 20 seconds.

Ответить | Правка | Наверх | Cообщить модератору

25. "Hadoop установил новый мировой рекорд"  +1 +/
Сообщение от noname (??), 17-Май-09, 17:07 
А прочитать ниже было уже никак?
"About a year later, testing a new JIT for Java, the Java time was down to 0.7 seconds to run the code, plus about 1 second for the JVM to start up."
Ответить | Правка | Наверх | Cообщить модератору

41. "Hadoop установил новый мировой рекорд"  +/
Сообщение от User294 (??), 18-Май-09, 14:16 
>    * OCaml: 0.6 seconds *interpreted*, 0.3 seconds fully
>compiled.

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

Кстати сишные компилеры умеют генерить в некоторых ситуациях дерьмовый код.Если кто вдруг не знал - сюрприз! :D

Впрочем жабистам и прочим придуркам которые даже не имеют представления в какой именно код трансформируется их конструкция - простительно.Что с тупых и убогих взять?Они только на форумах бухтеть умеют, а "под микроскопом" тот бред выдаваемый компилером и JIT ни разу не видели все-равно.Там же высокие концепции!Взять кластеров на 4-ядерниках побольше - и вот вам мировой рекорд!Главное взять достаточно много машин :D

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

43. "Hadoop установил новый мировой рекорд"  +/
Сообщение от iZEN (ok), 18-Май-09, 14:34 
>Впрочем жабистам и прочим придуркам которые даже не имеют представления в какой
>именно код трансформируется их конструкция - простительно.

Что это, мы-то, как раз-таки, имеем представление в какой код транслируется байткод: на [i386] получается код x86, на [amd64] -- x86-64, на [sparc] -- код для risc-процессора SPARC, на [mips], очевидно же(!) -- код MIPS, на [arm] -- код ядра процессоров ARM, если нету пришлёпки Jazelle DBX.

Притом что байткод переносим между архитектурами без перекомпиляции исходников, а конкретная виртуальная машина оптимизирует выполнение "по месту" с учётом особенностей CPU (длина конвеера, количество РОН, размер кэша, объём оперативной памяти). Количество аппаратных параметров, которые учитываются JVM для обеспечения такой же скорости исполнения как и у блобов, полученных методом красноглазой оптимизации исходников C++, не так много, но они важны для выбора правильной стратегии GC и тем самым влияют на общий отклик java-приложения. Некоторые java-приложения замахиваются даже на реал-тайм режим исполнения (Oracle/BEA JRockit JVM, IBM J9).

>Что с тупых и убогих
>взять?Они только на форумах бухтеть умеют, а "под микроскопом" тот бред
>выдаваемый компилером и JIT ни разу не видели все-равно.Там же высокие
>концепции!Взять кластеров на 4-ядерниках побольше - и вот вам мировой рекорд!Главное
>взять достаточно много машин :D

Кто там говорил, что микроядро всё время будет проигрывать монолитному ядру в эффективности? Торвальдс(tm), кажется. Так напишите Hadoop на C/C++, чтобы доказать обратное. :))


Ответить | Правка | Наверх | Cообщить модератору

44. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Volodymyr Lisivkaemail (?), 18-Май-09, 15:06 
>Кто там говорил, что микроядро всё время будет проигрывать монолитному ядру в
>эффективности? Торвальдс(tm), кажется. Так напишите Hadoop на C/C++, чтобы доказать обратное.
>:))

MapReduce очень просто реализовать на чём угодно, хоть на bash-е. Есть уже готовые реализации на многих языках (просто поищи, например в QT 4.4.x она уже есть: QFuture mappedReduced(list, mapFunction, reducefunction) ). Основная проблема здесь в управляющей логике, которая должна эфективно разбивать на подзадачи, поддерживать высокий уровень надёжности и минимизировать блуждание данных по кластеру без нужды, иначе сетевая подсистема станет узким местом.

Проблема именно в *алгоритме* *управляющих* серверов.

Ява просто позволила найти достаточно толковых энтузиастов, которые оттюнили этот алгоритм. Перенести готовые наработки на другой язык - не проблема. Можна даже просто скомпилировать Cи++ и Яву в один бинарник при помощи gcj и не парится. Скорости от этого не прибавится - статическая оптимизация _сейчас_ проигрывает динамической.

Ответить | Правка | Наверх | Cообщить модератору

45. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Volodymyr Lisivkaemail (?), 18-Май-09, 16:19 
>>Кто там говорил, что микроядро всё время будет проигрывать монолитному ядру в
>>эффективности? Торвальдс(tm), кажется. Так напишите Hadoop на C/C++, чтобы доказать обратное.
>>:))
>
>MapReduce очень просто реализовать на чём угодно, хоть на bash-е.

Вот, кстати, примитивная реализация Hadoop (раскидывание задач по кластеру) на bash-e:
http://blog.last.fm/2009/04/06/mapreduce-bash-script
http://github.com/erikfrey/bashreduce/blob/master/br (3 страницы кода).

PS.
Чел ищет сипласпласника... :-)

Ответить | Правка | Наверх | Cообщить модератору

48. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Аноним (-), 18-Май-09, 19:16 
>Скорости от этого не прибавится - статическая оптимизация _сейчас_
>проигрывает динамической.

User294 считает по другому! Не было разрывов, не было!!!

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

46. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Marinov (?), 18-Май-09, 16:28 
Only in your dreams JAVA could be faster than C++ :)
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

47. "Hadoop установил новый мировой рекорд"  +/
Сообщение от Volodymyr Lisivkaemail (?), 18-Май-09, 17:38 
>Only in your dreams JAVA could be faster than C++ :)

http://www.mail-archive.com/hadoop-user@lucene.apache.o...

MapReduce in C++ vs MapReduce in Java

... Java version was about 4 times quicker. ...

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру