pluses:
প্রথম: হালকা, পরাজিতযোগ্য অবসন্নতা।
দ্বিতীয়: সংকলনটি যদি একটি উল্লেখযোগ্যভাবে ছোট ফাইলের ফলাফল দেয় তবে আপনি দ্রুত লোড বার পাবেন। ওয়েবের জন্য দুর্দান্ত।
তৃতীয়: পাইথন সংকলনের পদক্ষেপটি এড়িয়ে যেতে পারে। অন্তর্নিহিত লোডে আরও দ্রুত। সিপিইউ এবং ওয়েবের জন্য দুর্দান্ত।
চতুর্থ: আপনি যত বেশি মন্তব্য করবেন, উত্স ফাইলের তুলনায় তুলনামূলকভাবে কম .pyc
বা .pyo
ফাইলটি হবে .py
।
পঞ্চম: কেবলমাত্র একটি ফাইল .pyc
বা .pyo
হাতে ফাইল হাতে থাকা কোনও ব্যবহারকারী আপনাকে কোনও বাগ-পাল্টানো পরিবর্তনের কারণে যে বাগটি বলেছিল তা আপনাকে জানাতে ভুলে গেছে এমন একটি বাগের সাথে আপনি উপস্থিত হতে পারে to
ষষ্ঠ: আপনি যদি এমবেডেড সিস্টেমের দিকে লক্ষ্য রাখছেন তবে এম্বেড করার জন্য একটি ছোট আকারের ফাইল প্রাপ্তি একটি উল্লেখযোগ্য প্লাসের প্রতিনিধিত্ব করতে পারে, এবং আর্কিটেকচার স্থিতিশীল তাই নিম্নে বর্ণিত একটি অপূর্ণতা কার্যকর হয় না।
শীর্ষ স্তরের সংকলন
এটি আপনি একটি শীর্ষ স্তরের পাইথন উত্স ফাইলটি একটি .pyc
ফাইলের মধ্যে এইভাবে সংকলন করতে পারেন তা জেনে রাখা কার্যকর :
python -m py_compile myscript.py
এটি মন্তব্যগুলি সরিয়ে দেয়। এটি docstrings
অক্ষত থাকে। আপনি যদি এ docstrings
থেকেও মুক্তি পেতে চান (আপনি কেন করছেন তা নিয়ে আপনি গুরুত্ব সহকারে ভাবতে চাইতে পারেন) তবে পরিবর্তে এইভাবে সংকলন করুন ...
python -OO -m py_compile myscript.py
... এবং আপনি একটি .pyo
ফাইলের পরিবর্তে একটি .pyc
ফাইল পাবেন; কোডটির প্রয়োজনীয় কার্যকারিতার দিক থেকে সমানভাবে বিতরণযোগ্য, তবে স্ট্রিপ আউট-এর আকার অনুসারে ছোট docstrings
(এবং পরবর্তী কর্মসংস্থানের জন্য এটি যদি docstrings
প্রথম স্থানে শালীন থাকে তবে সহজেই সহজে বোঝা যায় )। তবে ত্রুটিটি তিনটি, নীচে দেখুন।
দ্রষ্টব্য যে পাইথন .py
ফাইলের তারিখ ব্যবহার করে , যদি তা উপস্থিত থাকে তবে সিদ্ধান্ত নিতে যে এটি .py
ফাইলটি .pyc
বা .pyo
ফাইলের বিপরীতে চালানো উচিত --- সুতরাং আপনার .py ফাইলটি সম্পাদনা করুন এবং .pyc
বা .pyo
অপ্রচলিত এবং আপনার যে কোনও উপকারিতা হারিয়ে গেছে তা নষ্ট হয়ে গেছে। আবার .pyc
বা .pyo
সুবিধাগুলি পুনরায় ফিরে পেতে আপনার এটিকে পুনরায় সংকলন করতে হবে যেমন যেমন তারা।
অপূর্ণতা:
প্রথম: একটি "ম্যাজিক কুকি" আছে .pyc
এবং .pyo
ফাইলগুলি সিস্টেম আর্কিটেকচারকে ইঙ্গিত করে যে পাইথন ফাইলটি সংকলিত হয়েছিল you আপনি যদি এই ফাইলগুলির মধ্যে একটি অন্যরকম পরিবেশে বিতরণ করেন তবে এটি ভেঙে যাবে। আপনি বিতরণ তাহলে .pyc
বা .pyo
যুক্ত থাকলে .py
পুনরায় কম্পাইল করতে বা touch
তাই এটি supersedes .pyc
বা .pyo
, শেষ ব্যবহারকারী এটা ঠিক করতে পারে না, পারেন।
দ্বিতীয়: যদি উপরে বর্ণিত কমান্ড লাইন বিকল্পটি docstrings
ব্যবহার -OO
না করা হয় তবে কেউ সেই তথ্যটি পেতে সক্ষম হবেনা, যা কোডটি ব্যবহারকে আরও কঠিন (বা অসম্ভব) করতে পারে)
তৃতীয়: পাইথনের -OO
বিকল্পটি -O
কমান্ড লাইন বিকল্প অনুযায়ী কিছু অপ্টিমাইজেশন প্রয়োগ করে ; এটি অপারেশন পরিবর্তন হতে পারে। পরিচিত অপ্টিমাইজেশনগুলি হ'ল:
sys.flags.optimize
= 1
assert
বিবৃতি এড়ানো হয়
__debug__
= মিথ্যা
চতুর্থ: আপনি ইচ্ছাকৃতভাবে ক্রম কিছু সঙ্গে আপনার পাইথন স্ক্রিপ্ট এক্সিকিউটেবল করেছিল #!/usr/bin/python
প্রথম লাইন, এই আউট ছিনতাই হয় .pyc
এবং .pyo
ফাইল ও যে কার্যকারিতা হারিয়ে গেছে।
পঞ্চম: কিছুটা সুস্পষ্ট, তবে আপনি যদি আপনার কোডটি সংকলন করেন তবে এটির ব্যবহারের উপরই কেবল প্রভাব পড়তে পারে না, তবে অন্যদের দ্বারা আপনার কাজ থেকে শেখার সম্ভাবনা প্রায়শই মারাত্মকভাবে হ্রাস পায়।