Итак, у меня есть вычислительно тяжелая функция C++, которая извлекает числа из файла и помещает их в вектор. Когда я запускаю эту функцию в основном, это занимает много времени. Можно ли каким-то образом вычислить эту функцию один раз, а затем связать с основной программой, чтобы я мог экономить драгоценное время вычислений в моей основной программе каждый раз, когда я пытаюсь ее запустить?Уменьшение общего времени вычислений
Функция у меня есть это:
vector <double> extract (vector <double> foo)
{
ifstream wlm;
wlm.open("wlm.dat");
if(wlm.is_open())
{
while (!wlm.eof())
{
//blah blah extraction stuff
}
return foo;
}
else
cout<<"File didn't open"<<endl;
wlm.close();
}
И моя главная программа имеет другие вещи, которые я вычисляю там. Я не хочу вызывать эту функцию из основной программы, потому что это займет много времени. Вместо этого я хочу, чтобы вектор был предварительно извлечен во время компиляции, поэтому я могу использовать извлеченный вектор позже в моей основной программе. Это возможно?
Почему вы спрашиваете нас? Купите себе секундомер и измерьте. –
Данные, которые вы читаете из файла, меняются от запуска до запуска? Или это статично? – Alex
_ «Кроме того, эта функция занимает много времени во время компиляции или во время исполнения?» _ Вы единственный, кто может это нам сказать. Ваш вопрос смущает два, несколько раз, до такой степени, что делает его неопровержимым. –