Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl

Автор: kaz_av
Дата сообщения: 27.05.2016 16:44
Cryogen2003

Цитата:
В code insight удалил Error insight. Да, иногда не хватает, чтобы ошибки подсвечивал.

Как этим можно пользоваться, когда он нормальный код расцвечивает красным? Я вообще весь Code Insight отключаю полностью, подсказку можно и хоткеем позвать.
AlekXL

Цитата:
А еще некоторое тут защищают сборку мусора...

Во-первых, я её не защищаю. Во-вторых, чтобы кивать на GC нужно хотя-бы помониторить работу IDE, и посмотреть сколько времени там тратится на GC. Может случиться сюрприз.
Автор: Cryogen2003
Дата сообщения: 27.05.2016 16:51
Frodo_Torbins
Галочку поставил, пока полет нормальный. Но на скорости вроде не сказалось никак, посмотрим что будет чуть потом, когда несколько компилей будет. Но хоть памяти стал жрать сильно меньше. Было просто при обычной загрузке около 400 метров, сейчас 142. После первой же компиляции проекта (build all) в 3 ляма строк (это включая компоненты используемые) было около 900 метров, сейчас 560.

AlekXL
Code template completion я оставил, просто удобнее как то получается написал for, нажал пробел, он весь for убрал

Symbol insight галочку поставил, до этого убрал.
и галочку на Evaluation так же вернул, реально при дебаге ничего не показывает, пришлось руками смотреть.

AlekXL
Frodo_Torbins
Коллеги, огромнейшее Вам спасибо, реально стало приятнее работать в среде и не нужно так часто выходить из среды, потому что сейчас и оперативы меньше жрет, и практически не лазит все время по файлам.
Автор: AlekXL
Дата сообщения: 28.05.2016 17:05
kaz_av

Цитата:
Во-первых, я её не защищаю. Во-вторых, чтобы кивать на GC нужно хотя-бы помониторить работу IDE, и посмотреть сколько времени там тратится на GC. Может случиться сюрприз.

Начнем с того, сколько памяти жрут эти примочки на доднете. Раз так много, то и сборщик, вероятно задействован сильно.
Я признаю, что и со сборщиком можно написать довольно эффективный код, но вот усилия при этом будут как бы не больше, чем с ручным или арк управлением. Не говоря уж о том, что и скилл для этого требуется такой, какой много чаще встречается именно у тех, кто привык управлять вручную.
Автор: kaz_av
Дата сообщения: 28.05.2016 22:06
AlekXL

Цитата:
Раз так много, то и сборщик, вероятно задействован сильно.

"Вероятно" это разговор ни о чём.

Цитата:
Я признаю, что и со сборщиком можно написать довольно эффективный код, но вот усилия при этом будут как бы не больше, чем с ручным или арк управлением

Усилий будет не больше, но их придётся прилагать, это верно. Проблема жабадотнетов в том, что там усилия никто не прилагает, пока петух не клюнет. Их просто не парит вопрос управления памятью вообще. В дельфях, например, тоже нужно прилагать усилия (и с приходом ARC эта ситуация только усугубится), чтобы код работал эффективно, иначе прологи, эпилоги и прочая магия могут сожрать все преимущества нативного кода.

Цитата:
Не говоря уж о том, что и скилл для этого требуется такой, какой много чаще встречается именно у тех, кто привык управлять вручную

Скорее у тех, кто читал по теме хоть что-то кроме "букваря".
Автор: AlekXL
Дата сообщения: 29.05.2016 10:57
kaz_av

Цитата:
Скорее у тех, кто читал по теме хоть что-то кроме "букваря".

Нет. Теоретическое знание из буваря - это совсем не то, что навык.Я не случайно написал "привык", и такой привычки у доднетчиков как раз, даже из ваших слов, нет.
А когда прилетает жареный петух, там уж в лучшем случае поправляют самые критические глупости, но в целом код остается ресурсоемким и неэффективным.

Добавлено:

Цитата:
В дельфях, например, тоже нужно прилагать усилия (и с приходом ARC эта ситуация только усугубится), чтобы код работал эффективно

С приходом арк проблема усугубится не потому, что станет серьезьней, а потому - что станет менее явной.
Автор: kaz_av
Дата сообщения: 29.05.2016 12:04
AlekXL

Цитата:
Нет. Теоретическое знание из буваря - это совсем не то, что навык.Я не случайно написал "привык", и такой привычки у доднетчиков как раз, даже из ваших слов, нет

Теоретические знания о пользе пулов и вообще кеширования, это не то чтобы очень секретная штука, и особого навыка тут не требуется. И к платформам с GC это относится также, как и к нативу.


