+− THE DAILY DIFFdev & AI news
SHIP IT

ପାଇଥନ୍ କାର୍ଯ୍ୟଦକ୍ଷତା: ମୂଳ NumPy ଲୁପ୍, କଲବ୍ୟାକ୍ ଏବଂ ରୂପାନ୍ତରଣ ଖର୍ଚ୍ଚ

ଏକ ନିୟନ୍ତ୍ରିତ CPU-କେବଳ ସଂଖ୍ୟାତ୍ମକ ପରୀକ୍ଷା CPython ଲୁପ୍, NumPy ଗାଣିତି, ଏକ ପାଇଥନ୍ କଲବ୍ୟାକ୍ ରାପର୍ ଏବଂ ଏକ ସଂକଳିତ Numba ଲୁପ୍ ମାଧ୍ୟମରେ ସମାନ ମୂଲ୍ୟଗୁଡ଼ିକୁ ଅନୁସରଣ କରେ।

Want to see our stories first on Google? Add us to your preferred sources — it helps us grow.

ଏକ ନିୟନ୍ତ୍ରିତ CPU-କେବଳ ସଂଖ୍ୟାତ୍ମକ ପରୀକ୍ଷା CPython ଲୁପ୍, NumPy ଗାଣିତି, ଏକ ପାଇଥନ୍ କଲବ୍ୟାକ୍ ରାପର୍ ଏବଂ ଏକ ସଂକଳିତ Numba ଲୁପ୍ ମାଧ୍ୟମରେ ସମାନ ମୂଲ୍ୟଗୁଡ଼ିକୁ ଅନୁସରଣ କରେ। ପ୍ରସ୍ତୁତ-ଇନପୁଟ୍ NumPy ର ଏକ ବଡ଼ ଅଗ୍ରଣୀ ଥିଲା, ଯେତେବେଳେ ପାଇଥନ୍ ତାଲିକାକୁ ରୂପାନ୍ତରଣ ଏବଂ ଫେରସ୍ତ ସେହି ସୁବିଧାକୁ ଏକ ନିକଟତମ ଟାଇକୁ ହ୍ରାସ କରିଥିଲା। ଏହି ଅଧ୍ୟାୟ କାର୍ଯ୍ୟକାରିତା ସୀମା ଏବଂ ଏକ ପ୍ରୟୋଗକୁ ଆବଶ୍ୟକ କରୁଥିବା ଫଳାଫଳକୁ କିପରି ମାପିବା ତାହା ବ୍ୟାଖ୍ୟା କରେ।

ଲିଖିତ ସଂସ୍କରଣ ପଢ଼ନ୍ତୁ (English) ↗

ଏହି ଭିଡିଓରେ କ'ଣ ଅଛି

  • CPython ଉତ୍ସକୁ ବାଇଟ୍କୋଡ୍କୁ ସଂକଳନ କରେ। ବାରମ୍ବାର ଇଣ୍ଟର୍ପ୍ରେଟର୍/ଅବଜେକ୍ଟ କାର୍ଯ୍ୟ ଏବଂ ଏକ ଟାଇପ୍ ହୋଇଥିବା ମୂଳ ସଂଖ୍ୟାତ୍ମକ ଲୁପ୍ ଭିନ୍ନ କାର୍ଯ୍ୟକାରିତା ବ୍ୟବସ୍ଥା ଅଟେ।
  • ସଂଖ୍ୟାତ୍ମକ NumPy ଗାଣିତି ସଂକଳିତ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ଟାଇପ୍ ହୋଇଥିବା ବ୍ୟାଚ୍ ହସ୍ତାନ୍ତର କରିପାରିବ; ଗାଣିତିକ ଲୁପ୍ ଏବେ ବି ବିଦ୍ୟମାନ, ଏବଂ ଦୃଶ୍ୟଗୁଡ଼ିକ ଅଣସଂଯୋଜିତ ଲେଆଉଟ୍ ଧାରଣ କରିପାରେ।
  • ରୂପାନ୍ତରଣ ଏବଂ ଆବଶ୍ୟକୀୟ ଆଉଟପୁଟ୍ ପ୍ରତିନିଧିତ୍ୱ ମାପ କରନ୍ତୁ। ଏହି ରନ୍ରେ, ପାଇଥନ୍ ତାଲିକାଗୁଡ଼ିକୁ ଆରେରେ ଏବଂ ପୁନର୍ବାର ପରିଣତ କରିବା ଦ୍ୱାରା ବଡ଼ ପ୍ରସ୍ତୁତ-ଆରେ ଅଗ୍ରଣୀ ଲୋପ ପାଇଗଲା।
  • ଛୋଟ କାର୍ଯ୍ୟଭାର ସାଧାରଣ ପାଇଥନ୍ ପାଇଁ ଅନୁକୂଳ ହୋଇପାରେ କାରଣ ସ୍ଥିର ଆରେ-କଲ୍ ଖର୍ଚ୍ଚ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ। ଆଠ-ମୂଲ୍ୟ ବୁଝାମଣା ଏହି ମାପ କରାଯାଇଥିବା ତୁଳନାରେ ଜିତିଲା।
  • np.vectorize ହେଉଛି ଏକ ସୁବିଧା ରାପର୍ ଯାହା କ୍ରମାଗତ ଉପାଦାନଗୁଡ଼ିକ ପାଇଁ ପାଇଥନ୍ କୁ ଡାକେ; ଏକ ବ୍ୟାଚ୍ ଇଣ୍ଟରଫେସ୍ ଏକାକୀ ମୂଳ ସଂଖ୍ୟାତ୍ମକ କାର୍ଯ୍ୟକାରିତା ସ୍ଥାପନ କରେ ନାହିଁ।
  • ସଂକଳିତ ପାଇଥନ୍-ସିଣ୍ଟାକ୍ସ ଲୁପ୍ ମଧ୍ୟ ଦ୍ରୁତ ହୋଇପାରେ। ଯେତେବେଳେ କଲର୍ ପାଇଁ ଏହା ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ହୁଏ ସେତେବେଳେ ଶୀତଳ ସଂକଳନ/ସେଟଅପ୍ ଖର୍ଚ୍ଚ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ।
  • ମୂଳ କାର୍ଯ୍ୟକାରିତା, CPU SIMD, ମଲ୍ଟିଥ୍ରେଡିଂ ଏବଂ GPU ବ୍ୟାକେଣ୍ଡ୍ଗୁଡ଼ିକ ପୃଥକ ଧାରଣା ଅଟନ୍ତି। ଉପଲବ୍ଧ CPU ବୈଶିଷ୍ଟ୍ୟଗୁଡ଼ିକ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ରନ୍ରେ ବ୍ୟବହୃତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଟ୍ରେସ୍ କରନ୍ତି ନାହିଁ।

