Python 3.11 পারফরম্যান্সের উন্নতি, ক্যাশিং রিডিজাইন এবং আরও অনেক কিছু নিয়ে আসে

পাইথন

পাইথন একটি উচ্চ-স্তরের ব্যাখ্যা করা প্রোগ্রামিং ভাষা যার দর্শন তার কোডের পাঠযোগ্যতার উপর জোর দেয়।

এক বছর ধরে উন্নয়নের পর পাইথন প্রোগ্রামিং ভাষার নতুন সংস্করণ ৩.১১ প্রকাশিত হয়েছে। নতুন এই শাখাটি দেড় বছর ধরে সমর্থিত থাকবে এবং এরপর দুর্বলতাগুলো দূর করার জন্য আরও সাড়ে তিন বছর ধরে প্যাচ প্রকাশ করা হবে।

একই সময়ে, পাইথন ৩.১২ ব্রাঞ্চের আলফা টেস্টিং শুরু হয়েছে (নতুন উন্নয়ন সময়সূচী অনুযায়ী, পূর্ববর্তী ব্রাঞ্চ প্রকাশের পাঁচ মাস আগে নতুন ব্রাঞ্চের কাজ শুরু হয় এবং পরবর্তী সংস্করণের সময় তা আলফা টেস্টিং পর্যায়ে পৌঁছায়)।

Python 3.12 শাখাটি সাত মাসের জন্য আলফা রিলিজে থাকবে, এই সময়ে নতুন বৈশিষ্ট্য যোগ করা হবে এবং বাগ সংশোধন করা হবে। এর পরে, তিন মাসের জন্য বিটা পরীক্ষা করা হবে, এই সময়ে নতুন বৈশিষ্ট্যগুলি যোগ করা নিষিদ্ধ করা হবে এবং বাগ সংশোধনগুলিতে সম্পূর্ণ মনোযোগ দেওয়া হবে। লঞ্চের শেষ দুই মাস আগে, শাখাটি লঞ্চ প্রার্থী পর্যায়ে থাকবে, যে সময়ে চূড়ান্ত স্থিতিশীলতা ঘটবে।

Python 3.11-এর প্রধান নতুন বৈশিষ্ট্য

এই নতুন সংস্করণে পারফরম্যান্স অপ্টিমাইজ করার জন্য উল্লেখযোগ্য কাজ করা হয়েছে । নতুন ব্রাঞ্চটিতে ফাংশন কলের অ্যাক্সিলারেশন ও ইনলাইন ডেপ্লয়মেন্ট , সাধারণ অপারেশনের জন্য দ্রুতগতির ইন্টারপ্রেটারের ব্যবহার এবং Cinder ও HotPy প্রজেক্ট দ্বারা উন্নত অপ্টিমাইজেশন সম্পর্কিত পরিবর্তনগুলো অন্তর্ভুক্ত করা হয়েছে। ওয়ার্কলোডের উপর নির্ভর করে, কোড এক্সিকিউশনের গতি ১০% থেকে ৬০% পর্যন্ত বৃদ্ধি পায়। গড়ে, pyperformance টেস্ট স্যুটে পারফরম্যান্স ২৫% বৃদ্ধি পেয়েছে।

বাইটকোড ক্যাশিং প্রক্রিয়াটি নতুন করে ডিজাইন করা হয়েছে , যার ফলে ইন্টারপ্রেটার চালু হওয়ার সময় ১০-১৫% কমে গেছে। বাইটকোড ধারণকারী অবজেক্টগুলো এখন ইন্টারপ্রেটার দ্বারা স্ট্যাটিক্যালি বরাদ্দ করা হয়, যা ক্যাশ থেকে প্রাপ্ত বাইটকোড ডিকোড করা এবং মেমরিতে ডাইনামিকভাবে স্থাপনের জন্য বাইটকোড ধারণকারী অবজেক্টগুলোকে রূপান্তর করার ধাপগুলো দূর করে।

এক্সেপশন গ্রুপের জন্য সমর্থন যোগ করা হয়েছে , যা প্রোগ্রামটিকে একই সাথে একাধিক ভিন্ন এক্সেপশন তৈরি এবং প্রসেস করার ক্ষমতা দেয়। একাধিক এক্সেপশনকে একত্রিত ও দলবদ্ধ করার জন্য ExceptionGroup এবং BaseExceptionGroup নামে নতুন এক্সেপশন টাইপ প্রস্তাব করা হয়েছে এবং একটি গ্রুপের মধ্যে এক্সেপশনগুলোকে আলাদা করার জন্য "except*" এক্সপ্রেশনটি যোগ করা হয়েছে।

