ইন্টেল সংকলকগুলি কি মাইক্রোসফ্টগুলির চেয়ে সত্যই ভাল? [বন্ধ]


56

বছর আগে, যখন আমি আবিষ্কার করেছিলাম যে ইন্টেল ভিজ্যুয়াল স্টুডিও সামঞ্জস্যপূর্ণ সংকলকগুলি বিক্রি করে। আমি এটি বিশেষত সি / সি ++ পাশাপাশি চমত্কার ডায়াগনস্টিক সরঞ্জামগুলির জন্য চেষ্টা করেছিলাম। তবে কোডটি কেবল পার্থক্যটি লক্ষ্য করার জন্য গণনামূলকভাবে নিবিড় ছিল না। একমাত্র ধারণাটি ছিল: इंटেল কি ঠিক এখনই আমার জন্য এটি করেছে, বাহ, ন্যানোসেকেন্ড রেজোলিউশন সহ আশ্চর্যজনক সরঞ্জামগুলি অবিশ্বাস্য। কিন্তু ট্রায়ালটি শেষ হয়ে গেল এবং দল কখনই গুরুত্ব সহকারে কোনও ক্রয় বিবেচনা করে নি।

আপনার অভিজ্ঞতা থেকে, যদি লাইসেন্স ব্যয় কোনও ব্যাপার না, তবে কোন বিক্রেতার বিজয়ী?

পবিত্র যুদ্ধের সূচনা করা কোনও বিস্তৃত বা অস্পষ্ট প্রশ্ন বা সত্য নয়। এই ধরণের প্রশ্ন দুটি খুব দৃশ্যমান সরঞ্জাম সম্পর্কে। সরঞ্জামগুলির কোনও রহস্য বা আশ্চর্য থাকলে কারও পছন্দ হয় না। এবং সেরা এবং সেরাগুলির মধ্যে পছন্দগুলি সর্বদা ব্যথা। আমি আরও বুঝতে পারি যে ঘাস সবসময় সবুজ যুক্তি। আমি সব "কি ifs" গল্প শুনতে চাই।

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

ইত্যাদি। তবে কেউ কেউ কিছু উত্তর জানে।


17
ইন্টেল সংকলকগুলির খুব দক্ষ সংখ্যাসূচক কোড তৈরির জন্য খ্যাতি রয়েছে।
কোয়ান্ট_দেব 4'11

2
@ হংক: কোয়ান্ট_দেব যদি ব্যাক আপ করতে কিছু লিঙ্ক সরবরাহ করতে পারে তবে হ্যাঁ এটি হওয়া উচিত!
হতাশ

2
@ রকেট সার্জন: সবাই আপনার বক্তব্যের সাথে একমত হবে না। আসলে এরিক রেমন্ড মাইক্রোসফ্ট তাদের ব্যবসায়ের চর্চা দিয়ে কয়েক দশক পিছনে গণনার অগ্রগতি ধরে রাখার জন্য একটি দুর্দান্ত দৃ case় মামলা করেছে।
ম্যাসন হুইলারের

2
@ রকেটসার্জন ওপেন সোর্সটির অর্থের সাথে কোনও সম্পর্ক নেই।
কাওড

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

উত্তর:


57

সতর্কতা: নিজস্ব অভিজ্ঞতার ভিত্তিতে উত্তর - ওয়াইএমএমভি

