Size: a a a

2020 November 22

AK

Alexey Kulakov in Delphi & Lazarus
Dmitry Belkevich
1. Менять размер массива лучше на какое-то большее чем 1 значение. я меняю на тысячу. текущее место вставки в массив запоминаю и инкрементирую. по окончании устанавливаю размер на текущее место вставки
2. действительно существуют более оптимальные варианты чтения папок чем findfirst/next. самому 'поднять' шансов мало. но можно юзать готовый everything, есть api
3. в последнее время списки файлов вообще перестал вычитывать, обрабатываю файлы сразу 'по ходу', скорость обработки выросла раза в 2, да и памяти на сотнях тысяч не напасешься
п.1. - да я в курсе
п.2 - мне желательно использовать мультиплатформенные стандартные средства, без компонент третьих сторон.
п.3 - вариант, конечно, без составления дополнительного списка, но мне всё равно нужно будет обрабатывать файлы не все напрямую, а для некоторых - проверять наличие обработанного файла-близнеца.
например, DAT файл будет переводиться в двоичную форму, и записываться в контейнер будет именно она. Или PNG файл будет игнорироваться, если есть такой же файл с расширением DDS. Можно и через FileExists делать, а можно и через проверку списка в таких случаях.
В общем, пока в раздумьях я...
источник

z

zamtmn in Delphi & Lazarus
Alexey Kulakov
п.1. - да я в курсе
п.2 - мне желательно использовать мультиплатформенные стандартные средства, без компонент третьих сторон.
п.3 - вариант, конечно, без составления дополнительного списка, но мне всё равно нужно будет обрабатывать файлы не все напрямую, а для некоторых - проверять наличие обработанного файла-близнеца.
например, DAT файл будет переводиться в двоичную форму, и записываться в контейнер будет именно она. Или PNG файл будет игнорироваться, если есть такой же файл с расширением DDS. Можно и через FileExists делать, а можно и через проверку списка в таких случаях.
В общем, пока в раздумьях я...
ты не там задумываешься о оптимизации. операции с фс всеравно съедят твои доли процента выиграша от оптимального выделения и заполнения массивов. я бы формировал в памяти древовидную структуру папок, внутри папок формировал бы например tvector перечнем файлов + tdictionary для быстрого поиска файлов. и уже потом обработав все и посчитав "оптимально" формировал бы массив какой там надо на выходе
источник

AK

Alexey Kulakov in Delphi & Lazarus
Там обработка будет последовательно почти везде
источник

z

zamtmn in Delphi & Lazarus
Alexey Shumkin
Опять двадцать пять...
Когда вы уже научитесь озвучивать задачу, которую решаете, а не искать хаки на  способ решения, который придумали? ...
Я про XY problem, если что...
Ах извините, тут только глобальные архитектурные вопросы решать помогают, мелкие, но конкретные - кому это интересно
источник

z

zamtmn in Delphi & Lazarus
Alexey Kulakov
Там обработка будет последовательно почти везде
значит формат должен быть оптимальным для требуемой обработки. формат внутреннего представления имею ввиду, а не хранения на диске
источник

AS

Alexey Shumkin in Delphi & Lazarus
zamtmn
Ах извините, тут только глобальные архитектурные вопросы решать помогают, мелкие, но конкретные - кому это интересно
Ну, вы сначала выберите архитектуру, с которой эффективно решаете задачу, а потом обсуждайте уже детали её реализации...
А то обращаетесь с вопросами вида "как забивать микроскопом гвозди, чтобы тот не ломался?"...
И вы оба уж точно в этом замечены...и не так давно 😁
И бомбит у меня с того, что говоришь  говоришь, а
вы же настойчиво, раз за разом, не обозначаете задачу, которую решаете, а сразу к деталям только вами придуманной реализации переходите... Причём, как правило, эти решения выглядят странно... Ну и ни один _нормальный_ инженер не кинется решать вопрос без знания о том какую проблему/задачу он решает
И лично мой опыт позволяет утверждать, что это так
источник

z

zamtmn in Delphi & Lazarus
я не пользую делфи
источник

N

Nik in Delphi & Lazarus
Там и лазарус юзают
источник

AS

Alexey Shumkin in Delphi & Lazarus
Лично я скольких чатиках не был, всегда там есть люди, которые так же на вопросы начинают спрашивать "главное": что за задачу решаешь?..
И часто выясняется  ровно то же: придуманный ими самостоятельно вариант - неэффективен....
Разница с нашим чатом только в том, что там ТС говорят: а, ок, переделаю...
А здесь с пеной у рта начинают  отстаивать своё "решение", как будто не за критикой приходили, а за одобрением...
источник

z

