Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 13 14 15 16 17 18 19 20 [21] 22   вперед  Ctrl
 Re: Lazarus: сборки, установка компонент и настройки  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 820
не знаю, в каких попугаях ты мерял


В диспетчере задач лучше вывести столбец "Выделенная память" - так понятно будет, сколько ОЗУ используется.

Кстати, у меня ещё один шок - оказывается многопоточная 32-битная программа, запущенная на 64-битной винде может занимать больше ОЗУ, чем 64-битная, поскольку для каждого 32-битного стека создаётся ещё и 64-битный стек, который жрёт ОЗУ не меньше, чем 32-битный стек.
11 мар 19, 23:39    [21829859]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
DmSer
Arioch
DmSer,

если тебе только windows - то наверняка в FPC можно тот же самый FastMM4 подключить, который в новых Delphi


Не нашел такой возможности. Походу нету.


c:\codetyphon\fpcsrc\rtl\inc\heap.inc

const
  MemoryManager: TMemoryManager =

....

procedure GetMemoryManager(var MemMgr:TMemoryManager);
begin
  MemMgr := MemoryManager;
end;


procedure SetMemoryManager(const MemMgr:TMemoryManager);
begin
  MemoryManager := MemMgr;
end;


Копия соответствующего кода Delphi
12 мар 19, 13:03    [21830175]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
Док
Лазарь занимает памяти почти в 10 раз больше


он ведь ещё наверное GTK грузит или Qt - они тоже не маленькие
12 мар 19, 13:05    [21830178]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Док
Member

Откуда: Казань
Сообщений: 6131
Arioch
он ведь ещё наверное GTK грузит или Qt - они тоже не маленькие

на винде? Картинка с другого сайта.
12 мар 19, 13:21    [21830202]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
FPC'шный менеджер тратит память на списки блоков, которые у него на каждый поток отдельные.
12 мар 19, 13:34    [21830212]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
Док,

а там LCL напрямую в win32 GDI втыкается по умолчaнию? даже если проект кросплатформенный ?
12 мар 19, 14:56    [21830328]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4481
Arioch
Док,

а там LCL напрямую в win32 GDI втыкается по умолчaнию? даже если проект кросплатформенный ?
LCL-приложения линкуются с LCLBase который ему подсунут, что это будет QT, fpGUI, Winapi или GTK не должно волновать разработчика
12 мар 19, 15:21    [21830378]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 820
Arioch
c:\codetyphon\fpcsrc\rtl\inc\heap.inc


Там FastMM4 ?
Под винду это компилируется?
12 мар 19, 17:00    [21830524]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 820
Kazantsev Alexey
FPC'шный менеджер тратит память на списки блоков, которые у него на каждый поток отдельные.


На каждый список по 600 КБ выделяет на всякий случай?
12 мар 19, 17:29    [21830561]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
DmSer
На каждый список по 600 КБ выделяет на всякий случай?

Я так глубоко не копал, возможно резервирует с запасом. Там список в threadvar. На примитивной сиснтетике имеется незначительное преимущество по сравнению с дельфями.
12 мар 19, 17:33    [21830572]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
kealon(Ruslan)
не должно волновать разработчика


с таким подходом разработчика и количество памяти в working set не должно волновать, но вот выше люди смотрят в taskmgr и удивляются
12 мар 19, 17:36    [21830578]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
Arioch
с таким подходом разработчика и количество памяти в working set не должно волновать, но вот выше люди смотрят в taskmgr и удивляются Картинка с другого сайта.

С working set, как раз, всё в порядке. А вот закомиченной приватной что-то дофига.
12 мар 19, 17:41    [21830590]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
DmSer
Там FastMM4 ?


там стандартный механизм подключения сторонних менеджеров памяти

в современной Delphi используется FastMM4 (не помню, с какой версии начиная, раньше надо было его со стороны прикручивaть)

UPD - вот с этой: http://blog.marcocantu.com/blog/fastmm4.html