কোডটি যদি সত্যিই গণনার ব্যয়বহুল হয় তবে হ্যাঁ, অবশ্যই । প্রাক্তন ইনটেল সি ++ কম্পাইলার (মানক মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ কম্পাইলার বনাম) আমি প্রাক্তন ইন্টেল সি ++ কম্পাইলারের সাথে (এখন ইন্টেল স্টুডিওটি যদি সঠিকভাবে মনে করি) সাথে 20 গুণগুণ উন্নতি দেখেছি । এটি সত্য যে কোডটি নিখুঁত থেকে খুব দূরে ছিল এবং এটি একটি ভূমিকা পালন করতে পারে (আসলে আমরা ইন্টেল সংকলকটি ব্যবহার করে বিরক্ত করেছিলাম, এটি জায়ান্ট কোডবেস রিফ্যাক্টর করার চেয়ে সহজ ছিল), এছাড়াও কোড চালানোর জন্য ব্যবহৃত সিপিইউ ছিল একটি ইন্টেল কোর 2 কোয়াড, যা এই জাতীয় জিনিসের জন্য নিখুঁত সিপিইউ, তবে ফলাফলটি হতবাক। সংকলক নিজেই কোড অপ্টিমাইজ করার বিভিন্ন উপায়ে রয়েছে, এসএসই সক্ষমতার দিক থেকে একটি নির্দিষ্ট সিপিইউকে লক্ষ্য করে including এটি সত্যিই লজ্জিত করে -O2/ -O3পালিয়ে যায়। এবং ছিলপ্রোফাইলার ব্যবহার করার আগে

নোট করুন, তবে, সত্যিই আক্রমণাত্মক অপ্টিমাইজেশানগুলি চালু করা সংকলনটিকে বেশ কিছুটা সময় নিতে সক্ষম করবে, বড় প্রকল্পের জন্য দুই ঘন্টা মোটেই অসম্ভব নয়। এছাড়াও, উচ্চ স্তরের অপ্টিমাইজেশানগুলির সাথে, কোডটি নিজেকে প্রকাশ করার জন্য ত্রুটি হওয়ার উচ্চতর সম্ভাবনা রয়েছে ( -O3এটিও জিসিসি দ্বারা লক্ষ্য করা যায় )। আপনি ভাল জানেন এমন একটি প্রকল্পের জন্য, এটি সম্ভবত একটি প্লাস হতে পারে, যেহেতু আপনি আগে যে কোনও শেষ বাগটি খুঁজে পাননি এবং এটি ঠিক করেছেন তবে লোমশ গণ্ডগোল সংকলনের সময় আপনি কেবল আঙ্গুলগুলি পেরিয়ে x86 দেবতাদের কাছে প্রার্থনা করবেন pray

এএমডির মেশিনে কর্মক্ষমতা সম্পর্কে কিছু: এটা ইন্টেল CPU- র হিসাবে হিসাবে ভাল না, কিন্তু এটি এখনও এর পথ (আবার, আমার অভিজ্ঞতা থেকে) মাইক্রোসফট সি ++ কম্পাইলার বেশী ভালো। কারণটি হ'ল আপনি এসএসই 2 সমর্থন (উদাহরণস্বরূপ) সহ একটি জেনেরিক সিপিইউ লক্ষ্যবস্তু করতে পারেন । তাহলে এসএসই 2 সহ এএমডি সিপিইউগুলিকে খুব বেশি বৈষম্য করা হবে না। যদিও ইন্টেল সিপিইউতে ইন্টেল সংকলক সত্যই শোটি চুরি করে। তবে এটি সমস্ত ডাবল রেইনবো এবং চকচকে ইউনিকর্ন নয়। নন-জেনুইন ইন্টেল সিপিইউগুলিতে বাইনারিগুলি মোটেও চলমান নয় এবং অন্যান্য বিক্রেতাদের সিপিইউতে কৃত্রিমভাবে অনুপ্রাণিত নিম্নমানের পারফরম্যান্স নিয়ে কিছু ভারী অভিযোগ উঠেছে (। এছাড়াও নোট করুন এটি কমপক্ষে 3 বছর আগের তথ্য এবং এটির বৈধতা এখন পর্যন্ত অজানা, তবে নতুন পণ্য বিবরণ বাইনারিগুলিকে একটি কার্ট ব্লাঞ্চ দেয় ধীরে ধীরে চালানোর জন্য যেমন ইনটেল নন-ইন্টেল সিপিইউগুলিতে ফিট করে।

আমি জানি না এটি ইন্টেল সম্পর্কে কী এবং তারা কেন এত ভাল সংখ্যার গণনা সরঞ্জাম তৈরি করে, তবে এটিও দেখুন: http://julialang.org/ । একটি তুলনা নেই এবং যদি আপনি শেষ সারি তাকান, ম্যাটল্যাব সি কোড এবং উভয় পরাস্ত করে shines জুলিয়া , কি আমাকে হানা লেখক মনে করেন যে, কারণ ইন্টেলের হয় গণিত কার্নেল লাইব্রেরী

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


