কীভাবে আপনার কম্পিউটারকে ধীর করতে হবে (পরীক্ষার উদ্দেশ্যে)? [বন্ধ]


20

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

টার্বোচার্জড ডিভ মেশিনটি অস্থায়ীভাবে ধীর করার কয়েকটি ভাল উপায় কী? "গতি" ধারণার মধ্যে কয়েকটি কারণ রয়েছে, উদাহরণস্বরূপ:

  • সিপিইউ ঘড়ির ফ্রিকোয়েন্সি।
  • সিপিইউ কোরগুলির পরিমাণ।
  • মেমরি এবং প্রসেসরের ক্যাশে পরিমাণ।
  • বিভিন্ন বাসের গতি।
  • ডিস্ক I / O।
  • জিপিইউ।
  • প্রভৃতি

34
"টার্বো বোতাম" টিপুন ... না, অপেক্ষা করুন।
লেনিপ্রোগ্রামাররা

6
আপনার সমস্যার মূল এখানে: "বিরক্তিকরভাবে অক্ষম"। আপনার কোডিং অভ্যাসটি পরিবর্তন করুন
ডার্কনাট

16
@ ডার্কনাইট: না, এটি এমন নয়। আপনাকে প্রথমে এটি ঠিক করতে হবে, তারপরে প্রয়োজনে দ্রুত তৈরি করুন । কীটি অপ্টিমাইজ করা যায় তা জানতে, আপনাকে সমস্যাযুক্ত অংশটি কী তা পরীক্ষা করতে হবে এবং এটি বের করতে হবে। প্রথম স্থানে যত দ্রুত সম্ভব জিনিস তৈরি করা আপনার সময় অপচয় - এবং সম্ভবত এটি সঠিকভাবে করা অপচয় করা ।
জুনাস পুলক্কা

1
আচ্ছা আমি আংশিকভাবে একমত। তবে আপনার সাথে যদি শুরু করার দক্ষ কোডিং অভ্যাস থাকে; তারপরে আপনার "এটিকে সঠিকভাবে কাজ করা" হিসাবে আপনি পরে "এটিকে আরও দ্রুত তৈরি করা" কম সময় ব্যয় করতে পারেন।
অন্ধকার রাত

