Книга: Learning Concurrency in Python
Назад: cProfile
Дальше: The line_profiler tool

Simple profile example

For this example, I'm going to use a program from the previous chapter, which showed us how to append things to a double-ended queue. It's a rather simplistic script which doesn't do a hell of a lot, so, it's perfect for showing you the results without too much noise.

import collections

doubleEndedQueue = collections.deque('123456')

print("Deque: {}".format(doubleEndedQueue))

doubleEndedQueue.append('1')
print("Deque: {}".format(doubleEndedQueue))

doubleEndedQueue.appendleft('6')
print("Deque: {}".format(doubleEndedQueue))

When we call cProfile on the preceding program, it should first run through the entire program for us and display the output on the console before displaying the tabled stats that it's recorded for this particular bit of code.

$ python3.6 -m cProfile 04_appendDeque.py
Deque: deque(['1', '2', '3', '4', '5', '6'])
Deque: deque(['1', '2', '3', '4', '5', '6', '1'])
Deque: deque(['6', '1', '2', '3', '4', '5', '6', '1'])
11 function calls in 0.000 seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 04_appendDeque.py:1(<module>)
1 0.000 0.000 0.000 0.000 {built-in method builtins.exec}
3 0.000 0.000 0.000 0.000 {built-in method builtins.print}
1 0.000 0.000 0.000 0.000 {method 'append' of 'collections.deque' objects}
1 0.000 0.000 0.000 0.000 {method 'appendleft' of 'collections.deque' objects}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
3 0.000 0.000 0.000 0.000 {method 'format' of 'str' objects}

As you can see, the preceding code takes next to no time to execute. We can see from this that the method append and appendleft were called a grand total of once each, and that they took a miniscule amount of time to execute. You can also see on the last line of our table that we called the format function thrice, and that it again took a minimal amount of time.

Let's see what happens if we try using the cProfile on a slightly more advanced program like this:

import threading
import random
import time

def myWorker():
for i in range(5):
print("Starting wait time")
time.sleep(random.randint(1,5))
print("Completed Wait")

thread1 = threading.Thread(target=myWorker)
thread2 = threading.Thread(target=myWorker)
thread3 = threading.Thread(target=myWorker)

thread1.start()
thread2.start()
thread3.start()

thread1.join()
thread2.join()
thread3.join()

If we were to execute cProfile on the last program, which doesn't look too mind bogglingly complex compared to our first program, then you should see a far bigger table rendered out to your console.

For this particular example, the output is far more insightful, and gives us an indication of where some of the slowdowns occur within our codebase so that we can further optimize and improve these speeds.

5157 function calls (5059 primitive calls) in 17.354 seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 17.354 17.354 01_timeit.py:1(<module>)

You should notice that the number of function calls in the preceding output is exponentially higher than that of our first program--a staggering 5157 function calls as opposed to 10.

This should give you some indication as to how drastically the performance of two programs can differ, and the sheer magnitude of the work that goes on in the background without our knowledge. cProfile, and other tools like this, give us an incredibly important insight into the inner workings of our systems, and arming ourselves with this knowledge allows us to actively start improving performances across all of our systems.

Назад: cProfile
Дальше: The line_profiler tool

MaxPowermuh
Download missing dll from Download unarc.dll page. Fix your error now!
Kimeror
Interested in hardrock? How about KISS? They are on a tour this year all across Canada and USA. Visit KISS Tour Dates Omaha to know more about KISS concert dates in 2019.
Carrieor
Carrie Underwood is my favourite country singer. She is young, beautiful and charming female in her 30s. Her strong voice takes me away from all troubles of this world so I start enjoy my life and listen songs created by her mind. Now the singer is on a Cry Pretty 360 Tour started in May of 2019. The concerts scheduled for this year, up to the 31st of October. Tickets are available for all men and women with different income. If you love country music as mush as I, then you must visit at least one of her concert. All tour dates are available at the Carrie Underwood tour Pittsburgh. Visit the website and make yourself familiar with all powerful Carrie Underwood concerts in 2019!
fff
fffffff
beautygocams
В нынешний час организовать оргазм в желанное место также извлечь удовлетворение в период, когда же Вам его хочется вовсе не есть трудностью. В случае когда пользователь одинокий и близи только табло ноутбука – из помощью указанному порно-ресурса порно чат хамстер мы обещаем доставит польователю фонтан ярких настроение также впечатлений ото красивых девушек, они желают с Вами поиграть. На страничке веб порнухи пользователь сможет использовать различные типы коммуникации, стартуя с очередного обзора прямой видео по портативного-видеокамеры затем финишируя приватным сексом с пришедшей по вкусу девушкой. К Вашему комфорту пользователь сможет оформить простую фиксацию также создать доступную лишь Вам страничку, на ней достаточно использовать копить бонусы затем применять их на шанс привилегии абонента именно на указанному веб-сайте. Ищите по разновидность, находите трансляции по вебке тогда лично направляйте движениями партнерши благодаря чатику или камеру вместе с самыми заводящими женщинами столицы.
AnthonyCoern
теплые полы электрические
livepornosexchat
Половое оргазм на сегодняшний день все же принципиально для людей, собственно как же здоровый продовольствие, потому же живые видеочаты, каковы содействуют пользователям передохнуть плюс заняться любовью указывают первые чарт в поисковой системе. Наш Порно ресурс русские порно чаты презентует пользователям анонимного посещения собственно к самым жарким дамам из всего мира – ищите девушку на персональные вкус также играйте в любовь через прямую картинкой на приват либо общем чате совсем без оплаты. Здесь пользователи полностью можете считать себя повелителем действий, так как каждая женщина может радовать только Вас плюс покоряться различным запросам. Данный видеочат под секса расширяет новым клиентам вполне уникальный формат: чат с девушками с помощью сайту, сексуальное-представления, вознаграждения при создания аккаунта, те что зрители смогут использовать под уникальных прав, подходящая поиск плюс другие плюшки, какие подарят Вам огромный жарких страсти также ощущения.
KinogoBlue
Часто томитесь с задаче, то что же посмотреть интригующее на следующий час? На источнике открытого и разного фильмов Kinogo Ой, мамочки (2017) смотреть онлайн бесплатно юзеры смогут скоропостижно увидеть хороший вид фильма любимого формата с содействия интерфейса поиска, отбора либо ленты поисковой системы. Мы все это сделал взамен Вас также сделали подбор кино намного легче, именно на главной странице зрители имеют возможность просмотреть недавно свежую кино, известные мультисериалы и наибольше масштабные кино, ну а если надумаете увидеть фрагменты вероятного короткометражек текущего десятилетия, сейчас же переходите на раздел «В скором времени у кинотеатрах» и обозревайте вполне новинки сериалы в киноафише. Короткое описание сюжета, созданная оценка от наблюдателей и любое мнение подсказывают зрителю как выбрать кинофильм, какое понравится вовсе не для Вас, но также многим близким. Заходите затем включайте хорошие кинокартину непременно сейчас!