@ কে.স্টেফ আপনি কি এই বনাম এমএস সংকলকটিকে পুরো প্রোগ্রাম অপ্ট এবং প্রোফাইল গাইডড অপ্টিমাইজেশানের সাথে তুলনা করেছেন?
পুনরায়

2
ইন্টেল প্রকাশ করতে বাধ্য হয়েছিল যে তাদের সংকলক ইন্টেল দ্বারা সিপিইউ তৈরি না করা থাকলে রানটাইম সময়ে ইচ্ছাকৃতভাবে অপ্রচলিত কোড পাথ ব্যবহার করে। ইন্টেল এফটিসি নিয়ে সমস্যায় পড়েছিল । আপনি আমাকে আইসিসি ব্যবহারের জন্য অর্থ দিতে পারেন নি। আমি 10 ফুটের খুঁটির সাথে সেই প্রতিপক্ষের প্রতিযোগী টুকরোটি স্পর্শ করব না।
doug65536

@ Doug65536 যে প্রশ্নটি জিজ্ঞাসা করা হয় তা হ'ল "ইন্টেল সংকলকরা কি আসলেই আরও ভাল", "সফ্টওয়্যারটিতে আরও ভিত্তি অর্জনের জন্য ইন্টেল কি এই একচেটিয়া অপব্যবহার করে যে হার্ডওয়্যার বাজারে এই একচেটিয়াবাদক হয় না"? আমি বলছি না যে আপনার মন্তব্য অফটোপিক, তবে আমার জন্য এই আলোচনায় আদর্শের কোনও স্থান নেই। আপনার কলটি ব্যবহার করুন বা না করুন - তবে এটি এই সত্যটি পরিবর্তন করবে না যে আইসিসি ইন্টেল সিপিইউগুলির জন্য বাইনারি তৈরিতে বেশ খারাপ।
স্টেফ 25'16

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

35

ইন্টেল কম্পাইলারের খুব দক্ষ সংখ্যাসূচক কোড তৈরির খ্যাতি রয়েছে:

https://stackoverflow.com/questions/1733627/anyone-here-has-benchmarked-intel-c-compiler-and-gcc

http://www.open-mag.com/754088105111.htm

http://www.freewebs.com/godaves/javabench_revisited/

দয়া করে মনে রাখবেন আমি দাবি করি না যে এটা হয় সেখানে আউট দ্রুততম কম্পাইলার, কিন্তু এটা অবশ্যই দক্ষতা জন্য একটি খুব ভাল খ্যাতি উপভোগ করে। নোট করুন যে উইন্ডোজের জন্য "অফিসিয়াল" ল্যাপাক বাইনারিগুলির লেখকরা এগুলি তৈরি করতে ইন্টেল ফোর্টারান সংকলকটি ব্যবহার করেন: http://icl.cs.utk.edu/lapack-for-windows/ এবং তাদের দক্ষতার বিষয়ে একটি বা দুটি জিনিস জানা উচিত।


2
এটির যে খ্যাতি রয়েছে তা কেবল তা নয় it আপনি যদি এটি CRUD অ্যাপ্লিকেশনগুলি লিখতে ব্যবহার করেন তবে এটি প্রয়োজনীয় নয়, তবে নম্বর ক্র্যাঞ্চিংয়ের ক্ষেত্রে সি, সি ++ এবং ফোরট্রান পণ্যগুলি একেবারে খালি
blrfl

27

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

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

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

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


14

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

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

এটি অবশ্যই সত্যিকারের একটি উদাহরণ। আপনার মাইলেজ পরিবর্তিত হতে পারে.


আপনার কি সিপিইউর বিবরণ ভাগ করে নেওয়ার কথা মনে করবেন?
ওক

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