ଅନୁବାଦିତ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ

ମୂଳ ଇଂରାଜୀ ବର୍ଣ୍ଣନାରୁ ଅନୁବାଦିତ। ଉପଲବ୍ଧ ଅଡିଓ ଏବଂ କ୍ୟାପ୍ସନ୍ଗୁଡ଼ିକ YouTube ଦ୍ୱାରା ନିୟନ୍ତ୍ରିତ।

ସମାନ CPU କାହିଁକି ଶୀଘ୍ର ଶେଷ କରିପାରିବ?

0:00 ଆପଣ ଭାବୁଛନ୍ତି ପାଇଥନ୍ ଦ୍ରୁତ ହେବା ପାଇଁ ଏକ ନୂଆ ଭାଷା ଆବଶ୍ୟକ କରେ। ଲୁପ୍ ସ୍ଥାନାନ୍ତରିତ ହେବା ପରେ ସମାନ CPU ଆମ ବ୍ୟାଚ୍କୁ ଶୀଘ୍ର ଚଲାଇଲା। କାର୍ଯ୍ୟ କେଉଁଠାକୁ ଗଲା? କେବେ ବେଗ ହ୍ରାସ ହୁଏ? କେଉଁ ସର୍ଟକଟ୍ ପାଇଥନ୍କୁ ଫେରାଇ ଆଣେ? ଏହା ହେଉଛି The Daily Diff, ଢାଙ୍କୁଣୀ ତଳେ। ସେହି ସର୍ଟକଟ୍ ଉପରେ ନଜର ରଖନ୍ତୁ। CPython ହେଉଛି ମାନକ ପାଇଥନ୍ ଲାଗୁକରଣ।

0:17 ଏହା ଆପଣଙ୍କ ଉତ୍ସକୁ ବାଇଟ୍କୋଡ୍କୁ ସଂକଳନ କରେ, ତା'ପରେ ସେହି ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଏକ ଇଣ୍ଟର୍ପ୍ରେଟରରେ ଚଲାଏ। NumPy ହେଉଛି ଏକ ସଂଖ୍ୟାତ୍ମକ ଲାଇବ୍ରେରୀ ଯାହାର ଆରେଗୁଡ଼ିକ ଏକ ଘୋଷିତ ଡାଟା ପ୍ରକାର ସହିତ ମୂଲ୍ୟ ଧାରଣ କରେ। ଏହାର ନିର୍ମିତ ଗାଣିତି ଏକ ସଂକଳିତ କାର୍ଯ୍ୟକୁ ଏକ ପୂର୍ଣ୍ଣ ବ୍ୟାଚ୍ ପ୍ରଦାନ କରିପାରିବ। ଏକ ମିଲିୟନ୍ ଫ୍ଲୋଟିଂ ପଏଣ୍ଟ ମୂଲ୍ୟ ନିଅନ୍ତୁ, ପ୍ରତ୍ୟେକକୁ ବର୍ଗ କରନ୍ତୁ, ତା'ପରେ ମୂଳ ମୂଲ୍ୟ ଯୋଗ କରନ୍ତୁ। ପ୍ରତ୍ୟେକ ସଂସ୍କରଣ ସମାନ ମୂଲ୍ୟ ପାଏ ଏବଂ ମିଳୁଥିବା ଉତ୍ତର ସୃଷ୍ଟି କରେ। ମୂଲ୍ୟଗୁଡ଼ିକ ଏତେ ଛୋଟ ଯେ ଗୋଲାକାର ପାର୍ଥକ୍ୟକୁ ରେସ୍ରୁ ଦୂରେଇ ରଖିବା ପାଇଁ ଯଥେଷ୍ଟ।

0:40 ଏହି ମେସିନ୍ରେ, ବୁଝାମଣା ପ୍ରାୟ ତିରିଶି ତିନି ମିଲିସେକେଣ୍ଡ୍ ଲାଗିଲା। NumPy ଏକ ମିଲିସେକେଣ୍ଡ୍ରୁ କମ୍ ସମୟ ନେଲା। ଉଭୟ CPU ଉପରେ ଚାଲିଲେ। ଏହା ଏହି କାର୍ଯ୍ୟଭାର ପାଇଁ ଉପଯୋଗୀ ପ୍ରମାଣ, ଏବଂ ଏକ ପ୍ରୋଗ୍ରାମିଂ ଭାଷା ପାଇଁ ଏକ ଭୟଙ୍କର ଶୋକବାର୍ତ୍ତା। ସାଧାରଣ ଲୁପ୍ରୁ ଆରମ୍ଭ କରନ୍ତୁ। ସାଧାରଣ ଲୁପ୍ରୁ ଆରମ୍ଭ କରନ୍ତୁ।

ଏକ ପାଇଥନ୍ ଲୁପ୍ କେଉଁ କାର୍ଯ୍ୟକୁ ପୁନରାବୃତ୍ତି କରେ?

