পাইথনের জন্য কি কোনও ভিজ্যুয়াল প্রোফাইলার রয়েছে? [বন্ধ]


99

আমি এখন সিপ্রোফিল ব্যবহার করি তবে স্ট্যাটিস্টিকাল ডেটা জিজ্ঞাসা করার জন্য pstats কোড লিখতে আমার ক্লান্তি লাগছে।

আমি একটি ভিজ্যুয়াল সরঞ্জামের সন্ধান করছি যা আমাকে দেখায় যে আমার পাইথন কোড সিপিইউ সময় এবং মেমরির বরাদ্দের ক্ষেত্রে কী করছে।

জাভা দুনিয়া থেকে কিছু উদাহরণ আছে visualvm এবং JProfiler

  • এর মতো কিছু আছে কি?
  • এমন কোনও আইডিই আছে যা এটি করে?
  • চান dtrace সাহায্য করেছিল?

আমি লিনাক্সের কেসিচেগ্রিন্ড সম্পর্কে জানি , তবে আমি কেডিএ ইনস্টল না করে উইন্ডোজ / ম্যাকের উপর চালাতে পারি এমন কিছু পছন্দ করব।


5
যদি এর মতো কোনও প্রোগ্রাম এখনও বিদ্যমান না থাকে তবে এটি একটি দুর্দান্ত মুক্ত উত্স প্রকল্প হবে।
কার্ল

@ কেভন্ড্রিক এই জাতীয় একটি প্রোগ্রামের উপস্থিতি রয়েছে এবং ইতিমধ্যে এটি উল্লেখ করা হয়েছিল: কেচেগ্রিন্ড।
ডেভিন জিনপিয়ের

4
@ ডেভিন, হ্যাঁ তবে প্রশ্নটি দেখুন। :-)
কার্ল

আপনি কি এই কৌশল সম্পর্কে সচেতন: স্ট্যাকওভারফ্লো.com / প্রশ্নস / 7575৫৯১//২ এটি চাক্ষুষ নয়, তবে এটি বিরক্তিকরও নয়, এবং কার্যকারিতাটির জন্য এটি হারানো শক্ত।
মাইক ডুনলাভে

4
@ কেচেচে গ্রিন্ড প্রেমীদের: কে-কে-কে ইনস্টল না করার যে কোনও কারণ হ'ল কেচেচেগ্রিন্ড ব্যবহার না করা ভাল কারণ।
ম্যাট যোগদানকারী

উত্তর:


86

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

সম্পাদনা: স্নেকভিজ পাইথন 2 এবং 3 সমর্থন করে এবং সমস্ত বড় সিস্টেমে কাজ করে।


41

আমি কেবল রানসনেকরুন সম্পর্কে সচেতন ।

পাইডেভের (ইক্লিপস) একীভূত প্রোফাইলার সম্পর্কে কিছু সময় আগে কিছু কথা হয়েছিল, তবে আমি জানি না যে এটি কখনই দিনের আলো দেখবে কিনা।

আপডেট: দুর্ভাগ্যক্রমে মনে হচ্ছে যে রানসনেকরন আর রক্ষণাবেক্ষণ করা হয় না এবং এটি পাইথন 3 সমর্থন করে না।


রানসনেকরুনের জন্য +1। সেরা সরঞ্জাম আইএমএইচও।
কোডেপ

4
RunSnakeRun ভাল, কিন্তু দুর্ভাগ্যবশত এটি বর্তমানে (জুন 2014. ট্রু) পাইথন 3. কাজ করে না
রাম Rachum

