আমি আশা করছি যে কেউ জাভা ভার্চুয়াল মেশিন সম্পর্কে মৌলিকভাবে পৃথকভাবে কিছু অন্তর্দৃষ্টি প্রদান করতে পারে যা গ্লোবাল ইন্টারপ্রিটার লক (জিআইএল) এর প্রয়োজন ছাড়াই থ্রেডগুলি সুন্দরভাবে প্রয়োগ করতে দেয়, যখন পাইথন এমন একটি অনর্থক প্রয়োজন।
আমি আশা করছি যে কেউ জাভা ভার্চুয়াল মেশিন সম্পর্কে মৌলিকভাবে পৃথকভাবে কিছু অন্তর্দৃষ্টি প্রদান করতে পারে যা গ্লোবাল ইন্টারপ্রিটার লক (জিআইএল) এর প্রয়োজন ছাড়াই থ্রেডগুলি সুন্দরভাবে প্রয়োগ করতে দেয়, যখন পাইথন এমন একটি অনর্থক প্রয়োজন।
উত্তর:
পাইথন (ভাষা) এর জন্য একটি জিআইএল দরকার নেই (এ কারণেই এটি জেভিএম [জাইথন] এবং। নেট [আয়রন পাইথন] এবং নিখরচায় এই প্রয়োগগুলি বহুবিধে প্রয়োগ করা যেতে পারে) perfectly সিপিথন (জনপ্রিয় বাস্তবায়ন) সর্বদা কোডিং সহজ করার জন্য একটি জিআইএল ব্যবহার করেছে (উদাহরণস্বরূপ আবর্জনা সংগ্রহের ব্যবস্থাগুলির কোডিং) এবং নন-থ্রেড-নিরাপদ সি-কোডেড লাইব্রেরিগুলির একীকরণের জন্য (সেখানে প্রায় এক টন ব্যবহৃত হত; -)।
ভারমুক্ত সোয়ালো প্রকল্প, অন্যান্য উচ্চাভিলাষী লক্ষ্য মধ্যে আছে পরিকল্পনা পাইথন একটি Gil মুক্ত ভার্চুয়াল মেশিন -। যে সাইট উদ্ধৃত করা, "উপরন্তু, আমরা Gil মুছে ফেলুন এবং পাইথন মধ্যে multithreading রাজ্যের ঠিক মনস্থ আমরা বিশ্বাস করি এই হল আরও পরিশীলিত জিসি সিস্টেম বাস্তবায়নের মাধ্যমে সম্ভব, আইবিএম এর পুনর্ব্যবহারকারী (বেকন এট আল, 2001) এর মতো কিছু। "
জেভিএম (কমপক্ষে হটস্পট) "জিআইএল" এর সাথে একই রকম ধারণা ধারণ করে, এটি লক গ্রানুলারিটিতে কেবল আরও সূক্ষ্ম, এর বেশিরভাগই হটস্পটে জিসি থেকে আসে যা আরও উন্নত।
সিপিথনে এটি একটি বড় লক (সম্ভবত এটি সত্য নয়, তবে তর্ক করার পক্ষে যথেষ্ট ভাল), জেভিএম-এ এটি কোথায় ব্যবহৃত হয়েছে তার উপর নির্ভর করে বিভিন্ন ধারণা নিয়ে এটি আরও ছড়িয়ে পড়ে।
হটস্পট কোডে উদাহরণস্বরূপ, ভিএম / রানটাইম / সফেপয়েন্টিপ। Hpp দেখুন, যা কার্যকরভাবে একটি বাধা। একবার সাফপয়েন্টে পুরো ভিএম জাভা কোড সম্পর্কিত বন্ধ হয়ে গেছে, অনেকটা পাইথন ভিএম জিআইএল-এ থামে like
জাভা বিশ্বে এই জাতীয় ভিএম বিরতি ইভেন্টগুলি "স্টপ-দ্য ওয়ার্ল্ড" নামে পরিচিত, এই পয়েন্টগুলিতে কেবলমাত্র কিছু নির্দিষ্ট মানদণ্ডের সাথে আবদ্ধ দেশীয় কোডটি বিনামূল্যে চলমান, বাকী ভিএম বন্ধ করে দেওয়া হয়েছে।
এছাড়াও জাভাতে মোটা লকের অভাব জেএনআই-কে লেখা আরও জটিল করে তোলে, যেহেতু জেভিএম এফএফআই কলগুলির জন্য তার পরিবেশ সম্পর্কে কম গ্যারান্টি দেয়, সিপিথন এমন একটি জিনিস যা মোটামুটি সহজ করে তোলে (যদিও সিটিপস ব্যবহারের মতো সহজ নয়)।
এই ব্লগ পোস্টে নীচে একটি মন্তব্য নীচে রয়েছে: http://www.grouplens.org/node/244 যা আয়রন পাইথন বা জাইথনের জন্য একটি জিআইএল-এর সাথে এত সহজ বিতরণ করার কারণ সম্পর্কে ইঙ্গিত দেয়, সিপিথন রেফারেন্স গণনা ব্যবহার করে তবে অন্য 2 ভিএমের আবর্জনা সংগ্রহকারী রয়েছে।
আমি কেন পাই না কেন এটির সঠিক যান্ত্রিকতা, তবে এটি একটি প্রশংসনীয় কারণ বলে মনে হচ্ছে।
এই লিঙ্কে তাদের নিম্নলিখিত ব্যাখ্যা রয়েছে:
... "ইন্টারপ্রেটারের অংশগুলি থ্রেডসেফ নয়, যদিও বেশিরভাগ কারণেই এগুলিকে ব্যাপকভাবে লক ব্যবহার করে সমস্ত থ্রেডসেজ তৈরি করা একক থ্রেডেড অত্যন্ত ( উত্স ) কমিয়ে দেয় । এটি রেফারেন্স গণনা (জেভিএম) ব্যবহার করে সিপিথন আবর্জনা সংগ্রাহকের সাথে সম্পর্কিত বলে মনে হচ্ছে seems এবং সিএলআর হ'ল না, এবং তাই প্রতিবার একটি রেফারেন্স গণনা লক / প্রকাশের দরকার নেই) But তবে কেউ যদি গ্রহণযোগ্য সমাধানের কথা চিন্তা করে এটি প্রয়োগ করেও তৃতীয় পক্ষের গ্রন্থাগারগুলিতে এখনও একই সমস্যা থাকবে would "
পাইথনের জিট / আউটের অভাব রয়েছে এবং এটি বহুবিশ্লেষিত প্রসেসরে লেখা টাইম ফ্রেমটির অস্তিত্ব ছিল না। বিকল্পভাবে আপনি জুলিয়া ল্যাং-এ সমস্ত কিছু পুনরায় সংকলন করতে পারেন যার মধ্যে জিআইএল নেই এবং আপনার পাইথন কোডে কিছু গতি বৃদ্ধি পেতে পারে। এছাড়াও জাইথন ধরণের স্তন্যপান এটি সিপিথন এবং জাভার চেয়ে ধীর। আপনি যদি পাইথনে আটকে থাকতে চান সমান্তরাল প্লাগইনগুলি ব্যবহারের কথা বিবেচনা করেন, আপনি তাত্ক্ষণিক গতি বাড়িয়ে তুলতে পারবেন না তবে আপনি সঠিক প্লাগইন দিয়ে সমান্তরাল প্রোগ্রামিং করতে পারবেন।