'জিসি' এবং 'জিসিসিগো' এর মধ্যে প্রাথমিক পার্থক্যগুলি কী কী?


88

দুটি জনপ্রিয় গো সংকলক, 'জিসি' এবং 'জিসিসিগো' এর মধ্যে প্রাথমিক পার্থক্যগুলি কী? পারফরম্যান্স বানাবেন? রান-টাইম পারফরম্যান্স? কমান্ড লাইনের বিকল্পগুলি? লাইসেন্সিং?

আমি কোন মতামতের সন্ধান করছি না, যার মধ্যে সবচেয়ে ভাল, কেবল তাদের পার্থক্যের একটি প্রাথমিক অবলম্বন, তাই আমি সিদ্ধান্ত নিতে পারি যে আমার প্রয়োজনগুলির জন্য সবচেয়ে ভাল।


4
সময়ের সাথে কীভাবে এই পরিবর্তন হয়েছে? এখন 2019
লিও গ্যালুচি

উত্তর:


110

আপনি " gccgo সেট আপ এবং ব্যবহার " তে আরও দেখতে পারেন :

জিসিসিগো, গো ভাষার সংকলক। জিসিসিগো সংকলক জিসিসির জন্য একটি নতুন সীমানা।
মনে রাখবেন যে সিসিটিগো জিসি সংকলক নয়

যেমনটি " জিসিসিগো ইন জিসিসি ৪.7.১ " (জুলাই ২০১২) এ ব্যাখ্যা করা হয়েছে

গো ভাষা সর্বদা একটি নির্দিষ্টকরণ দ্বারা সংজ্ঞায়িত করা হয়, বাস্তবায়ন নয়। গো দল দুটি পৃথক সংকলক লিখেছিল যা সেই অনুমানটি কার্যকর করে: জিসি এবং জিসিসিগো go

  • জিসি হ'ল মূল সংকলক এবং গো সরঞ্জাম এটিকে ডিফল্টরূপে ব্যবহার করে।
  • জিসিগো একটি আলাদা ফোকাস সহ একটি পৃথক বাস্তবায়ন

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

এছাড়াও:

  • জিসি সংকলক কেবল সর্বাধিক জনপ্রিয় প্রসেসরগুলি সমর্থন করে: x86 (32-বিট এবং 64-বিট) এবং এআরএম।
  • জিসিসিগো, জিসিসি সমর্থন করে এমন সমস্ত প্রসেসরকে সমর্থন করে।
    এই সমস্ত প্রসেসরের জিসিসিগো-র জন্য পুরোপুরি পরীক্ষা করা হয়নি, তবে অনেকগুলি রয়েছে x86 (32-বিট এবং 64-বিট), স্পার্ক, এমআইপিএস, পাওয়ারপিসি এবং এমনকি আলফা সহ।
    জিসিগোটি অপারেটিং সিস্টেমগুলিতেও পরীক্ষা করা হয়েছিল যেগুলি জিসি সংকলক সমর্থন করে না, উল্লেখযোগ্যভাবে সোলারিস।

যদি আপনি একটি প্রমিত যান মুক্তি থেকে যান কমান্ড ইনস্টল করুন, এটি আগে থেকেই সমর্থন মাধ্যমে gccgo -compilerবিকল্প: go build -compiler gccgo myprog


সংক্ষেপে: জিসিসিগো: আরও অনুকূলিতকরণ, আরও প্রসেসর


তবে ওয়ানওফোন ( উত্স ) দ্বারা মন্তব্য করা হিসাবে , প্রায়শই জিসিসিগো দ্বারা সমর্থিত গো এবং সর্বশেষতম প্রকাশের মধ্যে একটি বিচ্ছিন্নকরণ রয়েছে:

gccgo কেবলমাত্র ভার্সন v1.2 সংস্করণে সমর্থন করে , সুতরাং আপনার যদি 1.3 / 1.4 (টিপ) -তে নতুন কিছু প্রয়োজন হয় তবে জিসিসিগো ক্যান্ট ব্যবহার করা যাবে না। -