0:53 ପାଇଥନ୍ ପରବର୍ତ୍ତୀ ମୂଲ୍ୟ ପାଏ, ଗାଣିତି କରେ, ଏବଂ ଉତ୍ତର ଯୋଗ କରେ। ତା'ପରେ ଏହା ପୁଣି ଥରେ ତାହା କରେ। ଗୁଣନ ଶସ୍ତା ଅଟେ। ପରବର୍ତ୍ତୀ ଗୁଣନ ବ୍ୟବସ୍ଥା କରିବା, ଏବଂ ଏହା ଚାରିପାଖରେ ଥିବା ପାଇଥନ୍ ବସ୍ତୁଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବା, ପ୍ରତ୍ୟେକ ଥର କାର୍ଯ୍ୟ ଯୋଗ କରେ। ଏହା ହେଉଛି ପରୀକ୍ଷିତ ଫଙ୍କସନ୍ର ପ୍ରକୃତ ଡିସାସେମ୍ବଲି। ପୁନରାବୃତ୍ତି, ଗୁଣନ ଏବଂ ଯୋଗ ବାଇଟ୍କୋଡ୍ ନିର୍ଦ୍ଦେଶ ଭାବରେ ଦେଖାଯାଏ। ପାଇଥନ୍ ସଂସ୍କରଣ ଏବଂ ଇଣ୍ଟର୍ପ୍ରେଟର୍ଗୁଡ଼ିକ ଭିନ୍ନ ପସନ୍ଦ କରନ୍ତି।

1:14 ଏହି ସମୟଗୁଡ଼ିକ ପରଦାରେ ଥିବା ସଂସ୍କରଣର ଅଟେ, ଯାହା ପାଇଥନ୍ ତିନି ଦଶମିକ ଦଶ। ଏକ ପାଇଥନ୍ ତାଲିକା ଅବଜେକ୍ଟଗୁଡ଼ିକର ରେଫରେନ୍ସଗୁଡ଼ିକୁ ଗଚ୍ଛିତ କରେ, ତେଣୁ ବିଭିନ୍ନ ପ୍ରକାରର ଜିନିଷଗୁଡ଼ିକ ଏକ ତାଲିକା ବାଣ୍ଟିପାରିବେ। ଏକ ପାଇଥନ୍ ତାଲିକା ଅବଜେକ୍ଟଗୁଡ଼ିକର ରେଫରେନ୍ସଗୁଡ଼ିକୁ ଗଚ୍ଛିତ କରେ, ତେଣୁ ବିଭିନ୍ନ ପ୍ରକାରର ଜିନିଷଗୁଡ଼ିକ ଏକ ତାଲିକା ବାଣ୍ଟିପାରିବେ। ଆମର ଗାଣିତିକ କାର୍ଯ୍ୟ ସର୍ବତ୍ର ସଂଖ୍ୟା ବ୍ୟବହାର କରେ। ଏହା ଏକ ପୁନରାବୃତ୍ତି ସେବା ଅନୁରୋଧ କରିବା ସମୟରେ ଏକ ସାଧାରଣ ବ୍ୟବସ୍ଥା ପାଇଁ ଦେୟ ପ୍ରଦାନ କରେ। ଏକ ମିଲିୟନ୍ ଥର ସମାନ କଫି ଅର୍ଡର କରିବା ଏବଂ ପ୍ରତ୍ୟେକ କପ୍ ପାଇଁ ଏକ ନୂଆ ଫର୍ମ ପୂରଣ କରିବା କଳ୍ପନା କରନ୍ତୁ। ଏକ ମିଲିୟନ୍ ଥର ସମାନ କଫି ଅର୍ଡର କରିବା ଏବଂ ପ୍ରତ୍ୟେକ କପ୍ ପାଇଁ ଏକ ନୂଆ ଫର୍ମ ପୂରଣ କରିବା କଳ୍ପନା କରନ୍ତୁ। କଫି ମେସିନ୍ ଠିକ୍ ଅଛି।

1:36 କାଗଜପତ୍ର ନିଜସ୍ୱ କ୍ୟାରିଅର୍ ବିକଶିତ କରିଛି।

NumPy ଲୁପ୍କୁ କେଉଁଠାକୁ ନେଇଯାଏ?

1:38 NumPy ଚୁକ୍ତି ପରିବର୍ତ୍ତନ କରେ। ଏହି ଆରେ ଏକ ଘୋଷିତ ପ୍ରକାର ସହିତ ସ୍ଥିର ଆକାରର ଫ୍ଲୋଟିଂ ପଏଣ୍ଟ ମୂଲ୍ୟ ଧାରଣ କରେ। ଆମର ଆରେ ସଂଲଗ୍ନ ଅଟେ, ତେଣୁ ଏହାର ମୂଲ୍ୟଗୁଡ଼ିକ ମେମୋରୀରେ ଏକାଠି ବସିଥାଏ। ଦୃଶ୍ୟଗୁଡ଼ିକ ଅନ୍ୟାନ୍ୟ ଲେଆଉଟ୍ ଧାରଣ କରିପାରେ। ଗାଣିତିକ କାର୍ଯ୍ୟ ଜାଣେ ଏହା କେଉଁ ପ୍ରକାରର ଡାଟା ଗ୍ରହଣ କରୁଛି। କଲ୍ ବ୍ୟାଚ୍କୁ ଏକ ମୂଳ କାର୍ଯ୍ୟକୁ ହସ୍ତାନ୍ତର କରେ। ଏକ ଲୁପ୍ ଏବେ ବି ସଂକଳିତ କୋଡ୍ ଭିତରେ ମୂଲ୍ୟଗୁଡ଼ିକୁ ପରିଦର୍ଶନ କରେ। ଏହା ସେହି କାର୍ଯ୍ୟ ମାଧ୍ୟମରେ ପ୍ରକାରର ଜ୍ଞାନକୁ ପୁନଃବ୍ୟବହାର କରିପାରିବ।