@ র্যাম: তথ্যের জন্য ধন্যবাদ, এটি দুর্ভাগ্যজনক :-(।
নিকো

4
আমি এর পরিবর্তে পিনস্রোসেন্ট ব্যবহার করেছি। এটি ভিন্ন প্রাণী, তবে এটি দরকারী।
রাম রাছুম

আমি রানস্নেকরুন পছন্দ করি তবে এটি কীভাবে কলার এবং কলিকে প্রদর্শন করে তা আমি দৃ I়ভাবে পছন্দ করি না। রানসনেকরুন কল কল, স্থানীয় সময় এবং প্রতিটি কলার / কলির জন্য সংখ্যাসমূহের জন্য "মোট" মানগুলি দেখায়। সুতরাং, আপনার কাছে এমন একটি ফাংশন থাকতে পারে যাতে 5 সেকেন্ডের সংশ্লেষজনক সময় থাকতে পারে তবে একটি কলি যার সময়সীমা 100 সেকেন্ড হয়। যে স্বজ্ঞাত নয়, এবং pstats যা সরবরাহ করে তেমন দরকারী নয়। কলকারী / কলি পরিসংখ্যানের জন্য আরও অর্থবহ সংখ্যা দেওয়ার জন্য pstats প্রশ্নে ফাংশন সম্পর্কিত প্রাসঙ্গিক তথ্য ব্যবহার করে। অন্য দর্শকের সম্পর্কে সচেতন নয় যা এটি সহজেই দেখতে পারা যায়।
ভলতায়ার

14

আমি gprof2dot.py ব্যবহার করি। ফলাফলটি এরকম দেখাচ্ছে । আমি এই আদেশগুলি ব্যবহার করি:

  python -m cProfile -o profile.dat my_program.py
  gprof2dot.py -f pstats profile.dat | dot -Tpng -o profile.png

আপনার গ্রাফভিজ এবং gprof2dot.py ইনস্টল করা দরকার। আপনি একটি সুবিধা শেল স্ক্রিপ্ট পছন্দ করতে পারেন ।


যদি আপনি পিএনগির পরিবর্তে এসভিজি আউটপুট করেন (ডট-টিএসভিজি -ও প্রোফাইল.svg সহ) আপনি নিজের ব্রাউজারটি দিয়ে আউটপুট গ্রাফটি সন্ধান করতে সক্ষম হবেন এবং আপনি জাগিগুলি ছাড়াই চিত্রটি স্কেল করতে সক্ষম হবেন।
razeh


5

ভিজুয়াল স্টুডিওর জন্য পাইথন সরঞ্জামগুলিতে খুব ভালভাবে সম্পন্ন গ্রাফিক্যাল প্রোফাইলার রয়েছে: http://www.youtube.com/watch?v=VCx7rlPyEzE&hd=1

http://pytools.codeplex.com/


4
হ্যাঁ, আমি আমার। নেট স্টাফগুলির জন্য এই প্রোফাইলারটি ব্যবহার করি। এটি কেবল হাইলাইট করে সিফফিল কীভাবে ...
বেসিক

4

এই ব্যক্তিটি এখানে বর্ণিত একটি গ্রাফিকাল প্রোফাইল তৈরি করেছেন । হতে পারে আপনি এটি নিজের কাজের জন্য একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করতে পারেন।


4
এটি খুব দুর্দান্ত, তবে দৃশ্যত কেবল সি / সি ++ এর জন্য। যদিও এটি অজগর ব্যবহার করে।
ররি

4

কেসিচেগ্রিন্ডে কিউচেচেগ্রিন্ড নামে একটি সংস্করণ অন্তর্ভুক্ত রয়েছে যা ম্যাক ওএস এক্স এবং উইন্ডোজে চালিত হয়


তবুও ওপি লিনাক্সে কেচেগ্রাইন্ডের নির্ভরতার ভুল ব্যাখ্যা করে বলে মনে হচ্ছে। ডেবিয়ান / উবুন্টু / মিন্টে আপনাকে apt-get install kcachegrindযা প্রয়োজন তা হ'ল যা কেবল 3 কে-ডি-সম্পর্কিত লাইব্রেরি ইনস্টল করে।
সাজ

4
@ সাজ উবুন্টু ১.0.০৪ এ ইনস্টলেশন, apt install kcachegrind~ ৪০ কেডি লাইব্রেরি সহ ১০২ টি প্যাকেজ ইনস্টল করতে চায়।
মার্ক ই। হাজেস

@ মেহাজে তাজা ubuntu:xenialএটি তিনগুণ হতে পারে তবে এটি একটি বিকাশের পরিবেশের জন্য এবং আমি এটিকে একটি বিষয় হিসাবে সবে দেখি না। এবং প্রকৃতপক্ষে apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends kcachegrind | grep kde | grep Depends | sort -u | wc -lমাত্র 13 বলেছেন
সাজ



1

আমি একটি ব্রাউজার ভিত্তিক ঠাহর টুল, লিখেছি profile_eye , যার আউটপুট করে পরিচালিত gprof2dot

gprof2dot অনেকগুলি প্রোফাইলিং-সরঞ্জাম আউটপুট ছাঁটাইতে দুর্দান্ত এবং গ্রাফ-উপাদান স্থান নির্ধারণে দুর্দান্ত কাজ করে। চূড়ান্ত রেন্ডারিং একটি স্ট্যাটিক গ্রাফিক, যা প্রায়শই খুব বিশৃঙ্খল থাকে।

অপ্রচলিত উপাদান, সরঞ্জামদণ্ড এবং একটি ফিশিয়ে বিকৃতির তুলনামূলকভাবে বিবর্ণ হওয়ার মাধ্যমে ডি 3 জেএস ব্যবহার করে সেই বিশৃঙ্খলার অনেকাংশে সরিয়ে ফেলা সম্ভব ।

তুলনা জন্য, দেখুন profile_eye এর ঠাহর এর ক্যানোনিকাল gprof2dot দ্বারা ব্যবহৃত উদাহরণ । বিশেষত পাইথনের জন্য, একটি সিফ্রোফাইল আউটপুট উদাহরণ দেখুন


1

পাইফ্লেম + ফ্লেগ্রাগ্রাফ বিবেচনা করুন

পাইফ্লেম: পাইথন + ফ্লেগ্রাগ্রাফের জন্য একটি পেট্র্যাসিং প্রোফাইলার

https://github.com/uber/pyflame

আপনি পাইফ্লেম ব্যবহার করে একটি চলমান পাইথন প্রক্রিয়াটির দিকে ট্রেস করতে পারেন।


0

আমি প্লপ ব্যবহার করেছি এবং এটি খুব হালকা ওজন হিসাবে পেয়েছি। পারফ মধ্যে একটি দ্রুত অন্তর্দৃষ্টি দেয়।


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