There is no way to calculate or estimate the running time of a some piece of code based on its Big-O rating.
Big-O tells you how a method scales in terms of operations to perform. It has no idea how long one operation take to execute. Additionally, CPUs may be good or bad at executing some of the operations in parallel which makes it even harder.
The only way to figure out if you have a performance bottleneck is to do the following:
- Observe the code running. Does it take too long?
- Measure the code running. Does it take too long?
- Narrow down the measurements until you know which part of the code is the main bottleneck.
- Decide if it can be changed, will you get out of it what you put into it?
If you also know the Big-O rating of that code you can use that to decide if the bottleneck is going to be exponentially worse if you, as an example, double the number of items to process.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…