2
আপনি কি পরীক্ষার জন্য একটি এএমডি প্রসেসর ব্যবহার করছেন? আমি মনে করি এটি প্রাসঙ্গিক তথ্য (সংকলক উদ্দেশ্যমূলকভাবে খারাপ সম্পাদন করেছিল বা এটি সর্বোত্তমভাবে কাজ করার পরেও কিছু করতে পারে না)।
মনিকা

3
এটি একটি ইন্টেল কোর আই 7 প্রসেসর।
ম্যাসন হুইলারের

সংক্ষিপ্ত সংস্করণ: ইন্টেল ভিএস 2010 এর চেয়ে ধীর ছিল। আমি পাশাপাশি কাজটি করার চেষ্টাও খুব বেশি আগে আগে সি ++ ক্র্যাঞ্চিং মোটামুটি সংখ্যার ডেটা কোডবেজে করেছিলাম। আমি প্রচুর বিভিন্ন সেটিংস চেষ্টা করেছি। ইতিমধ্যে বিদ্যমান পারফরম্যান্স পরীক্ষার সাথে কিছু পৃথক অ্যালগরিদম লক্ষণীয়ভাবে দ্রুত পেয়েছে তবে সবচেয়ে লক্ষণীয়ভাবে ধীর er সামগ্রিকভাবে আমি কোনও সফটওয়্যার দিয়ে উচ্চ স্তরের অপারেশনটি ধারাবাহিকভাবে এবং পরিমাপযোগ্যভাবে ধীর গতিতে ছিল। আমি ইন্টেলের সংকলক ২০১৩ এবং ২০১০ সংস্করণ দিয়েও এটি ব্যবহার করে দেখেছি, ২০১০ পণ্য আরও ভাল স্থিতিশীল হওয়ার সাথে সাথে আরও ভাল কোড বলে মনে হয়। আমার বেশিরভাগ পরীক্ষাগুলি একটি প্রাক-এভিএক্স আই 7 এ ছিল, তবে কিছুগুলি পুরানো কোর 2 এ ছিল।
ধনী

9

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

আমরা যখন কম্পাইলার কিনতে তহবিল চেয়েছি তখন বস কী বলেছিল বলে আপনি মনে করেন .......

তবে - এটি খুব ভাগ্যবান এবং বিরল প্রান্তের কেস ছিল - ইন্টেল সংকলক থেকে 10% দ্রুত কোড আউটপুট আমাদের কর্মক্ষমতাটির সঠিক দিকে ফিরিয়ে দিয়েছে। আমরা যদি ইতিমধ্যে ডান পাশে ছিলাম বা 10% বেশি ছিলাম তবে এটি কোনও পার্থক্য করত না। আমাদের যদি ইঞ্জিনিয়াররা থাকত আমরা সম্ভবত কোডটি অপ্টিমাইজ করতে পারতাম এবং হার্ডওয়্যার স্পিনটি সংরক্ষণ করতে পারতাম এবং ইন্টেল সংকলকটির প্রয়োজন পড়তাম না, তবে ঝুঁকি বেশি ছিল এবং ইঞ্জিনের সংকলক ইঞ্জিনিয়ারিং সময়ের চেয়ে কম ব্যয় করে কাজ করেছিলেন।

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


5

আমি কেবল তিনটি সুবিধা পেয়েছি:

  1. অন্যান্য সংকলকগুলির তুলনায় এটি আরও নতুন ইন্টেল সিপিইউগুলির বৈশিষ্ট্যগুলির জন্য সমর্থন পেয়েছে।

  2. সতর্কতা জারি করা এবং অন্যান্য সংকলকরা মিস করা সমস্যাগুলি ধরার জন্য এটি একটি দুর্দান্ত অতিরিক্ত সংকলক। জিসিসি আইসিসি না এমন কিছু জিনিস ধরে এবং তার বিপরীতে। আইসিসি না করে ভিজ্যুয়াল স্টুডিওতে এমন কিছু জিনিস ধরা পড়ে এবং বিপরীতে।

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


3

