Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 18 19 20 21 22 [23] 24 25 26 27 .. 29   вперед  Ctrl
 Re: В какую сторону движется C++?  [new]
CEMb
Member

Откуда: Столько
Сообщений: 1963
Basil A. Sidorov
Собственно, оверхед ("на память" или любой другой) определяется исключительно головой разработчика и слабо зависит от языка реализации.
Там проблема в как раз в головах разработчиках. Ява быстро обросла библиотеками и фреймворками, которые жрут ресурсы, всё это становится основанием для разработки следующих проектов, которые весят ещё больше, и так далее. Само собой, можно делать на яве микроскопические вещи(на обычной телефонной симке стоит ява. На симке. Не на телефоне. Ява), но я говорил про общие тенденции.
4 дек 17, 11:24    [21003552]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
CEMb
Ява быстро обросла библиотеками и фреймворками, которые жрут ресурсы
Это общая проблема. Вас же не напрягает, что boost требуется собрать для каждого приложения, которое его использует?
Ну и "жрут ресурсы" для среды с тотальной динамической компоновкой - требует несколько больше обоснований, чем "ну это же очевидно".
4 дек 17, 20:41    [21005512]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
Basil A. Sidorov
CEMb
Ява быстро обросла библиотеками и фреймворками, которые жрут ресурсы
Это общая проблема. Вас же не напрягает, что boost требуется собрать для каждого приложения, которое его использует?
Ну и "жрут ресурсы" для среды с тотальной динамической компоновкой - требует несколько больше обоснований, чем "ну это же очевидно".
Ты опять?
Прошлый раз кончилось, что ты сказал, что пофиг сколько памяти, я же не каждую секунду программу загружаю.

Коэффициент был >5
4 дек 17, 21:30    [21005609]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Siemargl
Ты опять?
Поймёте разницу между "адресное пространство", "выделенная память" и "рабочий набор" - можем побеседовать более предметно. Но тогда, наверное, уже не потребуется.
4 дек 17, 21:38    [21005624]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
Basil A. Sidorov
Siemargl
Ты опять?
Поймёте разницу между "адресное пространство", "выделенная память" и "рабочий набор" - можем побеседовать более предметно. Но тогда, наверное, уже не потребуется.
Впятеро было именно по ворксету. На ВМ явы даже смотреть страшно, но это и вправду временно пофиг =)
4 дек 17, 21:57    [21005659]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Siemargl
На ВМ явы даже смотреть страшно
А на shell32.dll - не страшно?
+ вы просто не умеете их готовить
public class Test {
  public static void main(String[] args) {
    Runtime rt = Runtime.getRuntime();
    long memTotal = (rt.maxMemory() + 512*1024)/1024/1024;
    long memFree = (rt.freeMemory() + 5124*1024)/1024/1024;
    System.out.println("Memory (Mb): Total - " + memTotal + ", Free - " + memFree);
    try { System.in.read(); }
    catch ( java.io.IOException e ) {}
  }
}
 VM settings:
Min. Heap Size: 8.00M
Max. Heap Size: 8.00M
Ergonomics Machine Class: client
Using VM: Java HotSpot(TM) 64-Bit Server VM
Memory (Mb): Total - 8, Free - 11
Три последних числа в строчке диспетчера задач - байты ввода/вывода (прочитано, записано и прочих байт).

К сообщению приложен файл. Размер - 20Kb
4 дек 17, 22:16    [21005690]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
Basil A. Sidorov
Siemargl
На ВМ явы даже смотреть страшно
А на shell32.dll - не страшно?
+ вы просто не умеете их готовить
public class Test {
  public static void main(String[] args) {
    Runtime rt = Runtime.getRuntime();
    long memTotal = (rt.maxMemory() + 512*1024)/1024/1024;
    long memFree = (rt.freeMemory() + 5124*1024)/1024/1024;
    System.out.println("Memory (Mb): Total - " + memTotal + ", Free - " + memFree);
    try { System.in.read(); }
    catch ( java.io.IOException e ) {}
  }
}
 VM settings:
Min. Heap Size: 8.00M
Max. Heap Size: 8.00M
Ergonomics Machine Class: client
Using VM: Java HotSpot(TM) 64-Bit Server VM
Memory (Mb): Total - 8, Free - 11
Три последних числа в строчке диспетчера задач - байты ввода/вывода (прочитано, записано и прочих байт).

Ну очевидно, чтобы запустить хелловорлд пришлось прочитать 4Мб. И занял он 22Мб памяти.

А shell32 хотя и смаплена в память целиком, в реальности использует 132Кб.

Все верно?
4 дек 17, 23:18    [21005782]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
Fix. Shell32 занимает 236Кб
4 дек 17, 23:19    [21005785]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Siemargl
Все верно?
Почти. Из 22 мегабайт собственно JVM занимает менее половины.
Но я бы хотел увидеть, сколько займёт среда исполнения, которая позволит запустить не только ПрюветМир.
Желательно - вашу реализацию. Раз уж вы знаете, как правильно делать.
5 дек 17, 00:57    [21005903]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
CEMb
Member

