আমি আমার উত্তরটি তিন ভাগে ভাগ করব। প্রোফাইলিং, সি এর মাধ্যমে পাইথন কোডটি দ্রুততর করা, এবং পাইথনের মাধ্যমে অজগরটিকে গতিময় করা। আমার মতামতটি হল যে আপনার কোডটির কার্য সম্পাদন তখন সত্য বোতল ঘাড়ে ড্রিল করছে তা দেখার জন্য পাইথনের কয়েকটি সেরা সরঞ্জাম রয়েছে। কোনও প্রোফাইল না করেই কোড গতি বাড়ানো যেমন উজি দিয়ে হরিণকে হত্যা করার চেষ্টা করার মতো।
আপনি যদি কেবলমাত্র মাদুর- ভেক পণ্যগুলিতে আগ্রহী হন তবে আমি scipy.sparse সুপারিশ করব ।
প্রোফাইলিংয়ের জন্য পাইথন সরঞ্জাম
প্রোফাইল এবং সিপ্রোফাইল মডিউল : এই মডিউলগুলি আপনাকে আপনার স্ট্যান্ডার্ড রান সময় বিশ্লেষণ এবং ফাংশন কল স্ট্যাক দেবে। তাদের পরিসংখ্যানগুলি সংরক্ষণ এবং pstats মডিউলটি ব্যবহার করে আপনি বেশ কয়েকটি উপায়ে ডেটা দেখতে পারেন তা বেশ সুন্দর।
কার্নপ্রাফ : লাইন কোড টাইমিংয়ের মাধ্যমে লাইনের মতো কাজ করার জন্য এই সরঞ্জামটি অনেক রুটিন একসাথে রাখে
মেমরি_প্রফিলার : এই সরঞ্জামটি আপনার কোডের লাইন মেমরি মেমরি ফুট মুদ্রণ করে produces
আইপিথন টাইমার :timeit
দ্রুত ইন্টারেক্টিভ উপায়ে ফাংশনগুলির পার্থক্য দেখার জন্য ফাংশনটি বেশ দুর্দান্ত।
পাইথনের গতি বাড়ছে
সিথন : পাইথন হ'ল পাইথনে কয়েকটি ফাংশন গ্রহণ এবং দ্রুত কোড পাওয়ার দ্রুততম উপায়। আপনি পাইথনের সাইথন বৈকল্পিকের সাথে ফাংশনটি সাজাতে পারেন এবং এটি সি কোড উত্পন্ন করে। এটি খুব রক্ষণাবেক্ষণযোগ্য এবং সি / সি ++ / ফোর্টরান-এ অন্য হাতে লিখিত কোডের সাথেও লিঙ্ক করতে পারে। এটি এখন পর্যন্ত পছন্দসই সরঞ্জাম।
সিটি টাইপস : সিটিপস আপনাকে নিজের ফাংশনগুলি সিতে লিখতে অনুমতি দেবে এবং তারপরে কোডটির সাধারণ সজ্জা দিয়ে দ্রুত এগুলি মুড়িয়ে দেবে। এটি পাইওবজেক্টগুলি থেকে castালাইয়ের সমস্ত ব্যথা এবং সি ফাংশনটি কল করার জন্য গিল পরিচালনার সমস্ত ব্যয় পরিচালনা করে।
সি তে আপনার কোড লেখার জন্য অন্যান্য পদ্ধতির উপস্থিতি রয়েছে তবে তারা সি / সি ++ গ্রন্থাগার নেওয়ার জন্য এবং পাইথনে এটি মোড়ানোর জন্য কিছুটা বেশি।
পাইথন-শুধুমাত্র পন্থা
আপনি যদি পাইথনের বেশিরভাগ অংশেই থাকতে চান তবে আমার পরামর্শটি হল আপনার আলগোরিদিমগুলি প্রয়োগ করার জন্য আপনি কোন ডেটা ব্যবহার করছেন এবং সঠিক ডেটা টাইপগুলি বাছছেন তা নির্ধারণ করার জন্য আমার পরামর্শ। এটি আমার অভিজ্ঞতা হয়েছে যে আপনি সাধারণত আপনার ডেটা স্ট্রাকচারের অনুকূলকরণের মাধ্যমে আরও বেশি কিছু পাবেন তবে যে কোনও নিম্ন স্তরের সি হ্যাক। উদাহরণ স্বরূপ:
ন্যালি : অ্যারেগুলির স্টেয়ার্ড অপারেশনের জন্য খুব দ্রুত একটি সংক্রামক অ্যারে
numexpr : একটি নমপি অ্যারে এক্সপ্রেশন অপ্টিমাইজার। এটি নলপদী অ্যারে এক্সপ্রেশনগুলি মাল্টিথ্রেডিংয়ের অনুমতি দেয় এবং পাইথন ইন্টারপ্রেটারের বিধিনিষেধের কারণে নিম্পি তৈরি অসংখ্য অস্থায়ী পদক্ষেপগুলি থেকে মুক্তি পান।
ব্লিস্ট : তালিকার একটি অভ্যন্তরীণ নোডগুলি সন্নিবেশ, সূচীকরণ এবং সরানোর জন্য খুব দ্রুত একটি তালিকার একটি বি-ট্রি বাস্তবায়ন
পান্ডাস : অ্যারেগুলিতে ডেটা ফ্রেম (বা টেবিলগুলি) খুব দ্রুত বিশ্লেষণ।
পিটবেবলস : দ্রুত কাঠামোগত শ্রেণিবদ্ধ টেবিলগুলি ( এইচডিএফ 5 এর মতো), বিশেষত মূল গণনার বাইরে এবং বড় ডেটার অনুসন্ধানগুলির জন্য ভাল।