আমরা আমাদের কোডবেসের প্রতিটি পারফরম্যান্স সমালোচনামূলক প্রকল্পের জন্য ইন্টেল সংকলক ব্যবহার করি। এটি সম্পর্কে দুর্দান্ত বিষয়টি হ'ল এটি কোডটি সত্যই রক্ষণাবেক্ষণযোগ্য করে তোলে। ম্যানুয়ালি সর্বত্র __ মিমি কলগুলি সংযুক্ত করার পরিবর্তে এবং সংকলকটিকে ডেটা প্রিফেচ করার কথা বলার পরিবর্তে সমস্তগুলি পরের রিলিজের মধ্যে আবার উপ অনুকূল হবে, আপনি কেবল নিজের কোডটি পুনরায় সাজিয়ে কিছুটা উন্মাদ গতি অর্জন করবেন।

প্রায়শই, অপটিমাইজড কোডটি হাত অনুকূলিতকরণের চেয়ে অনুসরণ করা সহজ, হাতটি অনুকূলিতকরণের চেয়ে দ্রুত এবং যখন একটি নতুন নির্দেশিকা সেট প্রকাশ হয়, সংকলক সেই নির্দেশিকা সেটটি ব্যবহার করবে। এটি আসাধারন.

একইভাবে আর্ম সংকলকটির জন্যও (বাহু থেকে, ইন্টেল নয়), যদি আপনার বাহুতে অবমুক্ত হয়, আপনার জন্য ভেক্টরাইজিংয়ে দুর্দান্ত কাজ করে।


+1 টি। ইন্টেলের একটি এআরএম সংকলক রয়েছে? Unbeleivable!

1
না, ইন্টেলের কোনও এআরএম সংকলক নেই। এআরএম এর একটি এআরএম সংকলক রয়েছে, যা দুর্দান্ত কাজ করে।
মার্টিয়ারেট

2
"সম্পাদনা: আর্মের একটি আর্ম সংকলক নেই" " এটাই কি তুমি বোঝাতে চেয়েছ?
লুস্কুবাল

0

এই মাপদণ্ডের পৃষ্ঠাটি পরীক্ষা করুন। সংক্ষেপে, ইন্টেল জিতেছে।

তবে মার্জিনটি এত বড় নাও হতে পারে: আপনি যদি 32 বিটটি সংকলন করেন এবং আপনার বিল্ড সিস্টেমটি প্রোফাইল গাইডেড অপ্টিমাইজেশান সমর্থন করে না তবে লাভটি 10% এর ক্রম হয়। এই ধরনের উন্নতি কি ঝামেলা এবং দীর্ঘ সংকলনের জন্য উপযুক্ত?


ইউআরএল লিঙ্কটি মারা গেছে বলে মনে হচ্ছে।
কনটাঙ্গো

0

বলা হয়ে থাকে যে ইন্টেল অ্যান্ড্রয়েড ওএসের জন্য ইন্টেল সি ++ কম্পাইলার ভি 13.0 প্রকাশ করেছে, এটি গুগলের মোবাইল প্ল্যাটফর্মের জন্য বিশেষত ডিজাইন করা একটি অনুকূল সি / সি ++ সংকলক সরবরাহের প্রথম প্রচেষ্টা।

বিকাশকারীরা ইনটেল অ্যাটম systems প্রসেসর সহ ইন্টেল প্রসেসরের উপর ভিত্তি করে অ্যান্ড্রয়েড ডিভাইসগুলির জন্য অ্যাপ্লিকেশন তৈরি করতে লিনাক্স * ভিত্তিক সিস্টেমে সংকলকটি ব্যবহার করতে পারেন। ইন্টেল সংকলকটি জিএনইউ সি ++ এবং অ্যান্ড্রয়েড নেটিভ ডেভলপমেন্ট কিট (এনডিকে) এর বিকাশকারী সরঞ্জামগুলির সাথে সামঞ্জস্যপূর্ণ আপনি কেবল কোনও বিকাশ মেশিনে সংকলকটি ব্যবহার করতে পারবেন না। উইন্ডোজ বা ওএস এক্স উভয়ই সমর্থিত নয়; সরঞ্জামগুলি কেবল উবুন্টু 10.04 বা 11.04 এর সাথে ব্যবহারের জন্য প্রত্যয়িত

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

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