4
@ ডার্কনাইট: আমি মনে করি @ জুনাস খুব বুদ্ধিমান প্রশ্ন জিজ্ঞাসা করছেন। কেবল "আপনার কোডিং অভ্যাস পরিবর্তন করা" যথেষ্ট ধারণাটি বাস্তবসম্মত নয়। এখানে একটি উদাহরণ রয়েছে: ( স্ট্যাকওভারফ্লো / প্রশ্ন / ৯২26262//২ ) এবং আপনি যে আইডিই ছাড়াই স্লো মেশিনে সময় কাটাতে পারবেন তা ধারণা পারফরম্যান্স বাগগুলি খুঁজে পাওয়ার জন্য যথেষ্ট। মানুষের প্রচুর কথা প্রোফাইলিং কিন্তু সম্পর্কে করছেন এটা (সফলভাবে) অন্য ব্যাপার। জুনাস যে বিষয়ে জিজ্ঞাসা করছেন তা হ'ল যা আমাকে সত্যই সাহায্য করবে (এবং আমি মনে করি অন্যেরা)।
মাইক ডুনলাভে 21

উত্তর:


39

সীমিত মেমরি এবং শুধুমাত্র একটি কোর সহ ভার্চুয়াল মেশিনে আপনার পরীক্ষা চালান।

পুরানো মেশিনগুলির লোকেরা এখনও থাকতে পারে বেশিরভাগ পেন্টিয়াম 4 যুগের জিনিস। এটি যে অবাস্তব নয় - আমি এখন নিজেকে একজন ব্যবহার করছি। অনেকগুলি বর্তমান পিসিগুলিতে সিঙ্গেল কোর পারফরম্যান্স সাধারণত খুব বেশি ভাল হয় না এবং এটি আরও খারাপ হতে পারে। যাইহোক যাইহোক অনেক কিছুর জন্য সিপিইউর পারফরম্যান্সের চেয়ে র‌্যাম পারফরম্যান্স আরও গুরুত্বপূর্ণ এবং পুরানো 1 জিবি পি 4 এর চেয়ে কিছুটা কঠোরভাবে সীমাবদ্ধ করে আপনি তার জন্য কিছুটা ক্ষতিপূরণ দিন।

এটি ব্যর্থ হয়ে আপনি যদি কিছুটা ব্যয় করতে চান তবে একটি নেটবুক কিনুন। এটি পরীক্ষা চালান।


1
বা একটি প্রাচীন ল্যাপটপ।

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

আসলগুলি আপনাকে ভিএম
জাভিয়ের

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

1
+1 একটি ভিএম অত্যন্ত সুরক্ষিত এবং পরীক্ষার জন্য আপনি ঠিক এমন পরিবেশ সরবরাহ করেন। আমি এই উদ্দেশ্যে নিজেকে ভিএমওয়্যার ব্যবহার করি।
গ্যারি রোয়ে

11

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

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


1
না, প্রোফাইলিং অ্যালগরিদমিক অদক্ষতা ধরবে না। এটি আপনাকে দেখিয়ে দেবে যে প্রোগ্রামটি যদি আপনার গতি বাড়ানোর প্রয়োজন হয় তবে এটির সময়টি কোথায় ব্যয় করছে, তবে আপনার যদি এটির গতি বাড়ানোর প্রয়োজন হয় না।
ডেভিড থর্নলি

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

4
@ ডেভিড থর্নলি এবং @ টলেমি: আমি মনে করি অ্যালগরিদমের অদক্ষতা বা কোড হট স্পটগুলি মূল সমস্যার ক্ষেত্রে গৌণ: "এটি কি খুব ধীর বা না?" এটি বিষয়গত, তবে এটিও সবচেয়ে গুরুত্বপূর্ণ প্রশ্ন। যদি এটি অনুশীলনে ধীর মনে হয় না, তবে আপনার অ্যালগরিদম যদি অক্ষম হয় তবে কী হবে? এটি যা করার দরকার তা করে! অথবা যদি উচ্চতর অনুকূল অ্যালগরিদম নির্বিশেষে প্রোগ্রামটি খুব ধীর বোধ করে, তবে আপনাকে সম্পূর্ণরূপে (আর্কিটেকচার? প্রোগ্রামিং ভাষা? কিছু!) পরিবর্তন করতে হতে পারে। অত্যন্ত অনুকূল অ্যালগরিদম থাকা প্রোগ্রামের
অলসতার

1
অ্যালগরিদম অদক্ষতা প্রকাশ করতে, পরীক্ষার জন্য প্রগতিশীল আকারের ডেটা সেট ব্যবহার করুন।
rwong

10

আপনার মেশিনটি ধীর করতে আপনি যা কিছু করেন তা সম্ভবত একটি হ্যাক।

এখানে বেশ কয়েকটি পরামর্শ দেওয়া হল:

  • ভার্চুয়াল মেশিন ব্যবহার করুন
  • আপনার মেশিনে কোডটি প্রোফাইল করুন, বাধাগুলি সন্ধানে
  • "পারফরম্যান্স টেস্টিং" এর জন্য একটি পুরানো মেশিন ব্যবহার করুন

@ ম্যাট এর মানে কী?
জননী

1
@ জোহনি: আমি বোঝাতে চাই যে আমি ভোট দিয়ে যাচ্ছি কারণ জেসন অ্যাপ্লিকেশনটি প্রোফাইলিংয়ের পরামর্শ দিয়েছেন, যা আশাবাদী ধীর গতিতে না যাওয়ার জন্য পারফরম্যান্স বোতল ঘাড়ের উত্স খুঁজে পাবে।
ম্যাট এলেন


4

উপলব্ধি করুন এটি বেশ পুরানো প্রশ্ন, তবে এই পরিস্থিতিতে অন্য কারও জন্য; আপনি সিপিইউ কিলার চেষ্টা করতে পারেন। এটি মূলত একটি ছোট অ্যাপ্লিকেশন যা আপনি আপনার প্রসেসরের বিভিন্ন% এর গ্রাহককে কনফিগার করতে পারেন। http://www.cpukiller.com/

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