0

I have a computer program that performs a task in a set of files. The time the program takes to finish is a function of how many files it is processing and the sum of their sizes, for example;

programTime(12 files, 24389 bytes) = 12 seconds
programTime(1 file, 24389 bytes) = 2 seconds

What is a good math technique that I can use to predict processing time for any combination of number of files and their total size?

Points to consider:

  1. I know I will have to deal with error margins, like in any method of extrapolation
  2. I can record the actual time of processing for every program execution in order to better improve later extrapolations (add a correction factor to my function)
  • Did you try multilinear regression ? – Claude Leibovici May 28 '15 at 14:49
  • I didn't know this specific term, I will google for it and let you know! – Renato Gama May 28 '15 at 14:51
  • It is just linear regression such as $$\text{time}=A + B, \text{files}+C ,\text{size}$$ and you adjust the coefficients to best match the data. – Claude Leibovici May 28 '15 at 15:01
  • @ClaudeLeibovici I am reading about it here but I am still not sure how to get to the most appropriate coefficients. It seems that after every program execution I will have to recalculate these coefficients to improve accuracy, right? – Renato Gama May 28 '15 at 15:22
  • No; you use available data to predict future (for sure, you can update from time to time your data base). If you want, send me by email (my address is in my profile) a few dozens of data points (files , size , time). No Excel file. Txt would be fine. Based on that, we could discuss further the topic. Cheers. – Claude Leibovici May 28 '15 at 16:40
  • Thank you very much, @ClaudeLeibovici, for your time. Will send you 100 records tomorrow (won't be able to do it today)! :) – Renato Gama May 28 '15 at 17:43

0 Answers0