در این مطلب، ویدئو مقایسه سرعت – Python VS Go با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:54
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,240 –> 00:00:09,120
[موسیقی]
2
00:00:09,120 –> 00:00:10,559
بچهها در
3
00:00:10,559 –> 00:00:12,160
ویدیوی امروز به چه اتفاقی میافتد خوش آمدید، ما میخواهیم
4
00:00:12,160 –> 00:00:14,559
پایتون را با هم از نظر سرعت مقایسه کنیم، بنابراین اجازه
5
00:00:14,559 –> 00:00:16,079
دهید
6
00:00:16,079 –> 00:00:17,359
همه چیز را درست وارد کنیم تا امروز پایتون را با هم مقایسه کنیم
7
00:00:17,359 –> 00:00:19,600
و از نظر سرعت پیش برویم.
8
00:00:19,600 –> 00:00:21,439
اما قرار نیست از مفاهیمی مانند
9
00:00:21,439 –> 00:00:23,600
همزمانی استفاده کنیم، بنابراین نمیخواهیم
10
00:00:23,600 –> 00:00:25,599
نشان دهیم که go سریعتر است، زیرا go میتواند
11
00:00:25,599 –> 00:00:27,599
از همزمانی استفاده کند، زیرا این
12
00:00:27,599 –> 00:00:29,439
مهارت ویژهای است که نقطه قوت اصلی
13
00:00:29,439 –> 00:00:31,039
زبان Go است که ما فقط میخواهیم نشان دهیم
14
00:00:31,039 –> 00:00:32,640
که خود حرکت میکند.
15
00:00:32,640 –> 00:00:35,520
زبان اصلی go در
16
00:00:35,520 –> 00:00:37,440
زمان اجرا سریعتر از پایتون است،
17
00:00:37,440 –> 00:00:38,160
18
00:00:38,160 –> 00:00:39,680
بنابراین برای اینکه نشان دهیم ما فقط
19
00:00:39,680 –> 00:00:41,680
یک اسکریپت مرتبسازی ساده مینویسیم،
20
00:00:41,680 –> 00:00:42,879
بنابراین
21
00:00:42,879 –> 00:00:44,559
میخواهیم یک اسکریپت پایتون بنویسیم که
22
00:00:44,559 –> 00:00:46,239
لیستی از اعداد را مرتب میکند. و ما قصد داریم
23
00:00:46,239 –> 00:00:48,719
یک اسکریپت go بنویسیم که لیستی از اعداد را مرتب می کند
24
00:00:48,719 –> 00:00:50,399
و برای انجام این کار فقط
25
00:00:50,399 –> 00:00:52,719
یک
26
00:00:52,719 –> 00:00:55,360
اسکریپت پایتون اصلی را در اینجا باز می کنیم تا program.py و
27
00:00:55,360 –> 00:00:56,800
کاری که می خواهیم انجام دهیم این است که دوباره
28
00:00:56,800 –> 00:00:57,440
29
00:00:57,440 –> 00:01:01,440
ماژول زمان و ماژول تصادفی
30
00:01:01,440 –> 00:01:03,280
را وارد می کنیم و فقط یک l ایجاد می کنیم لیستی از
31
00:01:03,280 –> 00:01:06,159
اعداد تصادفی است، بنابراین میخواهیم بگوییم
32
00:01:06,159 –> 00:01:09,360
لیست من یک لیست خالی است و سپس
33
00:01:09,360 –> 00:01:12,799
4 برای
34
00:01:12,799 –> 00:01:15,439
uh متغیر در محدوده است و سپس
35
00:01:15,439 –> 00:01:16,640
36
00:01:16,640 –> 00:01:19,520
فقط صد هزار عدد تولید
37
00:01:19,520 –> 00:01:20,640
میکنیم و آنها را به لیست من اضافه میکنیم.
38
00:01:20,640 –> 00:01:24,840
لیست من ضمیمه
39
00:01:24,840 –> 00:01:27,200
um
40
00:01:27,200 –> 00:01:31,520
در واقع نقطه تصادفی randint
41
00:01:31,520 –> 00:01:34,159
از صفر تا صد چیزی شبیه به
42
00:01:34,159 –> 00:01:35,360
آن،
43
00:01:35,360 –> 00:01:37,119
بنابراین فقط صد هزار
44
00:01:37,119 –> 00:01:39,759
عدد تصادفی بین صفر و a
45
00:01:39,759 –> 00:01:41,759
و این لیست است و سپس ما فقط می
46
00:01:41,759 –> 00:01:43,680
خواهیم آن لیست را مرتب کنیم و
47
00:01:43,680 –> 00:01:46,799
زمان اجرا را اندازه گیری کنیم.
48
00:01:46,799 –> 00:01:49,439
مرتبسازی نقطههای فهرست به این صورت این تنها کاری است که باید
49
00:01:49,439 –> 00:01:51,600
انجام دهیم
50
00:01:51,600 –> 00:01:53,360
و برای اندازهگیری زمان، کاری که
51
00:01:53,360 –> 00:01:54,880
میخواهیم انجام دهیم این است که بگوییم
52
00:01:54,880 –> 00:01:56,799
شروع برابر است با
53
00:01:56,799 –> 00:01:59,280
زمان نقطه و زمانی که
54
00:01:59,280 –> 00:02:00,079
کارمان تمام شد، میگوییم
55
00:02:00,079 –> 00:02:03,200
پایان برابر زمان نقطه زمانی توجه کنید که
56
00:02:03,200 –> 00:02:04,560
ما فرآیند تولید اعداد را نیز شامل میشویم،
57
00:02:04,560 –> 00:02:07,520
بنابراین
58
00:02:07,520 –> 00:02:09,119
این نیز چیزی است که باید
59
00:02:09,119 –> 00:02:10,160
در اینجا مقایسه کنیم
60
00:02:10,160 –> 00:02:11,840
و در پایان فقط میخواهیم بگوییم
61
00:02:11,840 –> 00:02:13,680
62
00:02:13,680 –> 00:02:16,560
رشتهای با فرمت چاپ کنید و
63
00:02:16,560 –> 00:02:18,080
um را خواهیم داشت.
64
00:02:18,080 –> 00:02:21,040
زمان اجرا بنابراین ما می خواهیم بگوییم
65
00:02:21,040 –> 00:02:21,360
و
66
00:02:21,360 –> 00:02:23,680
منهای شروع اما ما دوباره
67
00:02:23,680 –> 00:02:24,640
در هزار ضرب
68
00:02:24,640 –> 00:02:26,879
میشویم، بهجای ثانیهها، میلیثانیهها را به دست میآوریم،
69
00:02:26,879 –> 00:02:27,840
70
00:02:27,840 –> 00:02:29,360
زیرا go قرار است ثانیهها را به دست بیاورد،
71
00:02:29,360 –> 00:02:31,680
متأسفم،
72
00:02:31,680 –> 00:02:34,400
اوه، و سپس ما فقط میخواهیم در
73
00:02:34,400 –> 00:02:36,160
واقع اشتباهی در اینجا انجام دادم، باید از
74
00:02:36,160 –> 00:02:38,239
پرانتز در اینجا استفاده کنیم.
75
00:02:38,239 –> 00:02:40,480
آن و سپس ما فقط می خواهیم
76
00:02:40,480 –> 00:02:43,519
برای میلی ثانیه بگوییم ms.
77
00:02:43,519 –> 00:02:45,120
78
00:02:45,120 –> 00:02:46,640
79
00:02:46,640 –> 00:02:49,120
80
00:02:49,120 –> 00:02:50,160
81
00:02:50,160 –> 00:02:54,480
فقط اجازه دهید
82
00:02:54,640 –> 00:02:57,120
یک فایل جدید در اینجا ایجاد کنم و
83
00:02:57,120 –> 00:02:58,640
ما این
84
00:02:58,640 –> 00:03:02,000
برنامه فایل را dot go صدا می
85
00:03:02,840 –> 00:03:06,159
زنیم و آن را
86
00:03:06,159 –> 00:03:08,239
در یک برگه جدید باز می کنیم اینجا و اینجا ما فقط می
87
00:03:08,239 –> 00:03:09,599
88
00:03:09,599 –> 00:03:11,440
خواهیم اساسی را وارد کنیم یا در واقع ما ابتدا باید بگوییم
89
00:03:11,440 –> 00:03:12,800
بسته اصلی
90
00:03:12,800 –> 00:03:14,720
و ما کتابخانههای اصلی را وارد
91
00:03:14,720 –> 00:03:17,120
میکنیم که به آنها نیاز داریم،
92
00:03:17,120 –> 00:03:20,720
آنها fmt هستند برای قالببندی اولیه
93
00:03:20,720 –> 00:03:23,440
که برای اندازهگیری به زمان نیاز داریم و
94
00:03:23,440 –> 00:03:24,319
به
95
00:03:24,319 –> 00:03:28,319
مرتبسازی نیاز داریم و به
96
00:03:28,319 –> 00:03:32,080
تصادفی ریاضی مانند آن یا در واقع ریاضی نیاز داریم.
97
00:03:32,080 –> 00:03:34,959
اجاره به اندازه کافی است
98
00:03:36,000 –> 00:03:39,200
که شما بروید و سپس ما می توانیم جلو برویم
99
00:03:39,200 –> 00:03:39,680
و سا
100
00:03:39,680 –> 00:03:42,480
تابع اصلی y و در اینجا
101
00:03:42,480 –> 00:03:44,159
دقیقاً همان کاری را که در
102
00:03:44,159 –> 00:03:44,959
پایتون انجام
103
00:03:44,959 –> 00:03:49,440
دادیم انجام می دهیم، فقط می گوییم شروع برابر است با
104
00:03:49,440 –> 00:03:52,720
نقطه زمان
105
00:03:52,720 –> 00:03:54,319
و سپس لیستی از اعداد را تولید می
106
00:03:54,319 –> 00:03:55,840
کنیم و سپس
107
00:03:55,840 –> 00:03:56,560
108
00:03:56,560 –> 00:03:58,840
با عرض پوزش، لیست من را مرتب میکنیم، بنابراین لیست من را به این شکل میگوییم
109
00:03:58,840 –> 00:04:00,319
110
00:04:00,319 –> 00:04:02,879
و یک
111
00:04:02,879 –> 00:04:03,920
لیست عدد صحیح خواهد بود
112
00:04:03,920 –> 00:04:05,760
، فقط در اینجا به عنوان یک
113
00:04:05,760 –> 00:04:07,760
لیست خالی تعریف میشود و سپس میگوییم
114
00:04:07,760 –> 00:04:10,959
4i که از 0 شروع میشود.
115
00:04:10,959 –> 00:04:14,879
تا زمانی که i کمتر از صد
116
00:04:14,879 –> 00:04:16,639
هزار باشد
117
00:04:16,639 –> 00:04:20,399
من به اضافه به اضافه، فقط
118
00:04:20,399 –> 00:04:22,240
اعداد تصادفی را اضافه می کنیم، بنابراین می گوییم
119
00:04:22,240 –> 00:04:24,000
لیست من برابر است با
120
00:04:24,000 –> 00:04:27,680
افزودن لیست من و یک عدد تصادفی
121
00:04:27,680 –> 00:04:28,960
که با گفتن
122
00:04:28,960 –> 00:04:33,520
نقطه رند اشاره n 100 ایجاد می کنیم. حداکثر 100
123
00:04:33,520 –> 00:04:36,639
یا در واقع 99 من فکر می کنم اوم و این همان
124
00:04:36,639 –> 00:04:37,600
کاری است که ما انجام می دهیم
125
00:04:37,600 –> 00:04:39,520
و در واقع همین است، سپس باید
126
00:04:39,520 –> 00:04:41,040
آن را با گفتن مرتب سازی نقطه مرتب
127
00:04:41,040 –> 00:04:44,320
128
00:04:44,320 –> 00:04:45,280
129
00:04:45,280 –> 00:04:47,919
کنیم.
130
00:04:47,919 –> 00:04:50,400
131
00:04:50,400 –> 00:04:53,440
می گوییم مدت زمان
132
00:04:53,440 –> 00:04:57,120
از زمان شروع به این صورت است
133
00:04:57,120 –> 00:05:01,600
و ما می خواهیم بگوییم
134
00:05:01,600 –> 00:05:05,120
خط چاپ نقطه ای را فرمت کنید و ما دوباره
135
00:05:05,120 –> 00:05:07,039
مدت زمان را چاپ خواهم کرد،
136
00:05:07,039 –> 00:05:09,120
بنابراین امیدوارم در اینجا هیچ اشتباهی مرتکب نشده باشم،
137
00:05:09,120 –> 00:05:11,039
اما این دقیقاً همان
138
00:05:11,039 –> 00:05:12,080
عملکرد است، بنابراین
139
00:05:12,080 –> 00:05:14,639
دوباره ساعت را شروع می کنیم، یک لیست خالی ایجاد می
140
00:05:14,639 –> 00:05:15,360
141
00:05:15,360 –> 00:05:17,120
کنیم و صد هزار
142
00:05:17,120 –> 00:05:18,479
عدد صحیح تصادفی
143
00:05:18,479 –> 00:05:21,199
بین صفر تا صد اضافه می کنیم و سپس ما
144
00:05:21,199 –> 00:05:22,880
آن لیست را مرتب کنید و سپس زمان را اندازه گیری می
145
00:05:22,880 –> 00:05:23,600
کنیم
146
00:05:23,600 –> 00:05:26,080
تا همینطور است که ما از آن خارج می شویم که
147
00:05:26,080 –> 00:05:28,080
حالا
148
00:05:28,080 –> 00:05:31,759
اوه شما بروید آیا من یک اشتباه در
149
00:05:31,759 –> 00:05:32,880
آنجا داشتم
150
00:05:32,880 –> 00:05:36,479
فکر می کنم اشتباه تایپی دیدم
151
00:05:36,840 –> 00:05:39,680
بله شما بروید و اکنون می خواهیم
152
00:05:39,680 –> 00:05:41,240
بگوییم
153
00:05:41,240 –> 00:05:45,840
برنامه python3 .py و میتوانید ببینید که 163
154
00:05:45,840 –> 00:05:49,360
میلیثانیه طول کشیده است و اگر بگویم برو برنامه را اجرا کن
155
00:05:49,360 –> 00:05:49,759
dot
156
00:05:49,759 –> 00:05:53,280
go، میتوانی ببینی که فقط
157
00:05:53,280 –> 00:05:56,560
31 میلیثانیه طول کشیده است، بنابراین دوباره میتوانیم
158
00:05:56,560 –> 00:05:58,240
چندین بار اجرا
159
00:05:58,240 –> 00:06:00,000
کنیم که میتوان میانگین عدد اینجا را در
160
00:06:00,000 –> 00:06:03,039
حدود 165
161
00:06:03,039 –> 00:06:08,319
175 169 و به همین ترتیب مشاهده کرد. در مورد پایتون و برای go
162
00:06:08,319 –> 00:06:11,360
بسیار کمتر از آن است، بنابراین
163
00:06:11,360 –> 00:06:15,520
30 میلی ثانیه 29 29
164
00:06:15,520 –> 00:06:18,720
31 29 و غیره،
165
00:06:18,720 –> 00:06:21,680
بنابراین همانطور که می بینید در حال حرکت، ما
166
00:06:21,680 –> 00:06:23,440
در اجرای واقعی بسیار سریعتر هستیم، اکنون
167
00:06:23,440 –> 00:06:25,039
گاهی اوقات گنجاندن
168
00:06:25,039 –> 00:06:25,840
ماژول ها
169
00:06:25,840 –> 00:06:28,639
یا کتابخانه ها بیشتر طول می کشد. و غیره اما همه در
170
00:06:28,639 –> 00:06:29,120
171
00:06:29,120 –> 00:06:31,120
همه باس زبان برنامه نویسی ic فقط
172
00:06:31,120 –> 00:06:32,400
مرتبسازی اولیه
173
00:06:32,400 –> 00:06:35,600
سریعتر از پایتون است، البته اکنون میتوانیم
174
00:06:35,600 –> 00:06:36,080
175
00:06:36,080 –> 00:06:38,479
استدلال کنیم که الگوریتم مرتبسازی
176
00:06:38,479 –> 00:06:40,160
go کارآمدتر از
177
00:06:40,160 –> 00:06:40,880
پایتون است،
178
00:06:40,880 –> 00:06:42,800
بنابراین بیایید جلوتر برویم و
179
00:06:42,800 –> 00:06:44,479
الگوریتم مرتبسازی حبابی خودمان را بنویسیم که این الگوریتم مرتبسازی گو
180
00:06:44,479 –> 00:06:46,800
دقیقاً در go و در پایتون یکسان است
181
00:06:46,800 –> 00:06:48,240
و دوباره سرعت را مقایسه می کنیم
182
00:06:48,240 –> 00:06:50,560
و سپس کاری که می خواهیم انجام دهیم این است
183
00:06:50,560 –> 00:06:51,440
که دوباره
184
00:06:51,440 –> 00:06:54,639
برنامه.py را ویرایش می کنیم و به جای استفاده
185
00:06:54,639 –> 00:06:56,319
از تابع مرتب سازی در اینجا فقط می خواهیم
186
00:06:56,319 –> 00:06:57,520
خودمان را بنویسیم.
187
00:06:57,520 –> 00:07:00,960
تابع بنابراین ما میخواهیم بگوییم
188
00:07:00,960 –> 00:07:04,080
مرتبسازی حبابی تعریف میکنیم و میخواهیم از آن عبور
189
00:07:04,080 –> 00:07:06,960
کنیم، بیایید دوباره
190
00:07:06,960 –> 00:07:07,840
آن را
191
00:07:07,840 –> 00:07:09,199
لیست من بنامیم، لیست من را اینجا پاس میکنیم و کاری که
192
00:07:09,199 –> 00:07:11,440
میخواهیم انجام دهیم این است که بگوییم n برابر است با
193
00:07:11,440 –> 00:07:13,919
طول آن لیست، بنابراین یا در
194
00:07:13,919 –> 00:07:16,000
واقع بیایید آن را ثابت کنیم که اندازه آن صد
195
00:07:16,000 –> 00:07:17,919
هزار
196
00:07:17,919 –> 00:07:20,639
ام است و سپس به طور پیشفرض میگوییم swapped
197
00:07:20,639 –> 00:07:22,400
برابر است
198
00:07:22,400 –> 00:07:25,280
برابر true و سپس
199
00:07:25,280 –> 00:07:27,599
میخواهیم بگوییم در حالی که swapped
200
00:07:27,599 –> 00:07:29,599
بنابراین در حالی که هنوز چیزی در حال انجام است
201
00:07:29,599 –> 00:07:31,440
swapped ما می خواهیم بگوییم
202
00:07:31,440 –> 00:07:33,840
swap برابر با نادرست است، بنابراین ما فقط assu را داریم من که
20