zamtmn in Delphi & Lazarus
Alexey Shumkin
Ну, вы сначала выберите архитектуру, с которой эффективно решаете задачу, а потом обсуждайте уже детали её реализации...
А то обращаетесь с вопросами вида "как забивать микроскопом гвозди, чтобы тот не ломался?"...
И вы оба уж точно в этом замечены...и не так давно 😁
И бомбит у меня с того, что говоришь  говоришь, а
вы же настойчиво, раз за разом, не обозначаете задачу, которую решаете, а сразу к деталям только вами придуманной реализации переходите... Причём, как правило, эти решения выглядят странно... Ну и ни один _нормальный_ инженер не кинется решать вопрос без знания о том какую проблему/задачу он решает
И лично мой опыт позволяет утверждать, что это так
оба? кто за меня?))
первый раз я поинтересовался как преобразовать множество одно в другое. оказывается я чтото делаю нетак и такой задачи в принципе быть неможет. ну хрен с ним, может действительно мои тараканы
второй раз гетпоинт - сразу в штыки. даже тычек в хелп автодеска, который такой подход успешно юзает не вразумляет - ты че там совсем другое))
источник

z

zamtmn in Delphi & Lazarus
Alexey Shumkin
Лично я скольких чатиках не был, всегда там есть люди, которые так же на вопросы начинают спрашивать "главное": что за задачу решаешь?..
И часто выясняется  ровно то же: придуманный ими самостоятельно вариант - неэффективен....
Разница с нашим чатом только в том, что там ТС говорят: а, ок, переделаю...
А здесь с пеной у рта начинают  отстаивать своё "решение", как будто не за критикой приходили, а за одобрением...
я про свое решение сказал в 2х словах, описал его проблемы, ничего никому недоказывал. мне интересны варианты что может быть внутри, а не ваше мнение что такого быть неможет. к сожалению может. и очень удобно
источник

RS

Renat Suleymanov in Delphi & Lazarus
zamtmn
оба? кто за меня?))
первый раз я поинтересовался как преобразовать множество одно в другое. оказывается я чтото делаю нетак и такой задачи в принципе быть неможет. ну хрен с ним, может действительно мои тараканы
второй раз гетпоинт - сразу в штыки. даже тычек в хелп автодеска, который такой подход успешно юзает не вразумляет - ты че там совсем другое))
Я за тебя )
источник

AS

Alexey Shumkin in Delphi & Lazarus
zamtmn
оба? кто за меня?))
первый раз я поинтересовался как преобразовать множество одно в другое. оказывается я чтото делаю нетак и такой задачи в принципе быть неможет. ну хрен с ним, может действительно мои тараканы
второй раз гетпоинт - сразу в штыки. даже тычек в хелп автодеска, который такой подход успешно юзает не вразумляет - ты че там совсем другое))
Оба, это ты и @Awk_ward :))
StringGrid видите ли тормозит при отображении 70к записей ...и сортировка тупит.. как ускорить?... (Это было в оффтоп чатике (почему-то))
источник

RS

Renat Suleymanov in Delphi & Lazarus
Не важнл кто тут прав. Но дискуссию корректно ведет замтмм. Ник как обычно говорит нрубо и переходит на личности. Но замечу он сильно исправился правда. Раньше было хуже
источник

N

Nik in Delphi & Lazarus
zamtmn
оба? кто за меня?))
первый раз я поинтересовался как преобразовать множество одно в другое. оказывается я чтото делаю нетак и такой задачи в принципе быть неможет. ну хрен с ним, может действительно мои тараканы
второй раз гетпоинт - сразу в штыки. даже тычек в хелп автодеска, который такой подход успешно юзает не вразумляет - ты че там совсем другое))
Про автодеск.. Ты ткнул да сам не понял куда ткнул.. Я тебе расписал как может быть реализовано такое поведение как в автокаде, но ты один хрен не вдупляешь.. И продолжаешь считать, что ты прав..))
источник

AS

Alexey Shumkin in Delphi & Lazarus
zamtmn
я про свое решение сказал в 2х словах, описал его проблемы, ничего никому недоказывал. мне интересны варианты что может быть внутри, а не ваше мнение что такого быть неможет. к сожалению может. и очень удобно
Ну про это и речь... Что ты ищешь одобрения своего решения
источник

N

Nik in Delphi & Lazarus
Это насколько надо быть трудным, чтобы чужих слов не слышать?
источник

z

zamtmn in Delphi & Lazarus
Nik
Это насколько надо быть трудным, чтобы чужих слов не слышать?
помолчи, пжст, я тебе потом в личку стукну, обсудим. ок?
источник

AS

Alexey Shumkin in Delphi & Lazarus
zamtmn
оба? кто за меня?))
первый раз я поинтересовался как преобразовать множество одно в другое. оказывается я чтото делаю нетак и такой задачи в принципе быть неможет. ну хрен с ним, может действительно мои тараканы
второй раз гетпоинт - сразу в штыки. даже тычек в хелп автодеска, который такой подход успешно юзает не вразумляет - ты че там совсем другое))
Между прочим, про вопрос первый: я с тобой тогда согласился :)
Когда ты обрисовал, наконец, задачу которую решал...
источник

N

Nik in Delphi & Lazarus
Renat Suleymanov
Не важнл кто тут прав. Но дискуссию корректно ведет замтмм. Ник как обычно говорит нрубо и переходит на личности. Но замечу он сильно исправился правда. Раньше было хуже
Правильно. Если также "корректно вести дискуссию" - она будет вечной и с нулевым результатом. Если тебе некуда девать время своё - дискутируй корректно)
источник