Цитата:
А когда прилетает жареный петух, там уж в лучшем случае поправляют самые критические глупости, но в целом код остается ресурсоемким и неэффективным.

Когда реально нужно, тогда просто берётся профайлер. Тут я давал ссылку на HTML рендер, так там, в блоге автора, есть статья, что он делал для обеспечения высокой производительности. Можешь полюбопытствовать. Заметь, никакой эзотерики.


Цитата:
С приходом арк проблема усугубится не потому, что станет серьезьней, а потому - что станет менее явной

Проблема, как раз, станет более явной, по крайней мере для наследуемого кода. А вот причины да, будут менее явными.
Автор: sanekerfort
Дата сообщения: 01.06.2016 08:10


Цитата:
D10 Distiller b28 Продолжение линейки XE Distiller для Delphi 10


Всегда в предыдущих версиях Студии использовал эту утилиту для отключения создания лишних файлов (.local, .identcache, .~bpl). Почему-то, когда я запускаю, эту версию, для установленной у меня Embarcadero RAD Studio Architect 10 Seattle Update1, не активны поля этих опций. Может потому, что версия у меня "Update1"?
Автор: VadimShvarts
Дата сообщения: 02.06.2016 09:39
sanekerfort

Цитата:
Цитата:

Цитата: D10 Distiller b28 Продолжение линейки XE Distiller для Delphi 10

Всегда в предыдущих версиях Студии использовал эту утилиту для отключения создания лишних файлов (.local, .identcache, .~bpl). Почему-то, когда я запускаю, эту версию, для установленной у меня Embarcadero RAD Studio Architect 10 Seattle Update1, не активны поля этих опций. Может потому, что версия у меня "Update1"?
Автор: iobox
Дата сообщения: 02.06.2016 13:50
Дайте, пожалуйста, действующую ссылку на BDE для Seattle. К официальному сайту нет доступа.
Автор: SuPriTo
Дата сообщения: 02.06.2016 15:25
iobox
Держи под катом #

Автор: stanzdor
Дата сообщения: 03.06.2016 02:39
подскажите хорошее средство найти утечку памяти.

Автор: NeoAnomaly
Дата сообщения: 03.06.2016 09:03
stanzdor, https://sourceforge.net/projects/fastmm/
Автор: AlekXL
Дата сообщения: 03.06.2016 10:06
stanzdor
нужно еще правильно дефайны определить(Я ставлю FullDebugModeWhenDllAvailable), первым включить проект, положить рядом с исполняемым dll, и использовать JCL Debug Expert для трассировки с полным исходным кодом.
Автор: SolidSnakeRU
Дата сообщения: 03.06.2016 10:55

Цитата:
подскажите хорошее средство найти утечку памяти.

Самый простой способ - в модуле проекта добавить:
begin
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutdown := True;
{$ENDIF}
...
end

При завершении процесса, будет показано какая память утекла и к каким классам относится.
Ставлю первым делом в любой новый проект, очень помогает.
Но могут оставаться сложные ситуации утечки памяти, когда где-то по ошибке что-то не очищается, такое отлавливать надо по другому.

Добавлено:

Цитата:
подскажите хорошее средство найти утечку памяти.

Самый простой способ - в модуле проекта добавить:
begin
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutdown := True;
{$ENDIF}
...
end

При завершении процесса, будет показано какая память утекла и к каким классам относится.
Ставлю первым делом в любой новый проект, очень помогает.
Но могут оставаться сложные ситуации утечки памяти, когда где-то по ошибке что-то не очищается, такое отлавливать надо по другому.
Автор: abyss79
Дата сообщения: 03.06.2016 11:27

Цитата:
подскажите хорошее средство найти утечку памяти.

Более простой и удобный способ отлова утечек чем FastMM, это использовать фичу madExcept:
http://madshi.net/madExceptDescription.htm
Если не ошибаюсь, то madExcept отлавливает больше типов утечек.
Автор: NeoAnomaly
Дата сообщения: 03.06.2016 11:33
abyss79, ну, если на то пошло, то добавим eurekalog, aqtime )


Добавлено:

Цитата:
Если не ошибаюсь, то madExcept отлавливает больше типов утечек.

Дополнительно следит не только за менеджером памяти, но и за вызовами winapi, в том числе различные хэндлы отслеживает.
Автор: abyss79
Дата сообщения: 03.06.2016 11:37

Цитата:
eurekalog, aqtime

