OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 21:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Пятница, 13 Август, 2010 00:44 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Rifat писал(а):
Где-то читал, точно не помню где (возможно, что я что-то не так понял), что вроде бы в операционной системе Оберон, работа с файлами организована примерно также как и с памятью, то есть если понадобился файла, то открываешь его, беспокоиться о том, когда его закрыть не надо, а сборщик мусора сам определит что файл не нужен.
Что совершенно логично, поскольку файлы -- это тоже память. А то, что она внешняя, проявляется в дисциплине доступа.

При этом сохраняется возможность что-то сделать (Close, Flush ...) явно, рукой.

Поправлю немного. Лучше говорить не об абстрактной памяти, а о контейнере однотипных элементов. Коим является динамический массив в КП. И файл с записями (двоичный, не текстовый). Массив - внутренний контейнер, файл - внешний. Тогда - да, принцип может быть одинаковый. Сборщик мусора может сам следить за "закрытием" контейнера в случае его ненужности.
Я статью на эту тему еще году в 98 или 99 написал... :)
Понятия не имея об Оберонах и сборщиках мусора... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Пятница, 13 Август, 2010 11:06 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Сборщик мусоро хорош, когда у нас ресурса достаточно много. Например памяти почти всегда много. 640 Кб -- уже много. А вот файла например всегда мало. Он всегда один на запись. Он или есть, или его нет (занят). Поэтому освобождать его нужно ASAP.

По сути, GC -- воплощение ленивости в плане политики работы с ресурсом (памятью). Ручное управление, или управление на счетчиках (например умные указатели) -- это воплощение энергичной политики работы с ресурсом.

С точки зрения архитектуры ленивость почти всегла благо. Иногда даже с точки зрения производительности. Но ради реалтаймовости (и "откликабельности") с ней приходится бороться.

Собственно для того, чтобы познать цену лени, очень полезно что-нибудь пописать на Haskell'e.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Пятница, 13 Август, 2010 15:21 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Собственно для того, чтобы познать цену лени, очень полезно что-нибудь пописать на Haskell'e.
В смысле? (В двух словах.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Пятница, 13 Август, 2010 15:34 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
С точки зрения архитектуры ленивость почти всегла благо. Иногда даже с точки зрения производительности. Но ради реалтаймовости (и "откликабельности") с ней приходится бороться.

Был случай, когда явское десктопное приложение (клиент к какому-то серверному приложение) переписали на Хаскелл и получили заметное улучшение реактивности хаскельного варианта по сравнению с явским.
Попадётся снова ссылка -- укажу, щас так с ходу не могу найти. :о(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Понедельник, 30 Август, 2010 08:38 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
В каких-то случаях, на сборке старших поколений, всё равно они потоки морозят. Вроде бы.
Есть алгоритмы для систем реального времени (ещё Дейкстра придумал что-то), но они проигрывают в общих параметрах.

В java есть инкрементальный сборщик мусора. Весьма помогает в некоторых ситуациях. Включается ключиком -Xincgc


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Понедельник, 30 Август, 2010 10:34 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Geniepro писал(а):
Был случай, когда явское десктопное приложение (клиент к какому-то серверному приложение) переписали на Хаскелл и получили заметное улучшение реактивности хаскельного варианта по сравнению с явским.


Получили... А почему получили, они могут объяснить? Просто вдруг получилось, теперь рекламируют. У другого на Яве так же что-то вдруг срослось.

Если не иметь полного (очищенного от деталей, но полного) представления о том, что происходит внизу, то предсказывать результат разработчик не может. Может только надеяться, что за него разработчики платформы подумали - и что в новой версии всё круто. Если покрутить загадочные ручки - то может стать вдруг совсем круто.
А разработчик тоже ничего предсказывать не может - предвидеть все нюансы конкретного режима использования в прикладных задачах он не может.

Вот и получаются пляски народов Севера вокруг ритуального костра :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Понедельник, 30 Август, 2010 10:47 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Geniepro писал(а):
Был случай, когда явское десктопное приложение (клиент к какому-то серверному приложение) переписали на Хаскелл и получили заметное улучшение реактивности хаскельного варианта по сравнению с явским.


Получили... А почему получили, они могут объяснить? Просто вдруг получилось, теперь рекламируют. У другого на Яве так же что-то вдруг срослось.

Не рекламируют. Иначе найти ссылку было бы просто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Понедельник, 30 Август, 2010 11:45 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Народная молва рекламирует, коллегам :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Понедельник, 30 Август, 2010 11:52 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Народная молва рекламирует, коллегам :)

Да чего только не рекламирует народная молва :-) Сложно найти такую ШТУКУ которую бы не рекламировала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Четверг, 02 Сентябрь, 2010 13:24 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
Получили... А почему получили, они могут объяснить? Просто вдруг получилось, теперь рекламируют. У другого на Яве так же что-то вдруг срослось.
Подробностей не помню, давно читал про это, ссылку найти тоже с полпинка не удалось.
Там суть вроде была в том, что этот фреймворк у Явы тормозной (видимо, не менее чем у .NET'а), потому и чисто нативный код хаскельного приложения оказался шустрее, несмотря на ленивость хаскелла и всё такое.
Приводился этот случай чисто для того, что бы успокоить людей, думающих, что Хаскелл якобы нельзя использовать в серьёзных коммерческих приложениях из-за его ленивости и возможного пожирания памяти программой.
Можно, нормально всё в этом плане. Не хуже, а то и лучше чем у всей из себя раскоммерческой Явы...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Джоэл Спольски о сборке мусора
СообщениеДобавлено: Четверг, 02 Сентябрь, 2010 22:22 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Илья Ермаков писал(а):
Получили... А почему получили, они могут объяснить? Просто вдруг получилось, теперь рекламируют. У другого на Яве так же что-то вдруг срослось.
Подробностей не помню, давно читал про это, ссылку найти тоже с полпинка не удалось.
Там суть вроде была в том, что этот фреймворк у Явы тормозной (видимо, не менее чем у .NET'а), потому и чисто нативный код хаскельного приложения оказался шустрее, несмотря на ленивость хаскелла и всё такое.
Приводился этот случай чисто для того, что бы успокоить людей, думающих, что Хаскелл якобы нельзя использовать в серьёзных коммерческих приложениях из-за его ленивости и возможного пожирания памяти программой.
Можно, нормально всё в этом плане. Не хуже, а то и лучше чем у всей из себя раскоммерческой Явы...

Безусловно пробовать надо. У меня сейчас в принципе как раз есть задачка которая реализована на жабе, будет, видимо, реализована на С++, можно попробовать и на хаскеле реализовать. Задачка простая, но требующая производительности. В ней, кроме всего прочего, важна работа с памятью, насколько хорош умолчательный управленец памятью, и насколько можно оптимизировать это дело ручками. Потому как данных прокачивается в секунду что-то около 40 Мб.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB