Ошибки, баги, вопросы - страница 2335

Ilnur Khasanov:
В метаэдиторе если один и тот же файл открыть в двух окнах, то невозможно быстро копипастить с одного места в другое. При получении фокуса файл скролится в то место где был фокус в другом окне.

Этому поведению лет уже триста. Что сводит на нет всё удобство многооконной работы с кодом.

Супер-тормозная конструкция
string Str[];
const int handle = FileOpen(FileName, FILE_READ | FILE_ANSI | FILE_TXT);  

FileReadArray(handle, Str);

Файл 40Мб из 1 миллиона строк считывает 18 секунд.


Тот же результат на выходе, но сделанный иначе

  uchar Bytes[];
  const int handle = FileOpen(FileName, FILE_READ | FILE_BIN);
  
  FileReadArray(handle, Bytes);

  string Str[];
  StringSplit(CharArrayToString(Bytes), '\n', Str);

выполняется уже за 0.5 секунды.

fxsaber:
Супер-тормозная конструкция

Файл 40Мб из 1 миллиона строк считывает 18 секунд.


Тот же результат на выходе, но сделанный иначе

выполняется уже за 0.5 секунды.

интересно, это холодный старт в обоих случаях?
или оно так же и при горячем?

Taras Slobodyanik:

интересно, это холодный старт в обоих случаях?
или оно так же и при горячем?

Всегда.

Нужно подчистить код - убрать неиспользуемые переменные, функции, методы, классы, структуры и т.д.

Как это сделать?

fxsaber:

Нужно подчистить код - убрать неиспользуемые переменные, функции, методы, классы, структуры и т.д.

Как это сделать?

Возможно это будет далеко не лучшим решением, но может помочь  профилирование. Но все равно это будет долгий ручной режим.


Кстати, заметил, что на больших программах профилировщик перестал работать. :((
Nikolai Semko :
Кстати, заметил, что на больших программах профилировщик перестал работать. :((

Что такое большие программы?

Я использую его без проблем на Build 1953.

Alain Verleyen:

Что такое большие программы?

Я использую его без проблем на Build 1953.

Да, извиняюсь. Я сделал неправильный вывод. 
У меня был 1950 билд и профилирование не работало на всех индикаторах.
Обновился до 1954 билда. Теперь профилирование работает.

Со static-переменными встречаются всякие нюансы. По какой причине такое поведение на обеих платформах?

#property strict

int f()
{
  static const string Symb = _Symbol;
  
  Print(Symb);
  
  return(0);
}

const int Init = f(); // Пусто

void OnStart()
{
  f(); // Не пусто
}