2:00 ପାଇଥନ୍ ଏବେ ବି କାର୍ଯ୍ୟ ପ୍ରଦାନ କରୁଥିବା ବ୍ୟକ୍ତି। ଇଟାମାର ଟର୍ନର୍ ଟ୍ରାଉରିଙ୍ଗ୍ ପାଇଥନ୍ ସ୍ପିଡ୍ରେ ଏହି ପାର୍ଥକ୍ୟ ବ୍ୟାଖ୍ୟା କରନ୍ତି। ବ୍ୟାଚ୍ ଇଣ୍ଟରଫେସ୍, ମୂଳ ଲାଗୁକରଣ ଏବଂ ପ୍ରୋସେସର୍ ଭେକ୍ଟର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକ ପୃଥକ ଜିନିଷ। ଫଙ୍କସନ୍ ନାମ ଅତି କମ୍ ପ୍ରମାଣ ପ୍ରଦାନ କରେ। ବ୍ୟାଚ୍ ଇଣ୍ଟରଫେସ୍, ମୂଳ ଲାଗୁକରଣ ଏବଂ ପ୍ରୋସେସର୍ ଭେକ୍ଟର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକ ପୃଥକ ଜିନିଷ। ଫଙ୍କସନ୍ ନାମ ଅତି କମ୍ ପ୍ରମାଣ ପ୍ରଦାନ କରେ।

ଦ୍ରୁତର ଅର୍ଥ GPU ନା ଅନେକ CPU କୋର?

2:13 ଏହି ଫଳାଫଳ CPU ଉପରେ NumPy ବ୍ୟବହାର କଲା। CuPy ପରି ଏକ GPU ବ୍ୟାକେଣ୍ଡ୍ ଆରେ ଏବଂ କାର୍ଯ୍ୟଗୁଡ଼ିକ ପାଇଁ ଏକ ଭିନ୍ନ ଘର ବାଛିଥାଏ। ଏକ GPU କିଣିବା ଦ୍ୱାରା ଏହି ସାଧାରଣ ପାଇଥନ୍ ଲୁପ୍ ଯେଉଁଠାରେ ପୂର୍ବରୁ ଚାଲୁଥିଲା ସେଠାରେ ଚାଲୁ ରହେ। CPU ଭେକ୍ଟର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକ ଏକାଠି ଅନେକ ମୂଲ୍ୟକୁ ପ୍ରକ୍ରିୟା କରିପାରିବେ। NumPy ର ସମର୍ଥିତ କର୍ଣ୍ଣେଲ୍ ବାଛିବା ପାଇଁ ଯନ୍ତ୍ରପାତି ଅଛି। ଆମର ରନଟାଇମ୍ ଉପଲବ୍ଧ ବୈଶିଷ୍ଟ୍ୟଗୁଡ଼ିକୁ ରିପୋର୍ଟ କରେ, କିନ୍ତୁ ଏହି ଅଭିବ୍ୟକ୍ତିର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଟ୍ରେସ୍ କରେ ନାହିଁ। ଭେକ୍ଟର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ସମଗ୍ର ମାପ କରାଯାଇଥିବା ଲାଭ ଦେବା ଦ୍ୱାରା ପ୍ରମାଣକୁ ଅତ୍ୟଧିକ ବିକ୍ରୟ କରାଯିବ। ଆମର ରନଟାଇମ୍ ଉପଲବ୍ଧ ବୈଶିଷ୍ଟ୍ୟଗୁଡ଼ିକୁ ରିପୋର୍ଟ କରେ, କିନ୍ତୁ ଏହି ଅଭିବ୍ୟକ୍ତିର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଟ୍ରେସ୍ କରେ ନାହିଁ। ଭେକ୍ଟର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ସମଗ୍ର ମାପ କରାଯାଇଥିବା ଲାଭ ଦେବା ଦ୍ୱାରା ପ୍ରମାଣକୁ ଅତ୍ୟଧିକ ବିକ୍ରୟ କରାଯିବ। ଆମର ରନଟାଇମ୍ ଉପଲବ୍ଧ ବୈଶିଷ୍ଟ୍ୟଗୁଡ଼ିକୁ ରିପୋର୍ଟ କରେ, କିନ୍ତୁ ଏହି ଅଭିବ୍ୟକ୍ତିର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ଟ୍ରେସ୍ କରେ ନାହିଁ। ଭେକ୍ଟର ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ସମଗ୍ର ମାପ କରାଯାଇଥିବା ଲାଭ ଦେବା ଦ୍ୱାରା ପ୍ରମାଣକୁ ଅତ୍ୟଧିକ ବିକ୍ରୟ କରାଯିବ।

2:40 GPU ସପିଂ କାର୍ଟ ବନ୍ଦ ରହିପାରେ। ଏକ କାର୍ଯ୍ୟଦକ୍ଷତା ସମାଧାନ ବିଷୟରେ କିଛି ଗଭୀର ସନ୍ତୋଷଜନକ ଅଛି ଯାହା ଏକ କ୍ରୟକୁ ମଧ୍ୟ ବାତିଲ କରେ। ଦୁର୍ଭାଗ୍ୟବଶତଃ, ବେଞ୍ଚମାର୍କ ଜାରି ରହେ। ଏକ କାର୍ଯ୍ୟଦକ୍ଷତା ସମାଧାନ ବିଷୟରେ କିଛି ଗଭୀର ସନ୍ତୋଷଜନକ ଅଛି ଯାହା ଏକ କ୍ରୟକୁ ମଧ୍ୟ ବାତିଲ କରେ। ଦୁର୍ଭାଗ୍ୟବଶତଃ, ବେଞ୍ଚମାର୍କ ଜାରି ରହେ।

କେବେ ଆକର୍ଷଣୀୟ ବେଗ ହ୍ରାସ ହୁଏ?