Откуда: Столько
Сообщений: 1963
Basil A. Sidorov
Это общая проблема.
Согласен.
Я просто думаю, что простота разработки и низкий порог вхождения с одной стороны это хорошо, с другой стороны язык быстро обрастает низкокачественными (под вопросом) библиотеками.
А с явой всё ещё хуже :) Когда яву делали:
автор явы
Всю историю человечества люди боролись с утечкой памяти... Пора это прекратить. Мы больше не будем бороться с утечками памяти... А мы их возьмём на вооружение!
я знаю, что тема надобности GC это холивар, но для меня лично сомнительна его польза. Я когда пишу программы, у меня план, где что создаётся, как живёт, где хранится, как и когда чистится. И как-то проблем у меня это не вызывало. Даже в яве это не должно было вызвать проблем, пока это всё не пошло в космических масштабах
5 дек 17, 05:38    [21005941]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
CEMb
Я просто думаю, что простота разработки
"Простота разработки" - это иллюзия. Сложность разработки определяется задачей. Можно "упрятать под капот" сложности какой-то задачи или даже целого класса задач, но не существовало и не существует универсального решения проблемы сложности.
язык быстро обрастает низкокачественными (под вопросом) библиотеками.
Проблема библиотек в том, что делают их люди, которые могут обойтись и без этих библиотек, но их утомило набивать однотипный код, а пользуются те, кто "не совсем в теме".
А с явой всё ещё хуже :)
Ява - далеко не единственный и далеко не первый язык со сборкой мусора.
5 дек 17, 06:27    [21005960]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Usman
Member

Откуда: من ألماتي
Сообщений: 5599
CEMb
Даже в яве это не должно было вызвать проблем
+1
5 дек 17, 07:02    [21005966]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
mayton
Member

Откуда: loopback
Сообщений: 43455
CEMb
Basil A. Sidorov
Это общая проблема.
Согласен.
Я просто думаю, что простота разработки и низкий порог вхождения с одной стороны это хорошо, с другой стороны язык быстро обрастает низкокачественными (под вопросом) библиотеками.
А с явой всё ещё хуже :) Когда яву делали:
автор явы
Всю историю человечества люди боролись с утечкой памяти... Пора это прекратить. Мы больше не будем бороться с утечками памяти... А мы их возьмём на вооружение!
я знаю, что тема надобности GC это холивар, но для меня лично сомнительна его польза. Я когда пишу программы, у меня план, где что создаётся, как живёт, где хранится, как и когда чистится. И как-то проблем у меня это не вызывало. Даже в яве это не должно было вызвать проблем, пока это всё не пошло в космических масштабах

Идея GC возникла со времен Lisp. Java здесь ничего нового не открывает.
6 дек 17, 23:28    [21013112]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
CEMb
Member

Откуда: Столько
Сообщений: 1963
mayton
Идея GC возникла со времен Lisp. Java здесь ничего нового не открывает.

Проблема не в самом GC (в с++ народ писал свои GC, я три штуки нашёл), проблем две:
1. Возможность выбирать, работать ли с GC или без.
2. Сваливание на GC слишком большого количества задач, из-за которых он становится более сложным по логике работы, что иногда приводит к безумным лагам во время исполнения. Это особенно чувствуется, когда ты затачиваешься на несколько библиотек, которые интенсивно пользуют GC, и ты уже ничего с этим поделать не можешь.
Ну и для меня лично ценность GC непонятна. Каков процент задач в программировании, где можно существенно сэкономить на том, что ты будешь убивать объекты по одному, а не все сразу?
7 дек 17, 05:28    [21013366]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
CEMb
Ну и для меня лично ценность GC непонятна. Каков процент задач в программировании, где можно существенно сэкономить на том, что ты будешь убивать объекты по одному, а не все сразу?
Сборщик мусора Java оптимизирован для "большое количество короткоживущих объектов". Поэтому "убивать пачками" он умеет. Учитывая, что деструкторов в Java нет - получаем быструю очистку для определённых сценариев.

P.S. Отсутствие деструкторов это не только минус
Упрощаются задачи возврата объекта из функции (метода) и обработки исключений.
Я в курсе, что плюсы умеют оптимизацию возвращаемого значения, но код, которого не требуется - работает ещё быстрее.
7 дек 17, 08:32    [21013480]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6397
Basil A. Sidorov
P.S. Отсутствие деструкторов это не только минус
Упрощаются задачи возврата объекта из функции (метода) и обработки исключений.
Я в курсе, что плюсы умеют оптимизацию возвращаемого значения, но код, которого не требуется - работает ещё быстрее.

Не надо путать код, который не требуется и код который все равно выполняется но ты уже не контролируешь когда потому что асинхронно )))
7 дек 17, 12:38    [21014596]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
90% кода в С++ не требует деструкторов итп.

