2011-01-03 9 views
10

विश्वविद्यालय के लिए, मैं बाइटकोड संशोधन करता हूं और जावा प्रोग्राम के प्रदर्शन पर उनके प्रभाव का विश्लेषण करता हूं। इसलिए, मुझे जावा प्रोग्राम की आवश्यकता है --- उत्पादन में उपयोग किए जाने वाले सर्वोत्तम मामले में --- और उपयुक्त मानक। उदाहरण के लिए, मुझे पहले ही हाइपरएसक्यूएल मिला है और बेंचमार्क प्रोग्राम PolePosition द्वारा इसका प्रदर्शन मापता है। जावा प्रोग्राम जेआईटी कंपाइलर के बिना एक जेवीएम पर चल रहे हैं। आपकी सहायताके लिए धन्यवाद!जावा प्रोग्राम बेंचमार्किंग

पीएस .: मैं जेवीएम या जावा भाषा के प्रदर्शन (जैसे वाइड फाइंडर) के प्रदर्शन को बेंचमार्क करने के लिए प्रोग्राम का उपयोग नहीं कर सकता।

+0

यह स्पष्ट नहीं है कि आप क्या करना चाहते हैं। क्या आप इसे थोड़ा और समझा सकते हैं? – Riduidel

+1

बाइट कोड आमतौर पर अनुकूलित नहीं किया जाता है, इसके बजाय जेआईटी मूल कोड को अनुकूलित करेगा। इस तरह आप पाएंगे कि बाइट-कोड को बदलने से प्रदर्शन में सुधार नहीं होगा जैसा आप उम्मीद कर सकते हैं क्योंकि आप इस पर निर्भर हैं कि यह देशी कोड में कैसे बदला जाता है। –

+0

@ पीटर, मुझे लगता है कि वह उन परिदृश्यों की तलाश में है जो सर्वोत्तम प्रदर्शन – UVM

उत्तर

8

ब्रेंट बॉयर ने आईबीएम डेवलपर कार्यों के लिए एक अच्छी लेख श्रृंखला लिखी: Robust Java benchmarking, जो एक माइक्रो-बेंचमार्किंग फ्रेमवर्क के साथ है जो ध्वनि सांख्यिकीय दृष्टिकोण पर आधारित है। Article और Resources Page

चूंकि, आप विश्वविद्यालय के लिए ऐसा करते हैं, तो आपको Andy Georges, Dries Buytaert, Lieven Eeckhout: Statistically rigorous java performance evaluation in OOPSLA 2007 में रुचि हो सकती है।

0

कोई भी अनुभवी प्रोग्रामर आपको बताएगा कि समयपूर्व अनुकूलन अनुकूलन से भी बदतर है। यह सर्वोत्तम संसाधनों का अपशिष्ट है, और अनंत भविष्य (और वर्तमान) समस्याओं का स्रोत सबसे खराब है।

संदर्भ के बिना, बेंचमार्क लॉग के साथ भी, कोई भी एप्लिकेशन आपको कुछ भी नहीं बताएगा। मेरे पास एक लूप हो सकता है जो पूरा होने में 10 घंटे लगते हैं, बेंचमार्क इसे लगभग हमेशा के लिए ले जाएगा, लेकिन मुझे परवाह नहीं है क्योंकि यह प्रदर्शन महत्वपूर्ण नहीं है। एक और लूप केवल एक मिलीसेकंड लेता है लेकिन यह बहुत लंबा हो सकता है क्योंकि यह मुझे 100 माइक्रोसॉन्ड अंतराल पर आने वाले आने वाले डेटा पैकेट को पकड़ने में विफल रहता है।

दो चरम सीमाएं, लेकिन दोनों हो सकते हैं (यहां तक ​​कि एक ही आवेदन में), और आप तब तक कभी नहीं जानते जब तक कि आप उस एप्लिकेशन को नहीं जानते थे, इसका उपयोग कैसे किया जाता है, यह क्या करता है, जिसके अंतर्गत स्थितियां और आवश्यकताएं होती हैं।

यदि उपयोगकर्ता इंटरफ़ेस को प्रस्तुत करने के लिए 1/2 सेकंड लगता है तो यह बहुत लंबा या कोई समस्या नहीं हो सकती है, संदर्भ क्या है? उपयोगकर्ता अपेक्षाएं क्या हैं?

8

Caliper माइक्रो-बेंचमार्किंग के लिए Google द्वारा प्रदान किया गया एक टूल है। यह आपको ग्राफ और सबकुछ प्रदान करेगा। जो लोग इस उपकरण को एकसाथ रखते हैं, वे "समयपूर्व अनुकूलन सभी बुराइयों की जड़ है," (बेंचमार्किंग के बिंदु) के सिद्धांत से बहुत परिचित हैं और बेंचमार्किंग की भूमिका को समझाने में बहुत सावधान हैं।

संबंधित मुद्दे