Вход | Регистрация

  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

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