DEV Community

loading...
Cover image for Do you even Refactor? 001

Do you even Refactor? 001

Ilya Nevolin
Enterprising Software Engineer. Created and sold several small software companies.
・1 min read

Code refactoring is crucial but often overlooked. It can improve the design and performance of existing code.

The Python code below takes about 12 seconds to execute. Refactor the getData function to make it run in less than 1 second. Post your answer in the comments.

import time

def getData():
  arr = []
  for i in range(1000*1000*100):
    arr.append(5)
  return arr


def timed(func):
  def run():
    Tstart = time.time()
    func()  
    Tend = time.time()
    Tdt = round(Tend - Tstart, 2)
    print(Tdt, 'seconds')
  return run

@timed
def main():
  print(len(getData()))

main()
Enter fullscreen mode Exit fullscreen mode

Discussion (2)

Collapse
s9k96 profile image
Shubham Saxena

Skipping the loop

def getData():
    return [5]*1000*1000*100
Enter fullscreen mode Exit fullscreen mode
Collapse
codr profile image
Ilya Nevolin Author

perfect!