Rough estimate of running time from Big O

后端 未结 4 1542
余生分开走
余生分开走 2020-12-21 16:12

If the time complexity of my program is,say O(n^2),How do I express running time in terms of seconds for a large value of

4条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-21 16:58

    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:

    1. Observe the code running. Does it take too long?
    2. Measure the code running. Does it take too long?
    3. Narrow down the measurements until you know which part of the code is the main bottleneck.
    4. 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.

提交回复
热议问题