Книга: Learning Concurrency in Python
Назад: Kernprof
Дальше: Memory profile graphs

Memory profiling

Being able to profile your program's memory usage is yet another key skill that most senior developers will need in order to effectively debug issues with their systems. I've often seen developers pay little or no attention to the limitations of the hardware that they are developing on--I've also been one of the biggest perpetrators of this heinous crime.

I've loaded a server with a jenkins instance along with multiple heavy JVM-based systems as well as multiple cron jobs and whatever else I could fit in there, and seen it all come tumbling down after one particularly memory hungry program gobbled up all of the remaining memory available on that server. The main cause of the issue? I'd not paid attention to appropriate garbage collection within one of my applications, and over time it started throwing exceptions and dying on me slowly.

It was only once I'd been burned by this kind of issue that I started to seriously analyze the memory usage of the programs that I create. Within the Python ecosystem, we have a tool aptly called memory_profiler, which, very much like our line_profiler, generates informative tables based on the memory usage of each of the lines of our explicitly chosen functions.

In order to install the memory profiler, run the following command:

pip install -U memory_profiler

Again, we'll take the following program as our test bed:

import random
import time

@profile
def slowFunction():
time.sleep(random.randint(1,5))
print("Slow Function Executed")

def fastFunction():
print("Fast Function Executed")

def main():
slowFunction()
fastFunction()

if __name__ == '__main__':
main()

Thankfully, we are able to reuse the @profile annotation when it comes to memory profiling our slower function. In order to perform a memory profile, we can execute this:

$ python3.6 -m memory_profiler profileTest.py

Upon execution of this, you should then see a table, much the same layout as our line_profiler display in the console. This gives us the line numbers of the code that we are actively profiling, their associated memory usage, and the amount by which memory usage incremented when executing that line.

As you can see, our slowFunction in this particular program isn't exactly too demanding on our system, and thus, no real action needs to be taken.

Line #    Mem usage    Increment   Line Contents
================================================
4 33.766 MiB 0.000 MiB @profile
5 def slowFunction():
6 33.777 MiB 0.012 MiB time.sleep(random.randint(1,5))
7 33.785 MiB 0.008 MiB print("Slow Function Executed")
Назад: Kernprof
Дальше: Memory profile graphs

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) смотреть онлайн бесплатно юзеры смогут скоропостижно увидеть хороший вид фильма любимого формата с содействия интерфейса поиска, отбора либо ленты поисковой системы. Мы все это сделал взамен Вас также сделали подбор кино намного легче, именно на главной странице зрители имеют возможность просмотреть недавно свежую кино, известные мультисериалы и наибольше масштабные кино, ну а если надумаете увидеть фрагменты вероятного короткометражек текущего десятилетия, сейчас же переходите на раздел «В скором времени у кинотеатрах» и обозревайте вполне новинки сериалы в киноафише. Короткое описание сюжета, созданная оценка от наблюдателей и любое мнение подсказывают зрителю как выбрать кинофильм, какое понравится вовсе не для Вас, но также многим близким. Заходите затем включайте хорошие кинокартину непременно сейчас!