2:49 ଆଠଟି ମୂଲ୍ୟ ସହିତ, ବୁଝାମଣା ଜିତିଲା। ଆରେ ମେସିନାରୀକୁ ଡାକିବା ଦ୍ୱାରା ଛୋଟ କାର୍ଯ୍ୟଠାରୁ ଅଧିକ ଖର୍ଚ୍ଚ ହେଲା। ବଡ଼ ପ୍ରସ୍ତୁତ ଆରେଗୁଡ଼ିକ ଆଗକୁ ବଢ଼ିଲା। ଆମେ ବାରମ୍ବାର ପରୀକ୍ଷଣ ଏବଂ ଏକ ଉଷ୍ମ ପ୍ରକ୍ରିୟା ବ୍ୟବହାର କରିଥିଲୁ। ନୂତନ ପାଇଥନ୍ ବିଲ୍ଡଗୁଡ଼ିକ କ୍ରସଓଭର ପରିବର୍ତ୍ତନ କରିପାରିବେ। ତା'ପରେ ପ୍ରୟୋଗକୁ କ'ଣ ଆବଶ୍ୟକ ତାହା ପରିବର୍ତ୍ତନ କରନ୍ତୁ। ଏକ ପାଇଥନ୍ ତାଲିକାରୁ ଆରମ୍ଭ କରନ୍ତୁ ଏବଂ ଏକ ନୂଆ ପାଇଥନ୍ ତାଲିକା ସହିତ ଶେଷ କରନ୍ତୁ। NumPy କୁ ଇନପୁଟ୍କୁ ଏକ ଆରେରେ ପରିଣତ କରିବାକୁ ପଡିବ ଏବଂ ଉତ୍ତରକୁ ପୁଣି ପାଇଥନ୍ ଅବଜେକ୍ଟରେ ପରିଣତ କରିବାକୁ ପଡିବ। ଯଦି ଆପଣଙ୍କ ପ୍ରୟୋଗକୁ ସେହି ପଦକ୍ଷେପଗୁଡ଼ିକ ଆବଶ୍ୟକ, ତେବେ ସେଗୁଡ଼ିକ ବିଲ୍ରେ ଅନ୍ତର୍ଭୁକ୍ତ ହେବା ଉଚିତ୍।

3:11 NumPy କୁ ଇନପୁଟ୍କୁ ଏକ ଆରେରେ ପରିଣତ କରିବାକୁ ପଡିବ ଏବଂ ଉତ୍ତରକୁ ପୁଣି ପାଇଥନ୍ ଅବଜେକ୍ଟରେ ପରିଣତ କରିବାକୁ ପଡିବ। ଯଦି ଆପଣଙ୍କ ପ୍ରୟୋଗକୁ ସେହି ପଦକ୍ଷେପଗୁଡ଼ିକ ଆବଶ୍ୟକ, ତେବେ ସେଗୁଡ଼ିକ ବିଲ୍ରେ ଅନ୍ତର୍ଭୁକ୍ତ ହେବା ଉଚିତ୍। ଏକ ମିଲିୟନ୍ ମୂଲ୍ୟରେ, ସେହି ସମ୍ପୂର୍ଣ୍ଣ ପଥ ପ୍ରାୟ ଅଠାଇଶି ମିଲିସେକେଣ୍ଡ୍ ଲାଗିଲା। ବୁଝାମଣା ମଧ୍ୟ ପ୍ରାୟ ଅଠାଇଶି ଲାଗିଲା। ଆମର ନାଟକୀୟ ଅଗ୍ରଣୀ ଏକ ନିକଟତମ ଟାଇରେ ପରିଣତ ହେଲା। ଦ୍ରୁତ ଅଂଶ ପ୍ରକୃତ ଥିଲା। ଲାଭ ଡାଟାକୁ ଏହାର ସଂଖ୍ୟାତ୍ମକ ରୂପରେ ରହିବାକୁ ଦେବା ଉପରେ ନିର୍ଭର କରୁଥିଲା।

ବେଞ୍ଚମାର୍କରେ କେଉଁ ସୀମା ଅନ୍ତର୍ଭୁକ୍ତ?

3:28 ଡାଟାକୁ ଅନୁସରଣ କରନ୍ତୁ। ଯଦି ପରବର୍ତ୍ତୀ କାର୍ଯ୍ୟ ଏକ ଆରେ ଗ୍ରହଣ କରେ, ତେବେ ଆରେକୁ ରଖନ୍ତୁ। ଯଦି ଆପଣ ବାରମ୍ବାର ତାଲିକା ଏବଂ ଆରେ ମଧ୍ୟରେ ରୂପାନ୍ତର କରନ୍ତି, ସେହି କ୍ରସିଂଗୁଡ଼ିକୁ ମାପ କରନ୍ତୁ। ଏକ ମହଙ୍ଗା ହ୍ୟାଣ୍ଡଅଫ୍ ପୂର୍ବରୁ ବନ୍ଦ କରିବା ଭୁଲ ପ୍ରଶ୍ନ ପାଇଁ ସଠିକ୍ ସଂଖ୍ୟା ପ୍ରଦାନ କରେ। ଏହି ଆରେକୁ ଗୁଣନ କରିବା ଦ୍ୱାରା ଏକ ଅସ୍ଥାୟୀ ଫଳାଫଳ ସୃଷ୍ଟି ହୁଏ। ଏକ ମହଙ୍ଗା ହ୍ୟାଣ୍ଡଅଫ୍ ପୂର୍ବରୁ ବନ୍ଦ କରିବା ଭୁଲ ପ୍ରଶ୍ନ ପାଇଁ ସଠିକ୍ ସଂଖ୍ୟା ପ୍ରଦାନ କରେ। ଏହି ଆରେକୁ ଗୁଣନ କରିବା ଦ୍ୱାରା ଏକ ଅସ୍ଥାୟୀ ଫଳାଫଳ ସୃଷ୍ଟି ହୁଏ। ମୂଳ ମୂଲ୍ୟ ଯୋଗ କରିବା ଦ୍ୱାରା ଆଉଟପୁଟ୍ ସୃଷ୍ଟି ହୁଏ। ମୂଳ କାର୍ଯ୍ୟକାରିତା ଏବେ ବି ମେମୋରୀ ଏବଂ ଡାଟା ସ୍ଥାନାନ୍ତର ଆବଶ୍ୟକ କରେ।