জিসিসি রিলিজ ৪.৯ -এ জিসিসিগো-র গো 1.2 (1.3 নয়) সংস্করণ থাকবে
জিসিসি এবং গো প্রকল্পগুলির প্রকাশের শিডিয়ুল মিলছে না, যার অর্থ 1.3 উন্নয়ন শাখায় উপলব্ধ হবে তবে পরবর্তী জিসিসির প্রকাশ, 4.10, সম্ভবত জিসিসিগো-এর গো 1.4 সংস্করণ পাবে।


twotwotwo উল্লেখ মন্তব্য ব্র্যাড ফিত্জপ্যাট্রিক এর উপস্থাপনার স্লাইড

জিসিসিগো খুব ভাল কোড জেনারেট করে
... তবে পালানোর বিশ্লেষণের অভাব রয়েছে: অনেকগুলি ছোট বরাদ্দ + আবর্জনা দিয়ে পারফরম্যান্সকে মেরে ফেলে
... জিসি সুনির্দিষ্ট নয়। 32-বিটের জন্য খারাপ।

twotwotwo যোগ করেছেন:

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


পিটারসো মন্তব্য হিসাবে , 1.5 এখন যান (Q3 / Q4 2015) এর অর্থ:

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

"গো ইন গো" স্লাইডটিতে উল্লেখ রয়েছে:

সি গেছে।
পার্শ্ব দ্রষ্টব্য: gccgo এখনও শক্তিশালী চলছে।


বারক্যান্ট মন্তব্যগুলিতে জিজ্ঞাসা করেছেন যে gccgoএটি কি gcবুটস্ট্র্যাপ করা হয়েছিল।

জার্গ ডব্লু মিতাগ উত্তর দেয়:

না, gccgoপরে হাজির gc

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

gccgoইয়ান ল্যান্স টেইলর , গো প্রকল্পের সাথে সম্পর্কিত নয়, একটি জিসিসি হ্যাকার দ্বারা শুরু করেছিলেন।

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

২০০৯ সালের নভেম্বরে হেক্টর চু একটি উইন্ডোজ বন্দর প্রকাশ করেছিল।
এবং go-lang.cat-v.org/os-portsপৃষ্ঠাটিতে জো / জোসেফ পয়িয়ারের প্রাথমিক কাজের কথাও বলা হয়েছে । ইন এই পৃষ্ঠার :

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

এতে যোগ করুন ( ওয়েব অ্যাপে লিখিতভাবে যান ) ! 光 京 (ওয়েই গুয়াংজিং)


4
golang.org/doc/go1.3#gccgo এবং আরও গুরুত্বপূর্ণ বিষয় হল gccgo কেবলমাত্র ভার্সন v1.2 পর্যন্ত সমর্থন করে, সুতরাং আপনার যদি 1.3 / 1.4 (টিপ) তে নতুন কিছু প্রয়োজন হয় তবে জিসিসিগো ক্যান্ট ব্যবহার করতে পারবেন না।
OneOfOne

4
@ ওয়ানওফোন ভাল বক্তব্য, আমি আরও মন্তব্য করার জন্য আপনার মন্তব্যে উত্তরে অন্তর্ভুক্ত করেছি।
ভোনসি

4
পছন্দ করুন আরও দৃশ্যমানতার জন্য আমি এটিকে উত্তরে অন্তর্ভুক্ত করেছি।
ভনসি

4
আমি পড়েছি যে প্রতিটি গোরোটিনকে একটি উত্সর্গীকৃত থ্রেড (এক থ্রেডে বহু গরোটিনকে একাধিক করার বিপরীতে) দিয়ে গিসিটিগো গোরোটিনগুলি প্রয়োগ করে। যদি এটি এখনও সত্য হয় তবে কিছু লোকের কাছে এটি একটি বড় পার্থক্য হতে পারে।
ড্রাগনফ্যাক্স 23'15

4
@ লিওগ্যালুচি এই উত্তরটির সাধারণ ধারণাটি গো 1.11 ("জিসিসিগো: আরও অনুকূলিতকরণ, আরও প্রসেসর।") নিয়ে দাঁড়িয়েছে। আপনি স্ট্যাকওভারফ্লো . com/ a/ 46970176/6309 এ আরও সাম্প্রতিক চিত্রটি দেখতে পারেন ।
ভনসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.