OS X Lion চলমান কম্পিউটারে আনুমানিক সংখ্যায় Intel- সামঞ্জস্যপূর্ণ বাইনারি / প্রোগ্রামগুলি কীভাবে গণনা করা যায় এবং গণনা করার সময় কত?


3

একটি জন্য আনুমানিক গণনা করা এবং গণনা করা সময় সম্পর্কে ধারণা পেতে - আমি একটি মাল্টি-লাইন কমান্ড দিয়ে শুরু করেছি যা tcsh এ চালাতে পারে।

আমি একটি নদীর গভীরতানির্ণয় বিশেষজ্ঞ নই, তাই আমি নীচের দ্বারা প্রদত্ত প্রথমতম তুলনায় উত্তরের উত্তর আমন্ত্রণ জানাই।

নোট

হেঁটে যাওয়ার জন্য অত্যধিক সময় ব্যয়বহুল নয়, আমি চাই:

  • বাইনারি ধারণকারী সম্ভবত বেশ কয়েকটি শ্রেণীকক্ষ হাঁটা
  • / রুট হাঁটা শুরু করবেন না।

আমি আনুমানিক গণনা হিসাবে গণনা করা সময়, আগ্রহী।

তথ্যসূত্র

খিলান (3) ম্যাক ওএস এক্স বিকাশকারী সরঞ্জাম ম্যানুয়াল পৃষ্ঠা

লিপো (1) ম্যাক ওএস এক্স ম্যানুয়াল পৃষ্ঠা


আমি বাধ্য ছিলাম 2>/dev/null পাইপ ছাপা হচ্ছে থেকে এক টন বাঁধা প্রতিরোধ করার আগে।
Daniel Beck

ধন্যবাদ ড্যানিয়েল। আমি আমার প্রশ্নটি সম্পাদন করেছি যে আমি নিজে আউটপুট লাইনের সংখ্যা গণনা করছি (আমি জানি না এটি কীভাবে পাম্প করা যেতে পারে কিনা)। আপনি কি tcsh ব্যবহার করেন?
Graham Perrin

2
একটি উত্তর হিসাবে আপনার পদ্ধতি পোস্ট করার বিবেচনা করুন, যেমন আমি যেমন। এখানে
Daniel Beck

আমি এই মুহূর্তে এটি নিয়ে খেলছি, কিন্তু না, আমি ব্যাশ ব্যবহার করছি।
Daniel Beck

উত্তর:


3

আমি নিম্নলিখিত ব্যবহার করুন bash, সামগ্রিক পদ্ধতির ব্যবহার (ব্যবহার করে lipo ) একই:

time find ${PATH//:/ } /Applications /Developer /Library /System ~/Applications -type f -exec lipo -info '{}' ';' 2>/dev/null | grep -E "(x86_64|i.86|pent)" | tee binaries.txt | wc -l

এটি একটি ফাইল তৈরি করবে, binaries.txt ফলাফল তালিকা সহ, ফলাফল ফলাফল মুদ্রণ, পাশাপাশি time ফলাফল আউটপুট, আউটপুট।

আমি সংক্ষিপ্ত man 3 arch ভিত্তি grep অভিব্যক্তি, মুছে ফেলা হয়েছে i860 এন্ট্রি, এবং ব্যবহৃত $PATH পরিবর্তে ইউনিক্স বাইনারি অবস্থার একটি হার্ডকোডেড তালিকা। আমি মুছে ফেলা -perm প্রাথমিক থেকে find, এটি একটি বুদ্ধিমান যা নির্দিষ্ট ব্যবহারকারীদের জন্য শুধুমাত্র এক্সিকিউটেবল বাইনারি মিস হতে পারে।


1
সৎ হতে, এটি একটি সম্পূর্ণ অনেক দ্রুত সঙ্গে দ্য -perm প্রাথমিক: - /
Daniel Beck

যদি আপনি লাইব্রেরিগুলি সন্ধান করতে না চান তবে আমি প্রচুর মিথ্যা ইতিবাচক অনুভব করি, এই ভাবে (এটি এখনও চলছে :-))।
Daniel Beck

1
অনুমতি ফিল্টার ছাড়া: 9531। অনুমতি ফিল্টার সঙ্গে: 8394। যদিও এটি আমার সিস্টেমে দশগুণ বেশি সময় লাগে।
Daniel Beck

ড্যানিয়েল, আপনি আশ্চর্যজনক। ধন্যবাদ! এটা অবশ্যই সময় কাটাচ্ছে, এখানে আমার জন্য বিশ মিনিট বেশি পূর্বে untidy পদ্ধতির শেষ করতে.
Graham Perrin

2

মধ্যে tcsh:

sh
uname -v && date &&\
2>/dev/null find /opt/X11/bin /opt/local/bin /opt/local/sbin \
/bin /sbin /usr/X11/bin /usr/bin /usr/local/bin /usr/sbin \
/Applications /Developer /Library /System ~/Applications \
-type f -perm +111 -exec lipo -info '{}' ';' | grep -E \
"(i386|x86_64|i860|i486|i486SX|pentium|i586|pentpro|i686|pentIIm3|pentIIm5|pentium4)" &&\
date && exit

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

আপনি যদি আশ্চর্য হন কেন grep বারোটি স্থাপত্যের জন্য নয় (দুইটি নয়): এটি বিবেচনা করা হয় সব বর্তমানে পরিচিত আর্কিটেকচার যেখানে বিবরণ, খিলানের জন্য ম্যান পৃষ্ঠাতে রয়েছে ইন্টেল । I386 বা x86_64 ব্যতীত অন্য কিছু সন্ধান করা এই মুহূর্তে বিরল বা অজানা হতে পারে, তবে আমি এই প্রশ্নটির উত্তরটি সময় পরীক্ষার জন্য দাঁড়াতে চাই, যেগুলি সীমাবদ্ধ নয়।

একটি উত্তর হিসাবে, এই আদর্শ থেকে অনেক দূরে ...


i860? এটার আছে একটি বিভিন্ন নির্দেশ সেট ...
Daniel Beck

সর্বাধিক স্থাপত্য এবং নির্দেশ সেট স্টাফ সৎ হতে, আমার অতিক্রম উপায়। আমি চিনতে পারি পেন্টিয়াম পুরানো শব্দ যে কিছু হিসাবে। আমি আই 860 এ ডারউইনের 11 কে চেষ্টা করতে পারব কিনা তা আমি জানি না। এই উত্তর অংশ সম্ভবত হয় খুব অনেক দূরে থেকে আদর্শ!
Graham Perrin

লিপো জিনিস এই ধরনের জন্য সেরা হাতিয়ার? লিপো পদ্ধতির জন্য অনুপ্রেরণা প্রায় দেওয়া হয় http://www.wuala.com/grahamperrin/public/2011/07/12/ppc-lister । সিস্টেম ইনফরমেশন.এপ অনেক উপায়ে ব্যবহারকারীর বন্ধুত্বপূর্ণ, এবং অ্যাপ্লিকেশনগুলি দ্রুত তালিকাভুক্ত করবে, তবে এটি যেভাবে আমরা পেয়েছি তার বিস্তারিত বিবরণ প্রদান করে না lipo
Graham Perrin

আমি নিশ্চিত নই Non-fat অভিব্যক্তি (সংযুক্ত পৃষ্ঠায়) সঠিক। ম্যাক অপারেটিং সিস্টেম (ক্লাসিক) এছাড়াও 68k এবং পিপিসি উভয় কাজ, পাশাপাশি চর্বি বাইনারি ছিল। আউটপুট আছে যদিও নিশ্চিত না।
Daniel Beck

2

উদ্বোধনী প্রশ্ন অতিক্রম একটু

Sill পরীক্ষা, ড্যানিয়েল থেকে গৃহীত উত্তর এখানে একটি বৈচিত্র্য:

date && sw_vers && uname -a && touch /Users/Shared/binaries.log && bash 
open /Users/Shared/binaries.log && time find ${PATH//:/ } \
/Applications /Developer /Library /System ~/Applications \
-type f -exec lipo -info '{}' ';' 2>/dev/null \
| grep -E "(x86_64|i.86|pent)" | tee /Users/Shared/binaries.log \
| wc -l && exit

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

কনসোলের অন্যান্য উইন্ডো খোলা থাকলে এটি ফন্টগ্রেডে লগ উইন্ডোটি আনবে না, এবং সমাপ্তির সময় টার্মিনালকে ফোরাম এনে দেবে না।

কিছু সিস্টেমের উপর হাঁটা খুব সময় ব্যয়বহুল হতে পারে।

একটি দ্রুত রান জন্য

আমরা ব্যবহার করতে পারেন -perm প্রাথমিক find -

date && sw_vers && uname -a && touch /Users/Shared/binaries.log && bash 
open /Users/Shared/binaries.log && time find ${PATH//:/ } \
/Applications /Developer /Library /System ~/Applications \
-perm +111 -type f -exec lipo -info '{}' ';' 2>/dev/null \
| grep -E "(x86_64|i.86|pent)" | tee /Users/Shared/binaries.log \
| wc -l && exit

- কিন্তু ড্যানিয়েল মন্তব্য করেছেন , এই নির্দিষ্ট ব্যবহারকারীদের জন্য এক্সিকিউটেবল শুধুমাত্র বাইনারি মিস হতে পারে।

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