3:47 କେତେକ କାର୍ଯ୍ୟ ଏକ ଆଉଟପୁଟ୍ ବଫର ଗ୍ରହଣ କରନ୍ତି, ଯେତେବେଳେ ଆପଣଙ୍କ କୋଡ୍ ସୁରକ୍ଷିତ ଭାବରେ ଏହାକୁ ପୁନଃବ୍ୟବହାର କରିପାରିବ ସେତେବେଳେ ଆଲୋକେସନ୍ଗୁଡ଼ିକୁ ହ୍ରାସ କରେ। କେତେକ କାର୍ଯ୍ୟ ଏକ ଆଉଟପୁଟ୍ ବଫର ଗ୍ରହଣ କରନ୍ତି, ଯେତେବେଳେ ଆପଣଙ୍କ କୋଡ୍ ସୁରକ୍ଷିତ ଭାବରେ ଏହାକୁ ପୁନଃବ୍ୟବହାର କରିପାରିବ ସେତେବେଳେ ଆଲୋକେସନ୍ଗୁଡ଼ିକୁ ହ୍ରାସ କରେ। ଗୋଟିଏ ସୁନ୍ଦର ଲାଇନ୍ ଅନେକ ବଡ଼ ବଫର ଅର୍ଡର କରିପାରିବ। ପାଇଥନ୍ ସ୍ପିଡ୍ ମଧ୍ୟ ଏହି ସମସ୍ୟାକୁ ଉଠାଏ। ଆଲୋକେଟର୍ ଆପଣଙ୍କ ସୌନ୍ଦର୍ଯ୍ୟ ପ୍ରତି ଉଲ୍ଲେଖନୀୟ ଭାବରେ ଉଦାସୀନ।

ଏକ ସଂକଳିତ ପାଇଥନ୍ ଲୁପ୍ ମଧ୍ୟ ଦ୍ରୁତ ହୋଇପାରେ କି?

4:00 ଆପଣ ଲୁପ୍ ସିଣ୍ଟାକ୍ସ ମଧ୍ୟ ରଖିପାରିବେ ଏବଂ ଏହାର କାର୍ଯ୍ୟକାରିତା ପରିବର୍ତ୍ତନ କରିପାରିବେ। Numba ସମର୍ଥିତ ସଂଖ୍ୟାତ୍ମକ ପାଇଥନ୍ ଫଙ୍କସନ୍ଗୁଡ଼ିକୁ ମୂଳ କୋଡ୍କୁ ସଂକଳନ କରିପାରିବ। ଏଠାରେ ଆମ ପରୀକ୍ଷଣର ଲୁପ୍ ଏହାର କମ୍ପାଇଲର୍ ଡେକୋରେଟର୍ ସହିତ ଅଛି। ଏହା ଏବେ ବି 'for' କୁହେ। ମହଙ୍ଗା ଇଣ୍ଟର୍ପ୍ରେଟର୍ ପଥ ପରିବର୍ତ୍ତନ ହୋଇଛି। ସଂକଳନ ପରେ, ଏହି ଲୁପ୍ ପ୍ରସ୍ତୁତ ଆରେ ସହିତ ଅଧା ମିଲିସେକେଣ୍ଡ୍ରୁ କମ୍ ସମୟ ନେଲା। ଏହି ରନ୍ରେ ସଂକଳନ ନିଜେ ପ୍ରାୟ ଏକ ସେକେଣ୍ଡ୍ ଲାଗିଲା। ସଂକଳନ ପରେ, ଏହି ଲୁପ୍ ପ୍ରସ୍ତୁତ ଆରେ ସହିତ ଅଧା ମିଲିସେକେଣ୍ଡ୍ରୁ କମ୍ ସମୟ ନେଲା। ଏହି ରନ୍ରେ ସଂକଳନ ନିଜେ ପ୍ରାୟ ଏକ ସେକେଣ୍ଡ୍ ଲାଗିଲା। ସେହି ସେଟଅପ୍ ଖର୍ଚ୍ଚ ବାରମ୍ବାର ସମୟରୁ ବାଦ ଦିଆଯାଇଥିଲା,

4:22 ତେଣୁ ଏକ ଛୋଟ ଥରେ ହେଉଥିବା କାର୍ଯ୍ୟ ଏକ ଭିନ୍ନ ତୁଳନା ଦାବି କରେ। Numba ର ନିଜସ୍ୱ ଗାଇଡ୍ ସ୍ପଷ୍ଟ ଲୁପ୍ ଦେଖାଇବାକୁ ଖୁସି। ହଟ୍ ପଥ ଖୋଜିବା ପୂର୍ବରୁ ଏକ ଭାଷା ସ୍ଥାନାନ୍ତର ଆରମ୍ଭ କରିବା ପ୍ରୋଫାଇଲର୍ ଖୋଲିବାକୁ ଏକ ବିସ୍ତୃତ ଉପାୟ ଅଟେ। ପ୍ରୋଫାଇଲର୍ ଖୋଲିବାକୁ ଏକ ବିସ୍ତୃତ ଉପାୟ ଅଟେ। ପ୍ରଥମେ କ'ଣ ସମୟ ଗ୍ରାସ କରେ ତାହା ଖୋଜନ୍ତୁ। ନେଟୱର୍କ ଅପେକ୍ଷା, ଅବଜେକ୍ଟ ପାର୍ସିଂ ଏବଂ ବଲ୍କ ଗାଣିତି ଭିନ୍ନ ସମାଧାନ ପାଇଁ ଆବଶ୍ୟକ କରେ। ସଂଖ୍ୟା ଗଣନା ଏବଂ ଡାଟା ଫିଟ୍ ହେଲେ ମୂଳ ଆରେ କାର୍ଯ୍ୟ ସାହାଯ୍ୟ କରେ।

4:43 ଆପଣଙ୍କ କଲର୍ ପ୍ରକୃତରେ କ'ଣ ଆବଶ୍ୟକ କରେ ତାହା ମାପ କରନ୍ତୁ। ବର୍ତ୍ତମାନ ସେହି ସର୍ଟକଟ୍ ପାଇଁ। ଆପଣଙ୍କ ପାଖରେ ଏକ ପାଇଥନ୍ ଫଙ୍କସନ୍ ଅଛି ଏବଂ ଆପଣ ଚାହୁଁଛନ୍ତି ଯେ ଏହା ଏକ ଆରେ ଗ୍ରହଣ କରୁ। ଭେକ୍ଟରାଇଜ୍ ନାମକ ଏକ ରାପର୍ ହଜିଯାଇଥିବା କାର୍ଯ୍ୟଦକ୍ଷତା ବଟନ୍ ପରି ଶୁଣାଯାଏ। ଏହାର ଡକ୍ୟୁମେଣ୍ଟେସନ୍ରେ ଏକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବାକ୍ୟ ଅପେକ୍ଷା କରିଛି।