একটি বিশেষ LiteralString টাইপ যোগ করা হয়েছে , যা শুধুমাত্র সেইসব লিটারাল স্ট্রিং অন্তর্ভুক্ত করতে পারে যেগুলো LiteralString টাইপের সাথে সামঞ্জস্যপূর্ণ (অর্থাৎ, সাধারণ স্ট্রিং এবং LiteralString টাইপের স্ট্রিং, কিন্তু str টাইপের যথেচ্ছ বা সংযুক্ত স্ট্রিং নয়)। LiteralString টাইপটি ফাংশনে স্ট্রিং আর্গুমেন্ট পাস করা সীমিত করতে ব্যবহার করা যেতে পারে, যা স্ট্রিংয়ের অংশবিশেষের যথেচ্ছ প্রতিস্থাপন প্রতিরোধ করে, যেখানে দুর্বলতা দেখা দিতে পারে; উদাহরণস্বরূপ, SQL কোয়েরি বা শেল কমান্ডের জন্য স্ট্রিং তৈরি করার সময়।

এছাড়াও, টাইপড ডিকশনারির (TypedDict) স্বতন্ত্র উপাদানগুলোকে Required এবং Not Required চিহ্ন দিয়ে চিহ্নিত করার সুবিধাও দেওয়া হয়েছে, যার মাধ্যমে বাধ্যতামূলক এবং ঐচ্ছিক ফিল্ড নির্ধারণ করা যায় (ডিফল্টরূপে, যদি total প্যারামিটারটি False-এ সেট করা না থাকে, তবে ঘোষিত সমস্ত ফিল্ডই বাধ্যতামূলক থাকে)।

ক্লাস, মেথড এবং ফাংশন ডেকোরেটর @dataclass_transform যোগ করা হয়েছে ; এটি নির্দিষ্ট করা হলে, স্ট্যাটিক টাইপ চেকার অবজেক্টটিকে এমনভাবে বিবেচনা করে যেন এটি @dataclasses.dataclass ডেকোরেটরটি ব্যবহার করেছে।

এই নতুন সংস্করণে উপস্থিত অন্যান্য পরিবর্তনগুলির মধ্যে:

  • রেগুলার এক্সপ্রেশনে পারমাণবিক গ্রুপিং (?>…)) এবং ঈর্ষান্বিত (সম্পত্তিগত) কোয়ান্টিফায়ার (*+, ++, ?+, {m,n}+) ব্যবহার করার ক্ষমতা যোগ করা হয়েছে।
  • TypeVarTuple টাইপ যোগ করা হয়েছে, যা TypeVar-এর বিপরীতে পরিবর্তনশীল জেনেরিক ব্যবহারের অনুমতি দেয়, যা এক প্রকারকে নয়, বরং একটি নির্বিচারে সংখ্যক প্রকারকে কভার করে।
  • স্ট্যান্ডার্ড লাইব্রেরিতে TOML ফরম্যাট পার্স করার ফাংশন সহ tomllib মডিউল অন্তর্ভুক্ত রয়েছে।
  • add_note() পদ্ধতিটি BaseException ক্লাসে যোগ করা হয়েছে, যা একটি টেক্সট নোটকে ব্যতিক্রমের সাথে সংযুক্ত করার অনুমতি দেয়, উদাহরণ স্বরূপ প্রাসঙ্গিক তথ্য যোগ করার জন্য যা ব্যতিক্রমটি নিক্ষেপ করার সময় উপলব্ধ ছিল না।
  • বর্তমান প্রাইভেট ক্লাসের প্রতিনিধিত্ব করার জন্য একটি বিশেষ ধরনের Self যোগ করা হয়েছে। TypeVar ব্যবহার করার চেয়ে একটি সহজ উপায়ে আপনার ক্লাসের একটি উদাহরণ ফেরত দেয় এমন পদ্ধতিগুলিকে টীকা দেওয়ার জন্য Self ব্যবহার করা যেতে পারে।
  • sys.path এ সম্ভাব্য অনিরাপদ ফাইল পাথের স্বয়ংক্রিয় সংযোগ নিষ্ক্রিয় করতে "-P" কমান্ড লাইন বিকল্প এবং PYTHONSAFEPATH এনভায়রনমেন্ট ভেরিয়েবল যোগ করা হয়েছে।
  • উইন্ডোজ প্ল্যাটফর্মের জন্য py.exe ইউটিলিটি "-V:" সিনট্যাক্স সমর্থন করার জন্য উল্লেখযোগ্যভাবে উন্নত করা হয়েছে। / " ছাড়াও "- . »
  • অনেক C API ম্যাক্রো নিয়মিত বা স্ট্যাটিক ইনলাইন ফাংশনে রূপান্তরিত হয়েছে
  • uu, cgi, pipes, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev, এবং sunau মডিউলগুলি Python থেকে অপসারণ করা হয়েছে এবং অপসারণ করা হবে৷ 3.13 রিলিজ।
  • PyUnicode_Encode* ফাংশন সরানো হয়েছে।
  • TaskGroup ক্লাস একটি অ্যাসিঙ্ক্রোনাস কনটেক্সট ম্যানেজার বাস্তবায়নের সাথে asyncio মডিউলে যোগ করা হয়েছিল যা টাস্ক গ্রুপ সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে।
  • একটি গ্রুপে কাজ যোগ করা create_task() পদ্ধতি ব্যবহার করে সম্পন্ন করা হয়।

অবশেষে, আপনি যদি এই বিষয়ে আরও জানতে আগ্রহী হন , তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেতে পারেন ।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন