xcode - এক্সকোড 4-ধীর কর্মক্ষমতা



performance xcode4 (12)

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

আমি হার্ড ডিস্কটি সম্পূর্ণভাবে মুছে ফেললাম এবং আবারও ইনস্টল হ'ল স্নো চিতাবাঘ এবং এক্সকোডটি অন্য সপ্তাহে কিন্তু স্থিরভাবে এটি একটি হতাশাজনক প্রতিক্রিয়া সময় (বেশ কয়েক দিন ধরে) কার্যপ্রণালী ব্যাহত করে।

আমি মাঝে মাঝে সংগঠক -> প্রকল্পগুলির মাধ্যমে প্রকল্পটির "প্রাপ্ত ডেটা" মুছে ফেলেছি এবং এটির সামান্য প্রভাব রয়েছে।

আমি প্রথম উদাহরণে একটি উচ্চ specced মেশিন পেতে ছাড়া অন্য কর্মক্ষমতা উন্নত করতে পারেন কিছু আছে যদি আমি ভাবছি।

FYI আমি ২GHz এবং 4GB RAM এ Intel Core 2 Duo প্রসেসরগুলির সাথে ম্যাকবুক চালাচ্ছি।

যদি আমাদের আপগ্রেড করতে হয় তবে আমি জানতে চাই যে লোকেরা এক্সকোড 4 থেকে ভাল specced মেশিনে এই খারাপ কর্মক্ষমতাটি অনুভব করছে কিনা (যা আমাদের হার্ডওয়্যার আপগ্রেডকে বরং অর্থহীন করে তুলবে কারণ এটি শুধুমাত্র এক্সকোড যা MacBook এ কোনও কার্য সম্পাদন সমস্যা রয়েছে)।

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

https://code.i-harness.com


এক্সকোড 4.2, 4.3:

ফাইল-ইন্ডেক্সারের প্রধান সমস্যা (একই কোড যা স্পটলাইট চালায়, যা বছর ধরে বাগ্গী হয়েছে? সম্ভবত)।

"পর্যবেক্ষক" ফাইলগুলির সাথে জড়িত সমস্ত অ-অপরিহার্য অক্ষম করুন:

  1. দ্রুত সাহায্য (এনবি: QH ট্যাবের উপর ক্লিক করবেন না! এমনকি সহকারীকে গোপন করেও কোডটি চালানোর কারণ হয়! একটি নতুন ফাইলে যাওয়ার আগে একটি আলাদা ট্যাবে যান ...)
  2. এসসিএম ম্যানেজমেন্ট (এসভিএন, গিট, ইত্যাদি - এক্সকোড এর জিট সাপোর্টটি এখনো অল্প ক্ষয়ক্ষতি (দুর্নীতিবাজ প্রকল্পগুলি) হতে পারে, এবং তারা SVN সমর্থনটি বাদ দিয়েছে, তাই আপনাকে এটি ব্যবহার করা উচিত নয়!)
  3. আপনার ওয়ার্কস্পেস ফোল্ডারটি মুছে ফেলার চেষ্টা করুন (গ্রহণযোগ্য উত্তর অনুসারে), তবে শুধুমাত্র ডিস্কে বড় হলেই
  4. ... অন্য কিছু আপনি পৃথক ফাইলের অবস্থা সম্পর্কিত খুঁজে পেতে পারেন

এক্সকোড 4.4, 4.5:

এই সংস্করণগুলির একটি প্রধান মেম লিক, একটি ভাঙা ফাইল ইনডেক্সার (তবে 4.2 এবং 4.3 এর চেয়ে ভাল), এবং সম্ভবত একটি ব্যক্তিগত সোয়াপ ফাইল সমস্যা আছে।

অবশেষে, সোয়াপ স্পেস নিষ্ক্রিয় / সক্ষম করে ( কিভাবে ম্যাক ওএস এক্স এ স্যাপিং নিষ্ক্রিয় করা যায় ), এবং বিভিন্ন মেশিনে স্বাভাবিক হার্ড ড্রাইভগুলি ব্যবহার করে এবং 16 গিগাবাইট RAM পর্যন্ত ২ গিগাবাইট RAM দিয়ে মেশিনগুলিতে পরীক্ষা চালানোর মাধ্যমে আমি Xcode খুঁজে পেয়েছি মনে হচ্ছে ওএস এক্স স্ন্যাপ (!) থেকে স্বাধীন, তার নিজস্ব সোয়াপ-স্পেস চালানো।

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

অনুভূত হয়:

  1. এক্সকোড 4.4 / 4.5 এলোমেলোভাবে আপনার সিস্টেমের সমস্ত RAM (একটি ছোট প্রকল্পের জন্য 10 গিগাবাইট) নেবে যাতে বাকি সিস্টেমটি স্থগিত হয়, ডিস্ক সোয়াপিংয়ের জন্য অপেক্ষা করে আটকে যায়।

    1. কাজ: এসএসডি এর সাথে ম্যাকবুকগুলিতে আপনি এই ঘটনাটি জানেন না
    2. বিশ্বস্ত: ... যদিও এটি সম্ভবত আপনার হার্ড ডিস্কটি ক্ষতিগ্রস্ত করছে (এসএসডিগুলি থ্র্যাশিংয়ের মতো নয়)
  2. Xcode হার্ড-ডিস্ক অ্যাক্সেস হগ করবে যাতে এটি তার (ভাঙা) অভ্যন্তরীণ ফাইল ইন্ডেক্সিং করতে পারে। যখন সিস্টেমের মেমরি কম থাকে এবং ওএস এক্সটিকে সোয়াপিং করার প্রয়োজন হয় ... এটি এক্সকোড ফাইলগুলি সূচী করার জন্য আটকা পড়ে যায় ... এবং এটি অপেক্ষা করার সময় এক্সকোড আরো মেমরি নেয় ... এবং: বুম! ছোট সিস্টেমে, ওএস এক্স অবশেষে হ্যাং

  3. এক্সকোডটি ওএস এক্স স্ন্যাপ স্পেসের প্রয়োজন নেই

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

যদি এক্সকোড হঠাৎ ধীর হয়ে যায় তবে এটি অভ্যন্তরীণভাবে স্যুপ করা হচ্ছে, কোন মুহুর্তে আপনি এটি খালি এবং পুনঃসূচনা করতে পারেন।

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

যদি আপনার ২ গিগাবাইট RAM থাকে তবে আমি নিরাপদভাবে স্য্যাপটি অক্ষম করতে পারি (যখন আমি এটি চেষ্টা করে প্রতি মাসে কেবলমাত্র একটি ওএস এক্স ক্র্যাশ ছিলাম, এটি একটি বছর ধরে এটি চালানো হয়েছিল), তবে এটি আপনাকে হাই-ভিডিও / গ্রাফিক্স ফাইলগুলি ফাইলগুলির সাথে কাজ করবে যে শুধু চালানোর জন্য মাল্টি-গিগাবাইট প্রয়োজন। কয়েক সপ্তাহ ধরে এটি চেষ্টা করুন এবং দেখুন কি ঘটতে পারে।

কিন্তু ... যখন এটি ক্রিসমাস কাজ ধীর গতির Xcode পুনরায় আরম্ভ। কম RAM সহ মেশিনে, Xcode এর ব্যক্তিগত সোয়াপফাইলটি বন্ধ করার সময় আপনি অবিলম্বে মুছে ফেলতে বলে মনে হয় (অনেক RAM সহ মেশিনে ঘটছে বলে মনে হচ্ছে না)


আপনি Xcode ইন্ডেক্স এড়াতে পারেন। এটি করার ফলে আপনার সিস্টেমের মেমরি পারফরম্যান্স উন্নত হবে তবে স্বতঃপূর্ণকরণের মতো আইডিই বৈশিষ্ট্যগুলিও আটকে যাবে এবং কাজ থেকে সংজ্ঞাগুলিতে লাফিয়ে যাবে।

$ defaults write com.apple.dt.XCode IDEIndexDisable 1

আমি অবশেষে গিট বৈশিষ্ট্য বন্ধ করে আমার এক্সকোড কাজ স্বাভাবিক পেয়েছিলাম।


আমি এই থ্রেড এবং [অসংখ্য] অন্যদের মধ্যে প্রস্তাবিত সবকিছু সম্পর্কে শুধু চেষ্টা করেছি এবং আমার জন্য কাজ করা একমাত্র জিনিস প্রকল্পটির জন্য বিচ্ছেদকে "নিষ্ক্রিয় করা" ছিল। এখানে বেদনাদায়ক অংশটি - অন্তর্নির্মিত SVN প্লাগইনটি আমি কেবলমাত্র "অক্ষম" করতে পারি আমার / ইত্যাদি / হোস্ট ফাইলটি একটি বোকা আইপি ঠিকানা দিয়ে ফ্রিম করতে, যা কার্যকরভাবে সমস্ত SVN অ্যাক্সেসকে ব্যর্থ করে।

আমি IDESubversion.ideplugin / বিকাশকারী / লাইব্রেরী / এক্সকোড / ব্যক্তিগত প্লাগইনগুলিকে অপসারণ / পুনঃনামকরণ করার চেষ্টা করেছি, কিন্তু Xcode 4.2.1 টি পুকুরে এবং শুরু করতে অস্বীকার করে।

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

আমি ফাইল-> সোর্স নিয়ন্ত্রণের মাধ্যমে "রিমোট স্থিতি" বন্ধ করার চেষ্টা করেছি-> দূরবর্তী অবস্থানটি লুকান (আমার জন্য কিছুই করেনি)।

এখন যেহেতু আমি আমার হোস্ট ফাইলে আমার SVN হোস্টনামটি 1.2.3.4 এ সেট করেছি, এক্সকোড দুর্দান্ত কাজ করে এবং প্রায় প্রতিটি সময় ফাইলগুলির মধ্যে স্যুইচ করে SBBOD দেখায় না।

$ grep 1.2.3.4 /etc/hosts
1.2.3.4 svn.myhost.com

তারপরে, যখন আমি সত্যিই সংস্করণ নিয়ন্ত্রণ করতে চাই, তখন আমাকে হোস্ট ফাইলটি খালি করতে হবে এবং cmd line svn ব্যবহার করতে হবে।


আমি জানি না যে এটি কেউকে সাহায্য করে কিনা, কিন্তু আমার জন্য, XCode 32-বিট মোডে চালানোর জন্য এটি সেট করার পরে একটি বিশাল কর্মক্ষমতা বৃদ্ধি পেয়েছে (এটি 64 ডিফল্ট ছিল)। এটি পুরোনো xcode 3 এর মতো দ্রুত। আপনি অ্যাপ্লিকেশনটি ডানদিকে ক্লিক করে ( বিবিধ / অ্যাপ্লিকেশন / অ্যাপ্লিকেশন / এক্সকোড.এপ ) এবং 32-বিট মোডে খোলা চেকটি নির্বাচন করে 32 বিট এ পরিবর্তন করতে পারেন।


ইন্টারফেস বিল্ডার / এডিটর সহ .xib ফাইলটি সংশোধন করার সময় আপনার ধীর কর্মক্ষমতা থাকে, তবে .xib এর জন্য ফাইল ইন্সপেক্টরের অধীনে যান এবং স্বয়ংক্রিয়-বিন্যাস নিষ্ক্রিয় করুন । আপনার সম্পাদনাগুলি .xib এ করুন, তারপরে একটি চূড়ান্ত পদক্ষেপ হিসাবে, স্বয়ংক্রিয়-লেআউট পুনরায় সক্ষম করুন এবং সীমাবদ্ধতা যোগ করুন বা সামঞ্জস্য করুন।


এই সমস্যাগুলির সম্মুখীন প্রত্যেককে ম্যাক ওএস এক্স লায়নের Xcode 4.1 চেষ্টা করতে হবে। আমি খুব হতাশ এবং এটি একই হার্ডওয়্যার (প্রতিক্রিয়াশীল ম্যাকবুক প্রো 2.66 গিগাহার্জ কোর 2 Duo এখানে 4 গিগাবাইট RAM সঙ্গে)।

আমি মনে করি তারা এই রিলিজের সাথে কর্মক্ষমতা বাগ সংশোধন করেছে।


এক্সকোড 4 এর কম্পাইলিং পারফরম্যান্সের গতি বাড়ানোর জন্য আমি একটি কৌশল খুঁজে পেয়েছি:

যখন আপনি চালান বা কম্পাইল বা xcode এ অন্য কোন প্রক্রিয়াকরণ এবং এটি খোলা সক্রিয় মনিটর স্থির করে এবং এক্সকোড প্রক্রিয়া নির্বাচন করুন তারপর নমুনা প্রক্রিয়াতে ক্লিক করুন। এটি প্রক্রিয়াটি আনস্টক করতে এবং স্বাভাবিক হিসাবে আবার চালানো যা একটি যুক্তিসঙ্গত সময় অ্যাপ্লিকেশন তৈরি করার অনুমতি দেবে। অন্তত এই আমার জন্য কাজ করে।

ইচ্ছাশক্তি


গুরুত্বপূর্ণ আপডেট: এক্সকোড 6 এর জন্য পথ পরিবর্তন হয়েছে (মন্তব্য dcc জন্য ধন্যবাদ)! আমি শুধু বিকল্প উপায় যোগ।

কোডের নিম্নলিখিত লাইন সহ একটি RAM ডিস্ক তৈরি করে বিল্ড আপ করতে আরেকটি দুর্দান্ত কৌশল রয়েছে:

diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://8475854`

এটি প্রায় 4 গিগাবাইট আকারের একটি মেমরি ডিস্ক ইমেজ তৈরি করে। কিন্তু সতর্ক থাকুন, আপনার যথেষ্ট স্মৃতি থাকতে হবে। অবশ্যই আপনি 2 জিবি মত একটি ছোট ইমেজ তৈরি করতে পারেন (যে 4237927 হবে)।

তারপর আপনি সেখানে এক্সকোড ডেটা সংরক্ষণ করার জন্য এক্সকোডকে জানান

আপনি সরাসরি আইফোন সিমুলেটর ডেটা সংরক্ষণ করতে এক্সকোডকে বলতে পারবেন না, তবে আপনি RAMDisk এ একটি ফোল্ডার তৈরি করতে এবং আইফোন সিমুলেটর ডিরেক্টরি পরিবর্তে একটি সিম্বলিক লিঙ্ক তৈরি করতে পারেন:

এক্সকোড 6:

cd /Volumes/ramdisk
mkdir CoreSimulator
rm -R ~/Library/Developer/CoreSimulator
ln -s /Volumes/ramdisk/CoreSimulator ~/Library/Developer/CoreSimulator

পুরোনো এক্সকোড সংস্করণ:

cd /Volumes/ramdisk
mkdir iPhone\ Simulator
rm -R ~/Library/Application\ Support/iPhone\ Simulator
ln -s /Volumes/ramdisk/iPhone\ Simulator ~/Library/Application\ Support/iPhone\ Simulator

আমি এই সেটআপের সাথে সিমুলেটরটির জন্য তৈরি করি, এটি কোনও সময় চলছে এবং চলছে :)

সচেতন থাকুন যে আপনার মেশিনটি পুনরায় চালু করার সময় RAM ডিস্কটি অদৃশ্য হয়ে যাবে, সুতরাং এটি স্ক্রিপ্ট বা স্টার্টআপে যে কোনও কিছু তৈরি করা একটি ভাল ধারণা হতে পারে। এবং আপনি যে কোনও তথ্য রাখতে পারবেন না !!!

আপডেট 2013-03-12:

  1. নিচে ফ্রান্সিসকো গার্সিয়া থেকে মন্তব্য পড়ুন!

  2. আমার নতুন এমবিপি (একটি এসএসডি ড্রাইভ ধারণকারী) সঙ্গে আমি আর এই পদ্ধতি প্রয়োজন হয় না। Xcode মত জাহান্নাম রান :)। আমি বড় ফল উদ্বেগের জন্য বিজ্ঞাপন হিসেবে দেখা হয় না আশা করি, এটি শুধুমাত্র একটি অভিজ্ঞতা রিপোর্ট ...



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


সাধারণ পছন্দগুলিতে লাইভ ইস্যুগুলি নিষ্ক্রিয় করা একটি নির্দিষ্ট পার্থক্য তৈরি করেছে। আমি ঘন ঘন পুনরায় চলমান পরিস্থিতিতে জন্য gdb সক্ষম ছাড়া একটি প্রকল্প সেট আপ (কোন gdb বেশ একটি বিট লঞ্চ আপ গতি)।





xcode4