আপনার কোডের কোন অংশগুলি প্রায়শই চালিত হয় তা কীভাবে দেখবেন?


11

আমি দেখতে সক্ষম হতে চাই যে সোর্স কোডের কয়েক হাজার লাইনে কী কোডটি প্রায়শই চালিত হয় এবং এটি সবচেয়ে দীর্ঘ সময় নেয়। এর উদ্দেশ্যটি অপ্টিমাইজেশনের জন্য হবে।

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

আমার ধারণা, উভয় পৃথিবীর সেরাটি এমন একটি প্রোগ্রাম হবে যা কোনও কোডের টুকরো যে পরিমাণ সময় সঞ্চালিত হত তার সমস্ত সময় (যেটি আপনার কোডটিকে সবচেয়ে সামগ্রিকভাবে ধীর করে দেয় তা নির্ধারণ করে) যোগ করে। এর জন্য কি এক ধরণের সরঞ্জাম রয়েছে?


অপারেটিং সিস্টেম বা প্রোগ্রামিং ভাষার জন্য আপনার কী পছন্দ আছে?
মাওগ বলছেন মনিকা

উত্তর:


15

আপনি যা সন্ধান করছেন তা প্রোফাইলিং :

সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ে, প্রোফাইলিং ("প্রোগ্রাম প্রোফাইলিং", "সফটওয়্যার প্রোফাইলিং") গতিশীল প্রোগ্রাম বিশ্লেষণের একধরণের যা পরিমাপ করে উদাহরণস্বরূপ, কোনও প্রোগ্রামের স্পেস (মেমরি) বা সময়ের জটিলতা, নির্দিষ্ট নির্দেশাবলীর ব্যবহার বা ফ্রিকোয়েন্সি এবং ফাংশন কল সময়কাল। প্রোফাইলিং তথ্যের সর্বাধিক সাধারণ ব্যবহার হ'ল প্রোগ্রামের অপ্টিমাইজেশান সহায়তা করা।

এরকম বেশ কয়েকটি অ্যাপ্লিকেশন রয়েছে। কখনও কখনও, এগুলি নিজেই আইডিইতে অন্তর্নির্মিত হয়। নেটবিন্স আইডিয়া হ'ল এমন একটি সরঞ্জাম যাতে একটি প্রোফাইলার অন্তর্নির্মিত থাকে। এখানে চিত্র বর্ণনা লিখুন

এই জাতীয় আর একটি সরঞ্জাম ভিজ্যুয়াল ভিএম

এখানে চিত্র বর্ণনা লিখুন

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

অন্য পদ্ধতিটি হ'ল জাভা বাইটকোডের শুরুতে পুনরায় প্রতিবেদন করতে এবং অন্য অ্যাপ্লিকেশনটিতে সময় থামানোর জন্য instrument

একজন পেশাদার জাভার পক্ষে প্রোফাইলার লেখার পক্ষে ভয়াবহ কঠিন কাজ নয়। আইবিএম আপনার নিজস্ব প্রোফাইল লেখার উপর একটি নিবন্ধ আছে (উত্স কোড সহ!) এটি একটি জাভা ইন্টারেক্টিভ প্রোফাইলার উপর ভিত্তি করে ।

সেখানে প্রচুর প্রোফাইলার রয়েছে - নিখরচায় এবং বাণিজ্যিক উভয় ক্ষেত্রেই (কোনও প্রোফাইলার জেভিএম দৌড়াদৌড়ি সম্পর্কে কীভাবে ঝুঁকছেন যা আপনার কাছে ফিরে আসতে পারে (ইমেল বা অন্য কোনও বিজ্ঞপ্তি) যখন নির্দিষ্ট পদ্ধতিগুলি প্রত্যাশিত রানটাইম ছাড়িয়ে যায়? বা একটি পর্যন্ত জড়িত প্রোগ্রাম যা ওয়েব অনুরোধগুলি খুব বেশি সময় নিলে পুনরায় রিপোর্ট করে - সেই অনুরোধটির জন্য historicalতিহাসিক প্রোফাইলটি পরে তদন্তের জন্য বন্ধ করে দেওয়া আছে?) আপনি তাদের সন্ধান শুরু করতে এবং সেখান থেকে যাওয়ার জন্য আপনি কী সন্ধান করছেন তা জানতে হবে।

আপনি প্রোফাইলারটি পেয়ে গেলে আপনি প্রোফাইলিং ফলাফলগুলি ব্যাখ্যা করতে যাবেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.