In order to effectively use cache memory, it is essential to ensure good data locality at the cache memory level. This can be achieved by appropriately transforming the source code of a program to a semantically equivalent form. The problem is, however, how – based only on the form of the source code of a program – to assess the data locality it involves and apply this assessment for selection of the source code of the shortest execution time. The paper presents Wolfe’s method of estimating data locality and - using the matrix multiplication problem for reference – discusses the possibilities of applying Wolfe’s method for the purpose of estimating the program execution time. The paper also presents software prepared by the authors and dedicated for estimating data locality.
Program execution time is one of the criteria taken into account during assessment of software quality. It is sometimes very difficult to precisely measure this time and carrying out necessary measurements requires running the program. However, there is very often no need to know this time precisely; it would be sufficient to estimate it with some error known in advance. The paper presents the proposal and assumptions of a model for estimating the time of execution of a program, based only on its source code. The paper introduces a sample statistical model which can be used for this purpose. It was created based on empirical data collected for the matrix multiplication problem. The paper also presents an analysis of possibilities of applying the above-mentioned statistical model to some other programs.