np.vectorize ପ୍ରକୃତରେ କ'ଣ କାର୍ଯ୍ୟକାରୀ କରେ?

4:56 NumPy କୁହେ ଯେ ଏହାର ଭେକ୍ଟରାଇଜ୍ ରାପର୍ ମୁଖ୍ୟତଃ ସୁବିଧା ପାଇଁ ପ୍ରଦାନ କରାଯାଇଛି। ଏହାର କାର୍ଯ୍ୟକାରିତା ମୁଖ୍ୟତଃ ଏକ ଫର୍ ଲୁପ୍ ଅଟେ। ରାପର୍ ବ୍ୟାଚ୍ ଗ୍ରହଣ କରେ, କିନ୍ତୁ କ୍ରମାଗତ ଉପାଦାନଗୁଡ଼ିକ ପାଇଁ ଆପଣଙ୍କ ପାଇଥନ୍ ଫଙ୍କସନ୍କୁ ଡାକିବାରେ ଲାଗିରହେ। ଇଣ୍ଟରଫେସ୍ ଛୋଟ ହେଲା। ରାପର୍ ବ୍ୟାଚ୍ ଗ୍ରହଣ କରେ, କିନ୍ତୁ କ୍ରମାଗତ ଉପାଦାନଗୁଡ଼ିକୁ ଡାକିବାରେ ଲାଗିରହେ। ଇଣ୍ଟରଫେସ୍ ଛୋଟ ହେଲା। କାର୍ଯ୍ୟକାରିତା ସୀମା ବ୍ୟସ୍ତ ରହିଲା। ପାଇଥନ୍ କଲବ୍ୟାକ୍ ମାଧ୍ୟମରେ ସମାନ ମୂଲ୍ୟଗୁଡ଼ିକୁ ଫେରିବାର ଦେଖନ୍ତୁ। ପ୍ରସ୍ତୁତ ଆରେ ସହିତ, ଏହି ସଂସ୍କରଣ ପ୍ରାୟ ସତାଅଶୀ ମିଲିସେକେଣ୍ଡ୍ ଲାଗିଲା। ଏହା ଆମର ବୁଝାମଣାଠାରୁ ଧୀର ଥିଲା।

5:18 ଏକ ଉପଯୋଗୀ ବ୍ରଡକାଷ୍ଟିଂ ରାପର୍ ଆପଣ ଅପସାରଣ କରିବାକୁ ଚେଷ୍ଟା କରୁଥିବା ପ୍ରତି ଉପାଦାନ କାର୍ଯ୍ୟକୁ ସଠିକ୍ ଭାବରେ ସଂରକ୍ଷିତ କରିପାରିବ। ଏକ ଉପଯୋଗୀ ବ୍ରଡକାଷ୍ଟିଂ ରାପର୍ ଆପଣ ଅପସାରଣ କରିବାକୁ ଚେଷ୍ଟା କରୁଥିବା ପ୍ରତି ଉପାଦାନ କାର୍ଯ୍ୟକୁ ସଠିକ୍ ଭାବରେ ସଂରକ୍ଷିତ କରିପାରିବ। ଏକ ବ୍ୟାଚ୍ ଇଣ୍ଟରଫେସ୍ ପଛରେ ଥିବା କାର୍ଯ୍ୟକାରିତା ଯାଞ୍ଚ କରନ୍ତୁ, ସୁସଙ୍ଗତ ଡାଟାକୁ ଏହାର ଉପଯୋଗୀ ରୂପରେ ରଖନ୍ତୁ, ଏବଂ ତୁଳନାରେ ରୂପାନ୍ତରଣ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ। ଏକ ବ୍ୟାଚ୍ ଇଣ୍ଟରଫେସ୍ ପଛରେ ଥିବା କାର୍ଯ୍ୟକାରିତା ଯାଞ୍ଚ କରନ୍ତୁ, ସୁସଙ୍ଗତ ଡାଟାକୁ ଏହାର ଉପଯୋଗୀ ରୂପରେ ରଖନ୍ତୁ, ଏବଂ ତୁଳନାରେ ରୂପାନ୍ତରଣ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ। ମୂଳ, କଲବ୍ୟାକ୍ ଏବଂ ସଂକଳିତ ଲୁପ୍ଗୁଡ଼ିକ କଲରଙ୍କ ଚେୟାରରୁ ସମାନ ଦେଖାଯାଇପାରେ। ଭେକ୍ଟରାଇଜ୍ ନାମ ଏକ ପ୍ରତିଜ୍ଞା କରିଥିଲା ଯାହାକୁ ଆପଣଙ୍କ ଷ୍ଟପ୍ୱାଚ୍ କେବେ ସାଇନ୍ କରି ନାହିଁ। ଯେତେବେଳେ ସୁବିଧା ଆପଣଙ୍କୁ ଆବଶ୍ୟକ ହୁଏ ସେତେବେଳେ ଏହାକୁ ରଖନ୍ତୁ। କାର୍ଯ୍ୟଦକ୍ଷତା ପାଇଁ, ଚାଲୁଥିବା ଲୁପ୍କୁ ଯାଞ୍ଚ କରନ୍ତୁ।

ଆପଣ ଆପଣଙ୍କ କୋଡ୍ରେ କ'ଣ ପରିବର୍ତ୍ତନ କରିବା ଉଚିତ୍?

