История изменений
Исправление
stevejobs,
(текущая версия)
:
я хз какие алгоритмы применяются в обратных задачах ;) Предлагаю написать пару очень маленьких хэлловорлдов на том и другом, и сравнить производительность, например.
Может оказаться, что фичи C++ таки будут тащить и жечь напалмом (хотя бы вот эта авто-параллелизациея и авто-векторизация, и возможность более просто без написания оберток обращаться к GPU, итп), против джавы где можно всё то же самое но придется серьезно побиться башкой об стену (например окажется, что ты так накодил кот, что у тебя там в stream() гоняются миллиарды объектов, которые жрут RAM тоннами, оптимизировать такое будет ничуть не проще, чем байтоёбствовать в крестах).
Ну и вообще, истинно байтоёбский код на Java не особенно отличается от такого же на C++ :))
Прикол в том, что в основном никто таким не занимается. Например, в ынтерпрайз-приложениях огромное количество времени ответа и ресурсов жрут вызовы БД и рендеринг в веб-интерфейс, когда у тебя творится такой цирк экономить RAM и такты не имеет никакого смысла.
Если у тебя не так, то многие «хорошие практики» могут резко оказаться не такими уж и хорошими
еще у меня есть друг-байтоёб, который очень котирует Фортран. Похоже, фортран действительно крут, но времени разобраться с этим никогда не было. Может имеет смысл добавить еще один бенчмарк рядом с C++ и Java - еще и Fortran.
олсо по «развернутому комментарию» выше. Для байтоёбства нужно изучать другое. Java Collections, NIO, Сoncurrency. Из книжек - Java Concurrency in Practice и Java VM Specification. Про коллекции нужно четко понимать, из чего они состоят, какую сложность работы имеют, какие ресурсы жрут. Почитать как работает GC, какие есть типы памяти (смотреть сразу Java8), почитать про off heap memory. Спринг, хибернейт и прочий шлак - в топку.
Исправление
stevejobs,
:
я хз какие алгоритмы применяются в обратных задачах ;) Предлагаю написать пару очень маленьких хэлловорлдов на том и другом, и сравнить производительность, например.
Может оказаться, что фичи C++ таки будут тащить и жечь напалмом (хотя бы вот эта авто-параллелизациея и авто-векторизация, и возможность более просто без написания оберток обращаться к GPU, итп), против джавы где можно всё то же самое но придется серьезно побиться башкой об стену (например окажется, что ты так накодил кот, что у тебя там в stream() гоняются миллиарды объектов, которые жрут RAM тоннами, оптимизировать такое будет ничуть не проще, чем байтоёбствовать в крестах).
Ну и вообще, истинно байтоёбский код на Java не особенно отличается от такого же на C++ :))
Прикол в том, что в основном никто таким не занимается. Например, в ынтерпрайз-приложениях огромное количество времени ответа и ресурсов жрут вызовы БД и рендеринг в веб-интерфейс, когда у тебя творится такой цирк экономить RAM и такты не имеет никакого смысла.
Если у тебя не так, то многие «хорошие практики» могут резко оказаться не такими уж и хорошими
еще у меня есть друг-байтоёб, который очень котирует Фортран. Похоже, фортран действительно крут, но времени разобраться с этим никогда не было. Может имеет смысл добавить еще один бенчмарк рядом с C++ и Java - еще и Fortran.
олсо по «развернутому комментарию» выше. Для байтоёбства нужно изучать другое. Java Collections, NIO, Сoncurrency. Из книжек - Java Concurrency in Practice и Java VM Specification. Про коллекции нужно четко понимать, из чего они состоят, какую сложность работы имеют, какие ресурсы жрут. Спринг, хибернейт и прочий шлак - в топку.
Исправление
stevejobs,
:
я хз какие алгоритмы применяются в обратных задачах ;) Предлагаю написать пару очень маленьких хэлловорлдов на том и другом, и сравнить производительность, например.
Может оказаться, что фичи C++ таки будут тащить и жечь напалмом (хотя бы вот эта авто-параллелизациея и авто-векторизация, и возможность более просто без написания оберток обращаться к GPU, итп), против джавы где можно всё то же самое но придется серьезно побиться башкой об стену (например окажется, что ты так накодил кот, что у тебя там в stream() гоняются миллиарды объектов, которые жрут RAM тоннами, оптимизировать такое будет ничуть не проще, чем байтоёбствовать в крестах).
Ну и вообще, истинно байтоёбский код на Java не особенно отличается от такого же на C++ :))
Прикол в том, что в основном никто таким не занимается. Например, в ынтерпрайз-приложениях огромное количество времени ответа и ресурсов жрут вызовы БД и рендеринг в веб-интерфейс, когда у тебя творится такой цирк экономить RAM и такты не имеет никакого смысла.
Если у тебя не так, то многие «хорошие практики» могут резко оказаться не такими уж и хорошими
еще у меня есть друг-байтоёб, который очень котирует Фортран. Похоже, фортран действительно крут, но времени разобраться с этим никогда не было.
Исходная версия
stevejobs,
:
я хз какие алгоритмы применяются в обратных задачах ;) Предлагаю написать пару очень маленьких хэлловорлдов на том и другом, и сравнить производительность, например.
Может оказаться, что фичи C++ таки будут тащить и жечь напалмом (хотя бы вот эта авто-параллелизациея и авто-векторизация, и возможность более просто без написания оберток обращаться к GPU, итп), против джавы где можно всё то же самое но придется серьезно побиться башкой об стену (например окажется, что ты так накодил кот, что у тебя там в stream() гоняются миллиарды объектов, которые жрут RAM тоннами, оптимизировать такое будет ничуть не проще, чем байтоёбствовать в крестах).
еще у меня есть друг-байтоёб, который очень котирует Фортран. Похоже, фортран действительно крут, но времени разобраться с этим никогда не было.