Вход | Регистрация
    1  2  3  4  5  6

И снова Java

↓ [длинная ветка, 14.09.16 - 23:49]
И снова Java
Я
   Одинесю
 
07.09.16 - 21:40
Добрый вечер, ребятушки. Так случилось, что то, что учил и то, что нравилось не востребовано теперь. Может возраст. Сижу, читаю джаву, яву, ну как там ее. Захватило, интересно. Вижу многое сходство с 1С. Ну, это так - лирика. Вспомнил, что заводили тему о создании ветки по Я(Джа)ве, но не увидел. Хотел спросить знающих - по каким материалам лучше учиться. Прочитал (почти) Философия Явы, но там как-то сухо, применения не акцентируются. Подскажите, кто как выходил на сие чудо?
   Garykom
 
501 - 14.09.16 - 23:46
(496) куда дели finalize() ?
   Jija Grenkov
 
502 - 14.09.16 - 23:48
(499) хотя написано что в сервер. Ну в этом тесте 20-30% как я писал.
(501) про него и речь
   Garykom
 
503 - 14.09.16 - 23:49
(502) ну да обычно close() делают и явно вызывают когда объект уже не нужен
   Torquader
 
504 - 14.09.16 - 23:51
(502) Там, скорей всего, компилятор gcc и g++ в режиме оптимизации - он нехилый прирост производительности даёт на вычислениях за счёт того, что следит, что будет в кеше, а что там не нужно.
   Jija Grenkov
 
505 - 14.09.16 - 23:52
   Loky9
 
506 - 14.09.16 - 23:54
(502) там за 50%
   Torquader
 
507 - 14.09.16 - 23:55
Просто, если при компиляции Си программы поставить register variable off, то есть вероятность, что Java даже обгонит Си.
   Jija Grenkov
 
508 - 14.09.16 - 23:56
(504) Да там одно попадание не попадание в кэш линию будет давать результат который отличается в 2 раза.
   Garykom
 
509 - 15.09.16 - 00:03
(507) Как бы Java в тестах и так обогнала куда еще то?
   Torquader
 
510 - 15.09.16 - 00:06
Кстати, а эти "чудики" в тестах смухлевали - у них Си идёт в 32-бита (нигде не написано 64), а Java 64, то есть считай, См дали кеш в два раза больший.
   Jija Grenkov
 
511 - 15.09.16 - 00:08
Мы ходим в обсуждениях по кругу. При измерении скорости сферического коня в вакууме как правило с++ обгонит джаву. Но в реальных больших приложениях будет наоборот.
(510) в каких?
   Jija Grenkov
 
512 - 15.09.16 - 00:11
   Loky9
 
513 - 15.09.16 - 00:12
(511) Игровой движок для ААА - реально большое приложение?
   Jija Grenkov
 
514 - 15.09.16 - 00:12
такие тесты есть. Вот если поискать можно любой результат найти
   Loky9
 
515 - 15.09.16 - 00:13
(510) NOTES:
64-bit Ubuntu quad core
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609

Sat, 23 Apr 2016 17:41:30 GMT

MAKE:
/usr/bin/g++ -c -pipe -O3 -fomit-frame-pointer -march=native -mfpmath=sse -msse3 --std=c++11 nbody.gpp-7.c++ -o nbody.gpp-7.c++.o &&  \
        /usr/bin/g++ nbody.gpp-7.c++.o -o nbody.gpp-7.gpp_run -fopenmp
rm nbody.gpp-7.c++
0.81s to complete and log all make actions

COMMAND LINE:
./nbody.gpp-7.gpp_run 50000000

PROGRAM OUTPUT:
-0.169075164
-0.169059907

Другие пока не смотрел
   Jija Grenkov
 
516 - 15.09.16 - 00:13
(513) Я вообще не знаю что это такое. И с чем его сравнивать?
   Loky9
 
517 - 15.09.16 - 00:15
(516) Можешь посмотреть https://www.unrealengine.com/what-is-unreal-engine-4
   Torquader
 
518 - 15.09.16 - 00:18
(515) Я просто не увидел флага -m64 вот и удивился.
   Jija Grenkov
 
519 - 15.09.16 - 00:21
Вот свежачек, причем коменты можно почитать. https://blog.famzah.net/2016/09/10/cpp-vs-python-vs-php-vs-java-vs-others-performance-benchmark-2016-q3/
   Torquader
 
520 - 15.09.16 - 00:30
(519) Да, прикольно - Си++:оптимизация компилятора - прирост производительности в два раза - я даже не ожидал.
И питон очень хорошо себя показывает.
   Garykom
 
