در این مطلب، ویدئو نمایه سازی حافظه در پایتون – بررسی میزان استفاده از حافظه کد (2021) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:14:47
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,240 –> 00:00:01,680
سلام به همه خوش آمدید دوباره
2
00:00:01,680 –> 00:00:03,439
نام من جسی است و این یک آموزش فوق العاده و
3
00:00:03,439 –> 00:00:04,400
هیجان انگیز است
4
00:00:04,400 –> 00:00:05,600
ما سعی می کنیم یک بسته بسیار زیبا
5
00:00:05,600 –> 00:00:07,759
به نام پروفایلر حافظه را توضیح دهیم که برای مواردی مفید است که
6
00:00:07,759 –> 00:00:09,280
می خواهید
7
00:00:09,280 –> 00:00:09,840
8
00:00:09,840 –> 00:00:11,280
پروفایل ساده ای از کد خود را درست انجام دهید، بنابراین
9
00:00:11,280 –> 00:00:12,639
چندین مورد وجود دارد. روشهایی که میتوانید کد خود را نمایه کنید،
10
00:00:12,639 –> 00:00:13,040
11
00:00:13,040 –> 00:00:15,040
میتوانید حافظهای را که
12
00:00:15,040 –> 00:00:16,400
هنگام اجرای آن در قسمت خاصی
13
00:00:16,400 –> 00:00:17,119
از کد میگیرد نمایه کنید
14
00:00:17,119 –> 00:00:19,680
یا همچنین میتوانید زمان اجرای
15
00:00:19,680 –> 00:00:20,960
کد خود را درست بررسی کنید تا چندین ابزار وجود داشته باشد
16
00:00:20,960 –> 00:00:22,640
که بتوانید
17
00:00:22,640 –> 00:00:25,680
نمایه c استاندارد را داشته باشید که ترکیبی از آن است.
18
00:00:25,680 –> 00:00:27,359
که با کتابخانه استاندارد ارائه می شود،
19
00:00:27,359 –> 00:00:28,960
ما یک پروفایلر حافظه نیز داریم
20
00:00:28,960 –> 00:00:30,560
که برای نمایه سازی حافظه شما به
21
00:00:30,560 –> 00:00:30,960
طور مستقیم
22
00:00:30,960 –> 00:00:33,200
در رم مفید است، سپس شما همچنین مقیاس بندی دارید
23
00:00:33,200 –> 00:00:34,000
که ترکیبی از
24
00:00:34,000 –> 00:00:35,840
پروفایلر خط و پروفایلر به خاطر سپردن با
25
00:00:35,840 –> 00:00:37,920
برخی ابزارهای دیگر است، سپس پروفایل خط را نیز دارید
26
00:00:37,920 –> 00:00:38,800
که به
27
00:00:38,800 –> 00:00:40,960
طور خاص می باشد. برای مدت زمانی که طول می کشد تا یک
28
00:00:40,960 –> 00:00:42,160
بخش خاص از کد شما به
29
00:00:42,160 –> 00:00:43,200
درستی اجرا شود،
30
00:00:43,200 –> 00:00:45,120
بنابراین انواع مختلف نمایه سازی
31
00:00:45,120 –> 00:00:46,879
ما قطعی است
32
00:00:46,879 –> 00:00:49,440
که پیش می رود برای نظارت بر هر عبارت،
33
00:00:49,440 –> 00:00:50,719
هر تابع،
34
00:00:50,719 –> 00:00:53,199
هر استثنا را در کد شما نامیده است و بنابراین
35
00:00:53,199 –> 00:00:54,800
آمار ما که
36
00:00:54,800 –> 00:00:55,440
37
00:00:55,440 –> 00:00:57,520
نمونهبرداری تصادفی از کد شما را انجام میدهد و سپس نمایه
38
00:00:57,520 –> 00:00:59,359
آن را نشان میدهد، بنابراین بیایید ببینیم چگونه با جنبه
39
00:00:59,359 –> 00:01:00,399
پروفایل حافظه
40
00:01:00,399 –> 00:01:02,160
کار کنیم، بنابراین برای کار با این فقط کافی است
41
00:01:02,160 –> 00:01:03,920
این کاغذ بسته خاص،
42
00:01:03,920 –> 00:01:05,519
پروفایلر حافظه را در سیستم نصب نصب می کند،
43
00:01:05,519 –> 00:01:07,280
بنابراین من فقط این یکی را در اینجا کپی
44
00:01:07,280 –> 00:01:09,119
می کنم به ترمینال خود بازگردم سپس می توانم
45
00:01:09,119 –> 00:01:10,880
آن را روی سیستم خود نصب
46
00:01:10,880 –> 00:01:13,680
کنم. من از پایتون 3 استفاده می کنم. شما پیپ 3 را درست می دانید
47
00:01:13,680 –> 00:01:14,159
یا
48
00:01:14,159 –> 00:01:15,520
باید نصب کنید آن را روی سیستم
49
00:01:15,520 –> 00:01:17,759
باز میکند، بنابراین من مستقیماً میروم،
50
00:01:17,759 –> 00:01:19,280
بیایید به عقب برگردیم و آن را بررسی
51
00:01:19,280 –> 00:01:20,640
کنیم، اینجا چیزی نیست، میخواهم
52
00:01:20,640 –> 00:01:21,439
یک فایل به نام
53
00:01:21,439 –> 00:01:24,080
touch script.pi ایجاد کنم و
54
00:01:24,080 –> 00:01:26,880
این فایل عضلانی را باز میکنم،
55
00:01:26,880 –> 00:01:28,240
بنابراین اجازه دهید این را ببینیم. اینجا یک فایل است
56
00:01:28,240 –> 00:01:30,079
هیچ چیزی درست نیست من میخواهم یک تابع ساده ایجاد
57
00:01:30,079 –> 00:01:30,720
58
00:01:30,720 –> 00:01:32,240
کنم و میخواهم آن را نمایه کنم، بنابراین
59
00:01:32,240 –> 00:01:34,079
کلید مسی خود را وارد میکنم،
60
00:01:34,079 –> 00:01:37,360
آن numpy میشود، بنابراین numpy را
61
00:01:37,360 –> 00:01:39,280
به عنوان np درست وارد کنید، من یک تابع ایجاد میکنم
62
00:01:39,280 –> 00:01:41,360
به نام مثال
63
00:01:41,360 –> 00:01:43,439
یک و این f unction یک
64
00:01:43,439 –> 00:01:45,680
تابع ساده است که هیچ آرگومانی را نمی پذیرد،
65
00:01:45,680 –> 00:01:47,360
می خواهم متغیری
66
00:01:47,360 –> 00:01:50,159
به نام d ایجاد کنم،
67
00:01:50,159 –> 00:01:52,479
یک بار درست یک فاصله تصادفی ایجاد می کنم، پس یک بار
68
00:01:52,479 –> 00:01:53,439
این
69
00:01:53,439 –> 00:01:57,119
تابع در اینجا دوباره هزار هزار را صفر
70
00:01:57,119 –> 00:01:59,200
می کنم اگر i if من آن را اجرا می کنم
71
00:01:59,200 –> 00:02:00,479
و با ده هزار نفر
72
00:02:00,479 –> 00:02:02,560
می روم بازوهایم را پر می کند، ساقه من
73
00:02:02,560 –> 00:02:03,759
به شدت منقبض می شود،
74
00:02:03,759 –> 00:02:06,000
پس بیایید این نتیجه خاص را برگردانیم
75
00:02:06,000 –> 00:02:07,840
76
00:02:07,840 –> 00:02:09,598
تا در صورتی که بخواهم نمایه کنم چه مقدار
77
00:02:09,598 –> 00:02:12,640
حافظه نه فقط زمان بلکه حافظه
78
00:02:12,640 –> 00:02:14,959
یا مقدار حافظه ای که از
79
00:02:14,959 –> 00:02:16,239
این تابع خاص استفاده می شود،
80
00:02:16,239 –> 00:02:17,840
سپس من از این گزینه خاص استفاده می کنم، بنابراین
81
00:02:17,840 –> 00:02:20,319
بیایید از یک ساده استفاده کنیم اگر به این معنی است
82
00:02:20,319 –> 00:02:22,720
که می خواهم این را به عنوان مثال خود فراخوانی
83
00:02:22,720 –> 00:02:23,760
84
00:02:23,760 –> 00:02:24,959
85
00:02:24,959 –> 00:02:26,879
کنم. حافظه ای
86
00:02:26,879 –> 00:02:28,560
که از آن استفاده می کند نه تنها از زمان لازم
87
00:02:28,560 –> 00:02:30,239
برای اجرا استفاده می کند، بلکه از حافظه
88
00:02:30,239 –> 00:02:32,959
ای که من فقط
89
00:02:32,959 –> 00:02:34,319
90
00:02:34,319 –> 00:02:35,120
91
00:02:35,120 –> 00:02:37,440
با آن می روم استفاده می کند. فقط می
92
00:02:37,440 –> 00:02:39,200
خواهم آن را وارد کنم، بنابراین از
93
00:02:39,200 –> 00:02:42,319
نمایه حافظه،
94
00:02:42,319 –> 00:02:44,400
من می خواهم t o تابعی به نام
95
00:02:44,400 –> 00:02:46,080
نمایه را وارد کنید، بنابراین این تابع خاص را که
96
00:02:46,080 –> 00:02:47,680
من وارد میکنم، آن را بهعنوان
97
00:02:47,680 –> 00:02:50,400
یک نام میگذارم، گفتم decorator
98
00:02:50,400 –> 00:02:51,599
بنابراین پروفایل،
99
00:02:51,599 –> 00:02:53,200
بنابراین تمام چیزی که من نیاز دارم درست است، بنابراین اگر
100
00:02:53,200 –> 00:02:55,280
بخواهم هر کدام را ترجیح دهم تابع
101
00:02:55,280 –> 00:02:56,480
من فقط از این
102
00:02:56,480 –> 00:02:58,560
تابع نمایه خاص به درستی استفاده می کنم و
103
00:02:58,560 –> 00:03:00,319
به عنوان یک تزئین کننده روی تابع من
104
00:03:00,319 –> 00:03:00,879
در اینجا می آید،
105
00:03:00,879 –> 00:03:02,720
سپس آن را در اینجا اجرا می کنم، بنابراین بیایید ببینیم
106
00:03:02,720 –> 00:03:04,000
چگونه
107
00:03:04,000 –> 00:03:05,920
آن را اجرا کنیم تا بررسی کنیم که این
108
00:03:05,920 –> 00:03:07,519
تابع خاص چقدر حافظه دارد. بنابراین، من به
109
00:03:07,519 –> 00:03:08,000
110
00:03:08,000 –> 00:03:10,239
سمت ترمینال خود برمی گردم و فقط می خواهم
111
00:03:10,239 –> 00:03:11,840
آن را از طریق این گزینه
112
00:03:11,840 –> 00:03:15,120
اجرا کنم، بنابراین برای اجرای آن فقط به پایتون 3 dash
113
00:03:15,120 –> 00:03:17,280
m بروید، بنابراین dash m یعنی مدلی
114
00:03:17,280 –> 00:03:18,560
به نام memory profiler را
115
00:03:18,560 –> 00:03:20,159
انتخاب می کنم و سپس فایل را انتخاب می کنم. از سمت راست آن
116
00:03:20,159 –> 00:03:21,840
فایل را رد کنید، بنابراین اسکریپت
117
00:03:21,840 –> 00:03:24,879
نقطه pi، بنابراین اگر آن را اجرا کردم،
118
00:03:24,879 –> 00:03:27,599
آن تابع خاص را در اینجا اجرا می
119
00:03:27,599 –> 00:03:28,959
کنم و سپس آن را نمایه می کنم
120
00:03:28,959 –> 00:03:30,640
و نتیجه
121
00:03:30,640 –> 00:03:32,560
voila را به ما می دهم تا همانطور که می بینید، اجازه دهید آن را کنار هم قرار دهم
122
00:03:32,560 –> 00:03:34,000
123
00:03:34,000 –> 00:03:35,840
بنابراین من آن را در کنار هم قرار دادم
124
00:03:35,840 –> 00:03:39,360
بابت سروصدایی که پشت سر می شنوید عذرخواهی می کنم
125
00:03:40,239 –> 00:03:41,599
میخواهم کد
126
00:03:41,599 –> 00:03:43,599
را کنار هم بگذارم، بیایید نتیجه را درست
127
00:03:43,599 –> 00:03:45,120
ببینیم، میتوانید ببینید که این در
128
00:03:45,120 –> 00:03:46,640
واقع نتیجه را درست به ما میدهد،
129
00:03:46,640 –> 00:03:48,799
بنابراین بر اساس آنچه شما دارید،
130
00:03:48,799 –> 00:03:50,560
بنابراین اولین خط در اینجا این خط
131
00:03:50,560 –> 00:03:52,319
خاص، خطی است برای کد
132
00:03:52,319 –> 00:03:52,720
درست است
133
00:03:52,720 –> 00:03:55,280
بنابراین تابع شروع شده شماره هفت
134
00:03:55,280 –> 00:03:57,200
درست است این نمایه خاص
135
00:03:57,200 –> 00:03:57,519
در اینجا
136
00:03:57,519 –> 00:03:59,360
است که خط شماره هفت خط
137
00:03:59,360 –> 00:04:01,040
شماره هفت است بنابراین این ستون یک
138
00:04:01,040 –> 00:04:01,439
خط است در
139
00:04:01,439 –> 00:04:03,040
سمت راست خط کد که
140
00:04:03,040 –> 00:04:04,959
همان چیزی است که شماره هفت شماره هشت
141
00:04:04,959 –> 00:04:07,680
عدد بله است. عدد سمت راست نه و سپس
142
00:04:07,680 –> 00:04:08,560
عدد ده درست
143
00:04:08,560 –> 00:04:11,120
پس هفت می شود نه ده کامل، پس این
144
00:04:11,120 –> 00:04:12,959
یکی در اینجا میزان استفاده از حافظه این است که
145
00:04:12,959 –> 00:04:13,519
146
00:04:13,519 –> 00:04:15,599
این تابع خاص چقدر حافظه می گیرد، بنابراین
147
00:04:15,599 –> 00:04:18,160
آنها در تزئین پروفایل
148
00:04:18,160 –> 00:04:21,358
حدود 49.6 مگابایت در حافظه می گیرند،
149
00:04:21,358 –> 00:04:23,759
درست بسیار ساده و سپس همان یک.
150
00:04:23,759 –> 00:04:25,280
به تابع بعدی می رود که
151
00:04:25,280 –> 00:04:25,600
این
152
00:04:25,600 –> 00:04:27,440
تابع خاص است که سپس یک
153
00:04:27,440 –> 00:04:29,440
متغیر متوجه هر حافظه می شود
154
00:04:29,440 –> 00:04:32,479
سپس این تابع خاص در اینجا بنابراین d
155
00:04:32,479 –> 00:04:34,000
این خط در اینجا که همان خط
156
00:04:34,000 –> 00:04:35,840
در اینجا خط خط n است.
157
00:04:35,840 –> 00:04:38,720
ine این مقدار را هشت و یک دو
158
00:04:38,720 –> 00:04:40,400
مگابایت درست می گیرد زیرا این مقدار بسیار بزرگ است و
159
00:04:40,400 –> 00:04:42,000
فقط این مقدار پول را می گیرد
160
00:04:42,000 –> 00:04:43,280
و سپس این افزایش
161
00:04:43,280 –> 00:04:45,040
تفاوت است. افزایش در
162
00:04:45,040 –> 00:04:46,639
اینجا تفاوت بین این و این
163
00:04:46,639 –> 00:04:48,160
حق است بنابراین افزایش بین
164
00:04:48,160 –> 00:04:51,600
اوه دو یک هشت یک دو منهای است. چهار
165
00:04:51,600 –> 00:04:53,120
نه عدد افزایش عروقی است درست
166
00:04:53,120 –> 00:04:54,400
شما یکی قبلی را از
167
00:04:54,400 –> 00:04:55,120
فعلی می گیرید
168
00:04:55,120 –> 00:04:56,720
که بزرگترین درک است
169
00:04:56,720 –> 00:04:58,160
و اتفاق این است که این تابع خاص چند بار
170
00:04:58,160 –> 00:04:59,360
171
00:04:59,360 –> 00:05:01,199
اجرا می شود و می توانید نتیجه نهایی را ببینید
172
00:05:01,199 –> 00:05:02,479
پس پس از برگرداندن آن این
173
00:05:02,479 –> 00:05:04,639
است. حالا صفر راست شما این
174
00:05:04,639 –> 00:05:06,160
یکی را از طراحی کم کنید صفر است
175
00:05:06,160 –> 00:05:08,000
که درک بزرگی است، بنابراین این
176
00:05:08,000 –> 00:05:09,600
منهای این به ما این را می دهد این یکی انجام می
177
00:05:09,600 –> 00:05:10,800
دهد این حق را به ما
178
00:05:10,800 –> 00:05:14,000
می دهد، یعنی نحوه پروفایل کردن حافظه ای که
179
00:05:14,000 –> 00:05:15,600
یک تابع خاص می گیرد، بنابراین بیایید
180
00:05:15,600 –> 00:05:17,199
یک تابع دیگر را اضافه
181
00:05:17,199 –> 00:05:18,800
کنیم اگر میخواهم تمام این مطالب را
182
00:05:18,800 –> 00:05:20,479
درست ترسیم کنم، شما نمیخواهید
183
00:05:20,479 –> 00:05:21,759
آن را در قالب یک طرح میخواهید، میتوانید
184
00:05:21,759 –> 00:05:22,960
دوباره به همان مکان برگردید و
185
00:05:22,960 –> 00:05:24,160
فقط ایجاد کنید
186
00:05:24,160 –> 00:05:27,520
187
00:05:27,520 –> 00:05:29,199
من یکراست به سراغ آن میروم، سپس شما
188
00:05:29,199 –> 00:05:30,960
ابتدا آن را اجرا میکنید، بنابراین اگر ابتدا آن را اجرا کردم،
189
00:05:30,960 –> 00:05:32,560
بیایید آن را با ls بررسی کنیم.
190
00:05:32,560 –> 00:05:35,600
191
00:05:35,600 –> 00:05:37,919
192
00:05:37,919 –> 00:05:40,080
من فقط با
193
00:05:40,080 –> 00:05:43,360
پروفایل حافظه m prof dot run
194
00:05:43,360 –> 00:05:44,639
195
00:05:44,639 –> 00:05:46,400
می روم، سپس اسکریپت ها می روند تا آن را اجرا کنند و یک فایل نقطه درست ایجاد می کنند،
196
00:05:46,400 –> 00:05:48,320
بنابراین این یک فایل خط تیره ایجاد می کند،
197
00:05:48,320 –> 00:05:49,919
بنابراین فرآیند اجرا به عنوان یک
198
00:05:49,919 –> 00:05:51,520
برنامه پایتون اجرا
199
00:05:51,520 –> 00:05:53,120
می شود که همان چیزی را تولید می کند
200
00:05:53,120 –> 00:05:54,479
که ما انجام داده ایم،
201
00:05:54,479 –> 00:05:55,120
202
00:05:55,120 –> 00:05:56,560
اگر به عقب برگردم و آن را بررسی کنم، یک فایل داده تولید می کنیم، بنابراین
203
00:05:56,560 –> 00:05:58,639
ما این فایل dt خاص را
204
00:05:58,639 –> 00:06:00,400
با همه گزارش ها و همه چیز
205
00:06:00,400 –> 00:06:01,759
درست داریم، بسیار عالی،
206
00:06:01,759 –> 00:06:05,199
درست، خیلی خوب، خوب،
207
00:06:05,199 –> 00:06:07,759
حالا اگر بخواهم این را ترسیم کنم، عالی است.
208
00:06:07,759 –> 00:06:09,680
همه چیز درست است چگونه می توانم آن را ترسیم کنم
209
00:06:09,680 –> 00:06:11,440
مثل اینکه شما فقط می توانید دوباره به عقب برگردید و سپس
210
00:06:11,440 –> 00:06:14,080
برای ترسیم آن فقط به این لیست بروید،
211
00:06:14,080 –> 00:06:16,560
بیایید این را از کل
212
00:06:16,560 –> 00:06:18,000
چیزهایی که برای ترسیم انجام داده ایم پاک
213
00:06:18,000 –> 00:06:19,840
کنیم این اولین موردی بود که
214
00:06:19,840 –> 00:06:21,360
اجرا کردیم زیرا من می خواهم برای ترسیم کل
215
00:06:21,360 –> 00:06:22,800
مطالب
216
00:06:22,800 –> 00:06:25,840
چیزی وجود دارد a بهره
217
00:06:26,400 –> 00:06:27,919
و من آن را با این گزینه
218
00:06:27,919 –> 00:06:29,840
رسم می کنم، بنابراین
219
00:06:29,840 –> 00:06:31,680
بدون ارائه هیچ استدلالی، طرح را فقط ترسیم
220
00:06:31,680 –> 00:06:33,440
221
00:06:33,440 –> 00:06:35,039
222
00:06:35,039 –> 00:06:37,600
223
00:06:38,400 –> 00:06:39,759
224
00:06:39,759 –> 00:06:42,240
کنید. بسیار قدرتمند و مفید
225
00:06:42,240 –> 00:06:43,919
voila فقط به ما یک طرح ارائه می دهد، بنابراین این یک
226
00:06:43,919 –> 00:06:45,680
طرح از نحوه استفاده از آن است،
227
00:06:45,680 –> 00:06:47,680
بنابراین این میزان استفاده از حافظه و زمان
228
00:06:47,680 –> 00:06:49,520
مناسب است، بنابراین در ابتدای آن کم بود،
229
00:06:49,520 –> 00:06:52,319
پایین، سپس این مکان یک 42
230
00:06:52,319 –> 00:06:52,800
231
00:06:52,800 –> 00:06:55,599
بود. یک عدد 49 که از این مکان خاص می آید
232
00:06:55,599 –> 00:06:57,599
، این 14 دقیقاً اینجاست که اینجا
233
00:06:57,599 –> 00:07:00,880
دقیقاً در اطراف این مکان است، سپس
234
00:07:00,880 –> 00:07:04,319
به 8000 یا 800 رسید که این مکان است،
235
00:07:04,319 –> 00:07:06,080
سپس درست پایین آمد که یک روش بسیار
236
00:07:06,080 –> 00:07:07,759
خوب برای ترسیم آن است،
237
00:07:07,759 –> 00:07:10,240
بنابراین اگر می خواهید یک نام خوب دریافت کنید
238
00:07:10,240 –> 00:07:11,360
شما این نام خاص را نمی خواهید شما
239
00:07:11,360 –> 00:07:12,400
یک نام بهتر
240
00:07:12,400 –> 00:07:14,080
می خواهید فقط می توانید آن را در اینجا
241
00:07:14,080 –> 00:07:16,479
ذخیره کنید فقط طرح را ذخیره کنید می بینید ما
242
00:07:16,479 –> 00:07:17,680
هر کاری می خواهید برای ذخیره آن
24