Другое дело языки в которых - "а давайте все сделаем объектами".

И вообще смешно кивать на накладные расходы С++, работая с той же Явой =)
7 дек 17, 19:25    [21016351]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Anatoly Moskovsky
Не надо путать код, который не требуется и код который все равно выполняется но ты уже не контролируешь когда потому что асинхронно )))
Речь шла о двух конкретных случаях:
1. Возврат объекта из функции;
2. Генерация исключения или просто работа с try/catch блоками.
8 дек 17, 03:25    [21016992]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Siemargl
90% кода в С++ не требует деструкторов итп.
Когда-то давно существовали корабли-торпеды.
Янки, делая пробные запуски, решили оптимизировать одноразовые корабли - взяли списанные корпуса и двигатели.
Результат - около половины "тестовой эскадры" или затонула или остановилась.
Код обработки ошибок не требуется в 99% - это ещё не повод отказаться от написания такого кода. Не в процентах дело.
8 дек 17, 03:33    [21016993]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Siemargl
И вообще смешно кивать на накладные расходы С++, работая с той же Явой =)
"Я бы взял частями, но мне нужно сразу".
Если бы C/C++ были бы такими эффективными, как вы об этом думаете - другие языки просто не взлетели бы.
Требуется не Обстрактная эффективность кода, а эффективное решение. Эффективность кода, в подавляющем большинстве случаев - мелочь, не заслуживающая отдельного упоминания.
8 дек 17, 04:28    [21017010]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
CEMb
Member

Откуда: Столько
Сообщений: 1963
Basil A. Sidorov
Если бы C/C++ были бы такими эффективными, как вы об этом думаете - другие языки просто не взлетели бы.
Требуется не Обстрактная эффективность кода, а эффективное решение. Эффективность кода, в подавляющем большинстве случаев - мелочь, не заслуживающая отдельного упоминания.
Всё верно. Но абстрактная эффективность кода не противоречит эффективным решениям, а даже наоборот, способствует им. Но на деле, почему-то получается иначе: или одно или другое. Почему так? Лень, времени нет, мозгов кадров нет?
8 дек 17, 05:15    [21017018]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
CEMb
абстрактная эффективность кода не противоречит эффективным решениям, а даже наоборот, способствует им. Но на деле, почему-то получается иначе: или одно или другое. Почему так? Лень, времени нет, мозгов кадров нет?
Я уже говорил - нет универсального решения проблемы сложности. И второе: в общем комплексе проблем, эффективность кода - малая и, как правило, несущественная часть. Вот буквально - алгоритмическая эффективность важна, а эффективность кода - не очень.
На самом деле, эффективность кода достаточно давно упрятана под капот компилятора и прикладному программисту требуется думать о более других вещах.

P.S. Скажем, управление памятью в Java весьма сложное - и многоуровневая куча и многопоточная сборка мусора и всяческие микрооптимизации.
Если в плюсах можно обойтись без динамической памяти, то плюсы обскачут яву - не вопрос. А если не обойтись?
Сможет не то, что "средний программист" - продвинутый разработчик продвинутой библиотеки сделать аналогичный комплекс?
8 дек 17, 07:16    [21017048]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Вообще, с моей кочки зрения, плюсам надо ломать обратную совместимость и строить новую инфраструктуру над промежуточным представлением.
Вот буквально - "задавить" GCC-лобби и задаться вопросом: что будет, если выкинуть дебильный тулчайн и сделать "как правильно"?
8 дек 17, 07:35    [21017059]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
Basil A. Sidorov
Siemargl
90% кода в С++ не требует деструкторов итп.
Когда-то давно существовали корабли-торпеды.
Янки, делая пробные запуски, решили оптимизировать одноразовые корабли - взяли списанные корпуса и двигатели.
Результат - около половины "тестовой эскадры" или затонула или остановилась.
Код обработки ошибок не требуется в 99% - это ещё не повод отказаться от написания такого кода. Не в процентах дело.

Дело таки в процентах - переход от С к С++ стоит всего то около 2% скорости (по памяти, впрочем больше).

А что касается популярности других языков - особенно жаваскрипт и 1С - так весь мир тяготеет к дешевым и красивым одноразовым поделкам, типа деревянно-панельных домов, одноразовой электронике, китайско-корейским невосстанавливаемым автомобилям итп

Оно, понятно, не стоит строить на века то, что не проживет и пары лет. Но есть и более основательные вещи.

Просто ниши разные.
8 дек 17, 07:55    [21017073]     Ответить | Цитировать Сообщить модератору
 Re: В какую сторону движется C++?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9625
Siemargl
Дело таки в процентах - переход от С к С++ стоит всего то около 2% скорости
Как мне нравятся такие оценки ...
Вы из какого пальца эти два процента высосали???
8 дек 17, 09:14    [21017150]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 18 19 20 21 22 [23] 24 25 26 27 .. 29   вперед  Ctrl
Все форумы / C++ Ответить