Только они полностью платные, а madExcept можно бесплатно использовать для некомерческого использования. А так да, минимум EurekaLog использовал.
Автор: NeoAnomaly
Дата сообщения: 03.06.2016 11:49
abyss79, до xe8, если не ошибаюсь aqtime в редакции standart поставлялся вместе с delphi, правда на сколько он применим в боевых условиях в такой редакции - большой вопрос
Автор: abyss79
Дата сообщения: 03.06.2016 11:52

Цитата:
aqtime в редакции standart поставлялся вместе с delphi

было дело, только у меня с ним отношения не сложились и до фичи с отловом утечек дело не дошло, даже не знаю была ли она в этой обрезанной редакции.
Автор: AlekXL
Дата сообщения: 03.06.2016 18:25
говоря об EurekaLog и MadExcept, какой-нибудь из них дает трейсы с номерами строк в билдере? Ибо в map файле там с точностью только до функции.
Автор: stanzdor
Дата сообщения: 04.06.2016 05:33
УХХХХ.!
спасибо!
дыра той стороне оказалась.
а вот кстати вопрос:
- ты отдаешь кусок памяти, в надежде что там её убъют.
а как потом узнать жива она или нет?

Автор: AlekXL
Дата сообщения: 04.06.2016 09:36

Цитата:
- ты отдаешь кусок памяти, в надежде что там её убъют.
а как потом узнать жива она или нет?

вообще говоря, это нетривиально. Какой функцией ты аллоцируешь "кусок" -- если встроенным менеджером, а у той стороны нет его понимания, то у тебя утечка, или что похуже.
Я сишные либы билдером стараюсь построить и инджечу свой менеджер памяти (FastMM) туда.
Автор: SuPriTo
Дата сообщения: 04.06.2016 11:42
stanzdor

Цитата:
- ты отдаешь кусок памяти, в надежде что там её убъют.
а как потом узнать жива она или нет?

Можно,
1. если написать свой менеджер памяти.
2. проверять кол-во освобожденных блоков памяти (при условии, что там ничего лишнего не выделяется), если использовать стандартный менеджер.
3. проверить освободились ли страницы памяти, если не использовать ни каких менеджеров памяти
как то так.
Автор: VadimLou
Дата сообщения: 04.06.2016 12:02
AlekXL

Цитата:
говоря об EurekaLog и MadExcept, какой-нибудь из них дает трейсы с номерами строк в билдере? Ибо в map файле там с точностью только до функции.


Да ладно... Для map файла выставляешь детальную генерацию и наслаждаешься. jedi/eureka/mad так и делают, преобразуя(ужимая) map в свои форматы.
Автор: stanzdor
Дата сообщения: 04.06.2016 19:47
AlekXL, SuPriTo: большое спасибо за направление! гугл помог. примерно начал понимать..
Автор: apnss
Дата сообщения: 05.06.2016 14:09
Приветствую коллеги.

Никто не сталкивался с периодическими подвисаниями IDE при редактировании кода в берлине?
Поставил "полный" комплект: Девки, юнидак, gexperts, кодэксполорер и прочее мастхэв. сейчас периодически в редакторе кода ловлю подвисание IDE на ~30 секунд с повышением загрузки проца

При полном отключении кодинсайт вроде попускает, но оказалось что его не хватает может кто сталкивался ?

в XE8 подобных глюков с такой конфой не наблюдалось
Автор: Frodo_Torbins
Дата сообщения: 06.06.2016 15:42
apnss
На предыдущих двух страницах обсуждали Дистилер. Для Берлина он тоже есть. Попробуйте.
Автор: jhtiger
Дата сообщения: 07.06.2016 05:15
apnss

Попробуйте еще это:
IDE Fix Pack is an IDE plugin for RAD Studio 2009-10.1 Berlin that fixes IDE bugs at runtime.

The performance optimizations let the IDE start faster, open projects faster, optimizes the compiler’s file search algorithm, makes CodeInsight, the actual compilation and the debugger faster. It also fixes some IDE, compiler and debugger memory leaks.

_ttp://andy.jgknet.de/blog/ide-tools/ide-fix-pack/
Автор: AlekXL
Дата сообщения: 07.06.2016 05:53
VadimLou

Цитата:
 
Да ладно... Для map файла выставляешь детальную генерацию и наслаждаешься. jedi/eureka/mad так и делают, преобразуя(ужимая) map в свои форматы

Аты прбовал? В Delphi это работает. Но я не о не нём спрашивал
Автор: VadimLou
Дата сообщения: 07.06.2016 10:03
AlekXL
Слово "билдере" пропустил Так что ответ негативный. Неужели в былдере детальный map "хромает" ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

Предыдущая тема: Отмена встречи в Outlook из Excel VBA


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.