Также ЕМНИП в последних версиях Delphi форк FastMM4 портировали на non-Windows
Просто помнится на FastMM4 на гитхабе багу вешали, когда ради отладки утечек памяти встроенный форк заменили на последнюю версию с гитхаба - все начало вешаться. Эмбы поменяли что-то в порядке инициализации разных модулей RTL и вывод диагностики после работы начал зависать.

Вот ещё чей-то ранний патч - https://sourceforge.net/p/fastmm/patches/3/

Также https://github.com/pleriche/FastMM4/blob/master/FastMM4_FAQ.txt
"If you want to use FastMM inside a Kylix library....."

Также https://github.com/pleriche/FastMM4/pull/35
12 мар 19, 17:45    [21830592]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
pvv.pas
Member

Откуда: Оттуда
Сообщений: 24
DmSer
Arioch
DmSer,

если тебе только windows - то наверняка в FPC можно тот же самый FastMM4 подключить, который в новых Delphi


Не нашел такой возможности. Походу нету.

)))
Пример для FastMM:

program TestMM;

uses
  FastMM4;

  procedure TestDo;
  begin
  ...
  end;

begin
  TestDo;   
end.


Накройняк посмотри демки здесь. Там же исходник FastMM и других менеджеров можно взять для теста.
12 мар 19, 19:30    [21830660]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 820
Всё ссылки, ссылки...
А реально кто-то пробовал к Лазарусу под винду прикрутить FastMM4? Было бы более конструктивно.
12 мар 19, 21:37    [21830748]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
DmSer
А реально кто-то пробовал к Лазарусу под винду прикрутить FastMM4? Было бы более конструктивно.

А сам чего? Не компилируется на транковом лазаре леричевский fastmm4.
12 мар 19, 22:03    [21830758]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 820
Kazantsev Alexey
DmSer
А реально кто-то пробовал к Лазарусу под винду прикрутить FastMM4? Было бы более конструктивно.

А сам чего? Не компилируется на транковом лазаре леричевский fastmm4.


Не собирался становиться первооткрывателем. К тому же поиск "fpc + fastmm4" пугает, что эта связка работает только под линукс.
12 мар 19, 22:37    [21830777]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
DmSer
К тому же поиск "fpc + fastmm4" пугает, что эта связка работает только под линукс.

А под линуксом действительно собирается.
12 мар 19, 23:06    [21830796]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
pvv.pas
Member

Откуда: Оттуда
Сообщений: 24
Kazantsev Alexey
DmSer
К тому же поиск "fpc + fastmm4" пугает, что эта связка работает только под линукс.

А под линуксом действительно собирается.

работает?
13 мар 19, 12:32    [21831174]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
pvv.pas
работает?

Работает, только медленнее родного раза в полтора.
13 мар 19, 14:26    [21831358]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
Kazantsev Alexey,

asm-вставки отключены небось
13 мар 19, 15:38    [21831452]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Arioch
Member

Откуда:
Сообщений: 10807
или всё дело в LLVM/ARC ?
13 мар 19, 15:38    [21831453]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
Arioch
asm-вставки отключены небос

Не отключены.

Arioch
или всё дело в LLVM/ARC ?

Ты в курсе, что речь о FPC?
13 мар 19, 16:03    [21831487]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3469
Kazantsev Alexey
Работает, только медленнее родного раза в полтора.

Это в мультипотоке. В однопотоке с родным паритет.
13 мар 19, 16:30    [21831518]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus: сборки, установка компонент и настройки  [new]
Док
Member

Откуда: Казань
Сообщений: 6131
Kazantsev Alexey
Arioch
или всё дело в LLVM/ARC ?

Ты в курсе, что речь о FPC?

От llvm пилится новый отладчик LLDB, и то, только под МАКи
13 мар 19, 16:36    [21831523]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 13 14 15 16 17 18 19 20 [21] 22   вперед  Ctrl
Все форумы / Delphi Ответить