5:41 ମୋର ରାୟ ହେଉଛି SHIP IT ଏକ ମାପ କରାଯାଇଥିବା ସଂଖ୍ୟାତ୍ମକ ହଟ୍ ପଥକୁ ବ୍ୟାଚ୍ କରିବା ପାଇଁ। ସାଧାରଣ ଲୁପ୍ଗୁଡ଼ିକୁ ରଖନ୍ତୁ ଯେତେବେଳେ ସେଗୁଡ଼ିକ ଭଲ କାମ କରୁଛନ୍ତି। କାର୍ଯ୍ୟ କେଉଁଠାରେ ହୁଏ ଏବଂ ପରବର୍ତ୍ତୀ କଲର୍ କ'ଣ ଆବଶ୍ୟକ କରେ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ। ସବସ୍କ୍ରାଇବ୍ କରନ୍ତୁ, ଘଣ୍ଟି ବଜାନ୍ତୁ, ଏବଂ ମନ୍ତବ୍ୟରେ ମୋତେ ଜଣାନ୍ତୁ ଯଦି ଆପଣ ଏହାକୁ ଅଲଗା ଭାବରେ ଷ୍ଟାମ୍ପ କରିଥାନ୍ତେ। ଭିନ୍ନ ଭାବରେ। ଏବଂ ଆଜି ପାଇଁ ଡିଫ୍ ଏହା। ମୁଁ Axrisi ରୁ ନିକୋ ଅଟେ। ଦାୟିତ୍ୱର ସହିତ ମର୍ଜ କରନ୍ତୁ।

ଉତ୍ସଗୁଡ଼ିକ

  1. Universal functions (ufunc) basics — NumPy 2.2NumPy
  2. The N-dimensional array — NumPy 2.2NumPy
  3. numpy.vectorize — convenience and performance notesNumPy
  4. CPU/SIMD optimizations — NumPy 2.2NumPy
  5. dis — Disassembler for Python bytecodePython Software Foundation
  6. CPython 3.10.12 list representationCPython contributors
  7. The limits of Python vectorization as a performance techniqueItamar Turner-Trauring / Python⇒Speed
  8. Performance TipsNumba
  9. Basics of CuPyCuPy

ସମ୍ବନ୍ଧିତ ଭିଡିଓଗୁଡ଼ିକ

under-the-hood · or · ଅକ୍ଟୋବର 8, 2026

ପୋଲାର୍ସ 2.0: କାହିଁକି ଯୋଗଦାନଗୁଡ଼ିକ ଆଉ ସେମାନଙ୍କର ଧାଡି କ୍ରମ ରଖନ୍ତି ନାହିଁ

Polars 2.0 ଡିଫଲ୍ଟ ଭାବରେ ଏକ ଷ୍ଟ୍ରିମିଂ ଇଞ୍ଜିନ୍‌ରେ collect ଚଳାଏ। join, group_by ଏବଂ unpivot ପାଇଁ, ମୁକ୍ତଟି ଆଉ ଇନପୁଟ୍ ଧାଡି କ୍ରମର ଗ୍ୟାରେଣ୍ଟି ଦିଏ ନାହିଁ, ଯଦି ନାହିଁ ଆପଣ maintain_order କିମ୍ବା sort ସ୍ପଷ୍ଟ ଭାବରେ

2:31 ↗
under-the-hood · or · ଅକ୍ଟୋବର 12, 2026

Hugging Face ମଡେଲ ଫାଇଲଗୁଡ଼ିକ ଲୁକ୍କାୟିତ କୋଡ୍ ଚଳାଇପାରେ

ମାଲିସିଅସ୍ ମଡେଲ ପ୍ୟାକେଜଗୁଡ଼ିକ ଅସୁରକ୍ଷିତ ଲୋଡିଂ ସମୟରେ କୋଡ୍ ଏକଜ୍ୟୁଟ୍ କରିପାରନ୍ତି | ପିକଲ୍ ରିଭର୍ସ ଶେଲ୍, ଭଙ୍ଗା-ଫାଇଲ୍ ସ୍କାନର୍ ବ୍ୟବହାର ଏବଂ ଅନୁସନ୍ଧାନ-ପ୍ରଦର୍ଶିତ ମଡେଲ-ନାମ ଦ୍ୱନ୍ଦ୍ୱକୁ ବୁଝାଇବା ପାଇଁ ତିନୋଟି ପ୍ରମାଣିତ ଉଦ

3:33 ↗
under-the-hood · or · ଅକ୍ଟୋବର 11, 2026

ପ୍ରତିକ୍ରିୟା ଅଦୃଶ୍ୟ ହେଲେ ଷ୍ଟ୍ରାଇପ୍ ଆପଣଙ୍କ ଅନୁରୋଧକୁ ମନେରଖେ

ସର୍ଭର ଅପରେସନ୍ ସମାପ୍ତ କରିବା ପରେ ଏକ ଟାଇମ୍ଆଉଟ୍ ଏକ ଚେକ୍ଆଉଟ୍କୁ ଅନିଶ୍ଚିତ କରିପାରେ। ଏହି ଅଣ୍ଡର୍ ଦ ହୁଡ୍ ଏକ୍ସପ୍ଲାନର୍ ଷ୍ଟ୍ରାଇପ୍ API v1 ର ଡକ୍ୟୁମେଣ୍ଟେଡ୍ ଇଡେମ୍ପୋଟେନ୍ସି ଚୁକ୍ତିକୁ ବ୍ୟବହାର କରି ସ୍ଥିର ଅପରେସନ୍ କି', ସେଭ୍ କର

2:54 ↗
under-the-hood · or · ଅକ୍ଟୋବର 10, 2026

Shopify ଇନଭେଣ୍ଟୋରୀ ରିଜର୍ଭେସନ୍ ଗୁଡିକୁ MySQL ରେ ସ୍ଥାନାନ୍ତର କଲା

Shopify ଏହାର ଇନଭେଣ୍ଟୋରୀ ରିଜର୍ଭେସନ୍ ସିଷ୍ଟମକୁ Redis ରୁ MySQL ଡାଟାବେସକୁ ସ୍ଥାନାନ୍ତର କଲା ଯାହା ପୂର୍ବରୁ ଇନଭେଣ୍ଟୋରୀ ଲେଜର ଧରି ରଖିଥିଲା | ବ୍ୟକ୍ତିଗତ ଭାବରେ ଲକ୍ ଯୋଗ୍ୟ ୟୁନିଟ୍ ଧାଡିର ଏକ ସୀମିତ ପୁଲ୍ ଏକକାଳୀନ ଚେକଆଉଟ୍ ଗୁଡି

2:58 ↗