521 - 15.09.16 - 00:31
(519) Вот очень похоже на реальность. Когда оптимизированный C++ почти наравне с Java без "тяжелых либ". А не оптимизированный C++ уступает это шустрой Java.

Но что обычные Java 8 либы тормозят ее вусмерть ((
   Loky9
 
522 - 15.09.16 - 00:34
Там ещё не -O3 с её -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload -ftree-vectorize
   Torquader
 
523 - 15.09.16 - 00:34
(521) Что-то там не так - я не верю, что обычная Java оказалась медленнее php !!!
   Jija Grenkov
 
524 - 15.09.16 - 00:38
(523) для джавы понятие обычная = работающая в режиме интерпритатора и уже если совсем часто один и тот же код вызывает jvm может скомпилить его
   Garykom
 
525 - 15.09.16 - 00:39
(523) Java 8 (non-std lib) vs Java 8
   Garykom
 
526 - 15.09.16 - 00:41
(525)+ Блин ну смысл что в Java есть нечто вроде "Core" и есть нечто вроде "классов .Net".

И вот эти классы тормозят просто офигительно, потому что они наваяны на java и исполняются ею в рантайме.
   Torquader
 
527 - 15.09.16 - 00:41
В данном случае, я бы сказал, что язык "Go", показал себя лучше всех, так как к нему никаких "нестандартностей" не применялось.
   Garykom
 
528 - 15.09.16 - 00:43
(526)+ Отличие от к примеру .Net/Mono где классы написаны на C++ ))

Но офигенный плюс Java что почти всегда можно "залезть в исходники" родных JavaSE и JavaEE и посмотреть/подправить если очень нуна
   Torquader
 
529 - 15.09.16 - 00:44
Но, в Go всё прикольно - функция может возвращать несколько значений сразу - не стали морочиться ни с указателями ни с исключениями - просто и ясно - как в SQL - хотите несколько значений - вот вам.
   Garykom
 
530 - 15.09.16 - 00:44
(526)+ Кстати картинка очень похожая сча с JS/NodeJS когда само ядро/база дико шустрые, а вот дополнительные либы сильно тормозят ((
 
 Рекламное место пустует
   Torquader
 
531 - 15.09.16 - 00:45
(530) Я бы сказал, что в (519) nodejs даже java перегнал.
   Torquader
 
532 - 15.09.16 - 00:46
(528) Ну, залезть в исходники можно везде - только вот нужно ли, если нужен язык, который быстро работает.
   Jija Grenkov
 
533 - 15.09.16 - 01:04
(526) Там паренек из комментариев просто переписал все на массивы и примитивы.
   Jija Grenkov
 
534 - 15.09.16 - 01:05
никакой магии там нет
   Jija Grenkov
 
535 - 15.09.16 - 01:08
Даже out of heap memory не юзали
   Loky9
 
536 - 15.09.16 - 01:26
-O3 тут ничего не дала, зато раскомментирование
s.resize( static_cast<int>(n/2) ); // pre-allocate memory
уносит в космос
   Jija Grenkov
 
537 - 15.09.16 - 01:42
(530) нода в реальной жизни значительно медленнее джавы. И нет никаких причин что бы было подругому. Нода это побыстрому наваять микросервисы в местах где перформанс не важен.
Вот реальные тесты https://www.linkedin.com/pulse/nodejs-vs-java-which-faster-apis-owen-rubel
Скорее всего GO будет показывать хорошую производительность в реальных приложениях. Там тоже продвигают философию микросервисов, но пока нет нормальных инструментов разработки и отладки
   Кирпич
 
538 - 15.09.16 - 09:24
(529) "функция может возвращать несколько значений сразу - не стали морочиться ни с указателями ни с исключениями"
Фиг с ними с указателями, но отсутствие исключений и дребедень с несколькими значениями из функций - пожалуй единственное, что портит этот язык. Жалко еще, что dll не делает, но это наверное добавят(может уже добавили).
   Сниф
 
539 - 15.09.16 - 13:30
(537) <И нет никаких причин что бы было подругому>
А почему? Ядро Node.js написано на C++, только "морда" на JS.
ИМХО, скорость определяется способ, каким организовано хранение данных - тип БД, структура БД. Но я не спец, я только учусь)
   transducer
 
540 - 20.09.16 - 11:52
А меж тем, платформа то развивается
https://habrahabr.ru/company/haulmont/blog/310148/
Опенсорс, для тех кому это важно.
  1  2  3  4  5  6

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.