একবার फिर অক্টোবর আসে, এবং এর মানে হলো নতুন Python রিলিজের জন্য পরীক্ষা করা (তকনিকালভাবে, আমি 3.15.0rc3 রিলিজ ব্যবহার করছি, অফিসিয়াল 3.15 রিলিজ কিছু দিন পর আসবে)। পिछले বছর Python 3.14 পারফরম্যান্স লেখার মতো, আজ আমার নন-ফর্মাল Python benchmark সে শেয়ার করছি, যেখানে Python 3.15 তুলনা করা হচ্ছে 3.10 পর্যন্ত ফিরে যাওয়া পুরনো ইন্টারপ্রেটার সাথে। যদি আপনি চার্ট এবং টেবিলে রুচি না रखে এবং শুধু আমার বিশ্লেষণ পড়তে চান, তবে শেষে নिष्कসানের সেকশনে যেতে পারেন। আমি যে benchmark কে "নন-ফর্মাল" বলছি, তাতে কি মানে? প্রোগ্রামিং ভাষার জন্য একটি সঠিক এবং বিশ্বব্যাপী পারফরম্যান্স মাপ অসম্ভব। আপনি কেবল কিছু প্রোগ্রাম লিখতে পারেন এবং运行 করতে পারেন তাদের পারফরম্যান্স মাপ পেতে। অন্য প্রোগ্রামের পারফরম্যান্স বৈশিষ্ট্য সমান দেখতে পারে বা না দেখতে পারে, সত্যিই কোনো জানে না। আমার এই benchmark-এর উদ্দেশ্য শুধু Pythonের বিভিন্ন সংস্করণের মধ্যে পারফরম্যান্স পরিবর্তন অনুভব করা, কিন্তু আমি স্পষ্ট করতে চাই যে আমি Python ইন্টারপ্রেটার সম্পূর্ণ পারফরম্যান্স প্রফাইল অর্জার চেষ্টা করছি না। আমার benchmark জন্য, আমি fibo.py এবং bubble.py নামে দুটি প্রোগ্রাম চালাব, যেগুলো দেখতে পারেন। এইগুলো পिछले éditions of this benchmark-তে ব্যবহার করা হয়েছিল। প্রথম Fibonacci অনুক্রমের সংখ্যা গণনা করে, এবং দ্বিতীয় বাবল sor্ট ব্যবহার করে সংখ্যার তালিকা সাজায়। আমি এই দুটি প্রোগ্রাম দুটি অ্যালগরিদমের শ্রেণির প্রতিনিধি হিসেবে নির্বাচন করেছি। Fibonacci গণনা ব্যবহার করে récursion, যা আমি পাইথন ইন্টারপ্রেটারে কিছুটা অক্ষম পেয়েছি। অন্যদিকে, bubble sort শুধু for-loops ব্যবহার করে, বinai কোন récursion। আমার benchmark বিভিন্ন প্রকারের প্রোগ্রাম কভার করার চেষ্টা করে না। বিশেষ করে, অনুহার করুন যে আমি এই benchmark-তে I/O বন্ধিত কোড অন্তর্ভুক্ত করছি না। কারণ récents Python সংস্করণে কিছু পারফরম্যান্স উন্নয়ন multi-threading-around ঘুরে পড়ে, তাই আমার প্রতিটি প্রোগ্রামের জন্য একটি multi-threaded বিবिधতা তৈরি করতে পড়েছি, তাই মোট four別개의 পরীক্ষা। পূর্ণ পরীক্ষা маট্রিক্স বাস্তবায়নটা খুব জটিল, কারণ আমি সব পাইথন সংস্করণের নিচে চার প্রোগ্রাম ভেরিয়েশন চালাতে হব, साथ ही JIT এবং free-threading选项 আছে যে। আমি Py Py-তে পরীক্ষা চালাতে পছন্দ করি, কারণ এই ইন্টারপ্রেটার পिछले दौर benchmark-তে প্রভাবশালী পারফরম্যান্স দেখিয়েছে। এবং Python পারফরম্যান্সকে বড় প্যারিস্টেমের মধ্যে স্থাপন করতে, আমি Java Script (Node.js) এবং Rust-তে দুটি প্রোগ্রাম পোর্ট করতে পড়েছি। আমার সম্পূর্ণ test matrix যা কাজ করছি: 2 টেস্ট স্ক্রিপ্ট: fibo.py: récursion ব্যবহার করে Fibonacci সংখ্যা গণনা; bubble.py: récursion ছাড়া র্যান্ডম সংখ্যার তালিকা সাজায়। 2 থ্রেডিং মোড: সingle-threaded; 4 সমান্তরাল থ্রেড। 6 Python সংস্করণ, साथে Py Py, Node.js এবং Rust-এর récents সংস্করণ: CPython 3.10, 3.11, 3.12, 3.13, 3.14, 3.15; Py Py 3.12; Node 26.3; Rust 1.97. 3 Python ইন্টারপ্রেটার: স্ট্যান্ডার্ড; Just-In-Time (JIT): শুধু CPython 3.13+; Free-threading (FT): শুধু CPython 3.13+. আমার পূর্বের benchmark-তে পাঠক মনে রাখতে পারেন যে আমার matrix-তে Linux বনvs. mac OS-র জন্য একটি অতিরিক্ত आयাম ছিল। Given যে দুটি previous benchmark運行-তে তাদের মধ্যে কোনো উল্লেখযোগ্য পার্থক্য ছিল না, তাই এইবার mac OS test ছেড়ে দিয়েছি, তাই সব test আমার Gentoo Linux রান করলা Linux ল্যাপটপ-তে, যা Intel Core i5 CPU-তে এবং Gentoo Linux রান করছে। আমার প্রতিটি অংশগ্রহণকারী পারফরম্যান্স মাপের জন্য, আমি test প্রোগ্রামটি তিনবার চালাব এবং তিনবার চালানোর গড় সময় নেব। আমি নিচে শেয়ার করছি ফলাফল টেবিলে, আমি 3.15 সংস্করণের সাথে গতি পার্থকও দেখাব, এবং যখন বুঝতে পারে তখন একটি दिए गए ইন্টারপ্রেটার পिछले সংস্করণের সাথে গতি পার্থকও দেখাব। গতি তুলনা জন্য, আমি একটি সহজ অনুপাত ব্যবহার করছি, যেখানে 1x সমান গতি का মানে, 0.5x का মানে অর্ধ গতি (অথবা যে इसे সম্পূর্ণ হওয়ায় দ্বিগুণ সময় লাগে)...
উৎস: Hacker News · সারাংশ: HeadlinesBriefing