Size: a a a

2021 January 11

Р

Рус in Delphi & Lazarus
Sergey Bodrov
Где исходные данные, а где результат?
исходные данные в массиве, результатЫ в табличку складываю
источник

Р

Рус in Delphi & Lazarus
Рус
for MAsource in aMAsource do
 for MAlength in aMAlength do
     for shift in aShift do
       BackTest(MAsource, MAlength, (100 - shift) * 0.01);
это хозяйство можно распараллелить?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Рус
исходные данные в массиве, результатЫ в табличку складываю
Ок, один массив - исходные данные, второй - результат, а третий зачем? И почему они вложены?
источник

Р

Рус in Delphi & Lazarus
Sergey Bodrov
Ок, один массив - исходные данные, второй - результат, а третий зачем? И почему они вложены?
нужно перебрать все варианты набора параметров и выбрать наилучший результат
источник

Р

Рус in Delphi & Lazarus
три цикла - это перебор всех вариантов параметров
источник

Р

Рус in Delphi & Lazarus
Короче, я понял что только IF/Continue меня спасёт. Спасибо мужики👍
источник

SB

Sergey Bodrov in Delphi & Lazarus
Не за что
источник

Р

Рус in Delphi & Lazarus
А вот вопрос, если с потоками - то циклы уже не прокатят? Как организовать то?
источник

Р

Рус in Delphi & Lazarus
Например 4 потока
источник

Miss Очепятка... in Delphi & Lazarus
Рус
я уже до того дошёл, что почему то переменные boolean работают медленнее, чем checkbox на форме
Это Вы неправильно быстродействие меряете.
источник

BU

Boris Usievich in Delphi & Lazarus
Прежде чем городить потоки надо бы понять, сколько времени исполняется код (и включен  ли release режим в компиляторе)
источник

Miss Очепятка... in Delphi & Lazarus
Sergey Bodrov
Явно с кодом беда, потому что современному компу посчитать гигабайты данных вообще не проблема.
Проблема ессчё какая. У меня вот 8 гигов виндоус их архивирует до 1-3 Гб там переменно. Мало загрузить их ещё и обсчитать надо. Вот считает это всё 1 час. Процесс построения дерева плохо паралелится.
источник

Miss Очепятка... in Delphi & Lazarus
Рус
вариант не рабочий но смысл я понял, не хотелось бы мне ещё один if добавлять ради такого дела, вот беда то
Так if можно вынести из цикла.
источник

Р

Рус in Delphi & Lazarus
Miss Очепятка
Так if можно вынести из цикла.
эт как?
источник

Miss Очепятка... in Delphi & Lazarus
Рус
эт как?
Это подумать и придумать. Пример  по позже скину.
источник

Miss Очепятка... in Delphi & Lazarus
Вообще проще написать универсальный метод. Для такой задачи. Не то что проще там своих подводных камней хватает. В режиме отладчика подключиться к процессу сохранить состояние на жесткий диск потом сделать загрузку.
источник

Р

Рус in Delphi & Lazarus
Miss Очепятка
Вообще проще написать универсальный метод. Для такой задачи. Не то что проще там своих подводных камней хватает. В режиме отладчика подключиться к процессу сохранить состояние на жесткий диск потом сделать загрузку.
ой не, для юзверей это наверное не подойдёт
источник

AS

Alexey Shumkin in Delphi & Lazarus
Рус
А вот вопрос, если с потоками - то циклы уже не прокатят? Как организовать то?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Miss Очепятка
Вообще проще написать универсальный метод. Для такой задачи. Не то что проще там своих подводных камней хватает. В режиме отладчика подключиться к процессу сохранить состояние на жесткий диск потом сделать загрузку.
о, да! )) сама простота
источник

Р

Рус in Delphi & Lazarus
Alexey Shumkin
ну, будет время/желание - приведи методику такого "тестирования" )
procedure TForm1.FormResize(Sender: TObject);
var
 i: Integer;
 Start: Cardinal;
 check2: Boolean;
 a: Byte;
begin
 check2 := False;
 OnResize := nil;
 //--------------------------
 Start := GetTickCount;
 for i := 0 to 10000000000 do
   if CheckBox1.Checked then;
 Memo1.Lines.Add(FloatToStr((GetTickCount - Start) / 1000));
 //--------------------------
 Start := GetTickCount;
 for i := 0 to 10000000000 do
   if check2 then;
 Memo1.Lines.Add(FloatToStr((GetTickCount - Start) / 1000));
end;
Но вот сейчас осознаю, что я выбираю неподходящий момент для запуска)) Но ели это хозяйство на кнопку повесить, так там вообще дичь прилучается. Тут явно нужна доработка😁
источник