How many GB of RAM is required make a sheet with all cells filled?
I tried to fill all cells with ‘1’ but it said there isn’t enough memory for doing it.
I calculated that there are 17179869184 cells in a sheet. Considering each cell takes 1 bit of memory, filling all will take exactly 2GB of memory.
My laptop has more 16 GB of RAM, still excel couldn’t complete the task.
What could be the reason?
Edit:
My assumption that one cell will take 1 bit of memory was wrong.
I experimented and filled all cells of A column with ‘1’ and checked the file size. Then filled all cells of B column, then C and repeated it till 30 columns. The file size increased by a value within the range 2.5 to 4 mb.
Average file size increase per column filled with ‘1’ was 3.5 MB.
If theoretically all columns were to be filled the file size would become 3.5 MB x 16384 = 56 GB.
Now I have arrived at a figure of file size. Now there is a need to establish what is relation between size of excel file and memory consumption. A 15 KB uses 105 MB RAM, whereas 50 MB files uses 335 MB RAM.
I dont have enough data to find any empirical relationship btw file size and RAM consumption, I guess I would never know how many GBs of RAM is required to open a file with all cells filled with ‘1’.
Edit 2:
File size vs RAM consumption
I finally found an empirical formula that works on my pc.
I made 3 4 excel files
File 1 : blank. Size 9KB, taking it as 0MB
File 2 : 50 MB
File 3 : 135 MB
File 4 : 280 MB
I opened it one by one and checked RAM consumption. File size (X) vs RAM consumption (Y) was as follows:
X,Y
0,105
50,335
135,750
280,1346
With this data I plotted and found a linear relation.
Equation: Y = 4.4392(X) + 117.94
R^2 = 0.9983 (very strong)
Now, I needed to check it with unseen data.
I made a file of size 651 MB i.e. X. The equation gave Y = 3007.
Time to check the actual RAM usage. It was 3145 MB. Almost same.
Thus, my equation works.
So, a file of 56 GB will require RAM of 248.71 GB RAM as per the equation.
PS : I am not sure how correct this analysis is. But now I am contented that I have done all I could with my limited knowledge in this domain. I thank you all for the help and ideas.
[link] [comments]
Want to read more?
Check out the full article on the original site