এফ # পারফরম্যান্স বনাম এরলংয়ের পারফরম্যান্স, এরলংয়ের ভিএম দ্রুততর প্রমাণ আছে কি?


19

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

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

এফ # লিনাক্স (মনো) তে চলতে পারে যাতে প্রয়োজনীয়তাটি পূরণ হয়, তবে ইন্টারনেটে ঘুরে দেখার সময় আমি এফ # বনাম এরলংয়ের কোনও তুলনা খুঁজে পাই না। এই মুহুর্তে, আমি কেবল এড়লংয়ের দিকে ঝুঁকছি কারণ এটি মনে হচ্ছে সর্বাধিক চাপ রয়েছে, তবে দুটি সিস্টেমের মধ্যে যদি কার্যত কোনও পারফরম্যান্সের পার্থক্য থাকে তবে আমি আগ্রহী।

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

আমি সিমুলেশনটিতে সবচেয়ে আগ্রহী, যা অবিরাম নোডগুলিতে প্রচুর দ্রুত প্রক্রিয়াযুক্ত বার্তাগুলি ফায়ার করতে চলেছে।

আমি যা জিজ্ঞাসা করার চেষ্টা করছি তার সাথে যদি আমি কোনও ভাল কাজ না করে থাকেন তবে দয়া করে আরও যাচাইয়ের জন্য জিজ্ঞাসা করুন।


12
ভাষার গতি নেই। নির্দিষ্ট ইনপুটটিতে একটি নির্দিষ্ট প্রোগ্রাম চলমান নির্দিষ্ট ভাষা বাস্তবায়নের (এতে প্রোগ্রামের উপর নির্ভর করে পুরো বাইরের বিশ্ব অন্তর্ভুক্ত থাকতে পারে) একটি গতি থাকে।

1
.NET রানটাইম এফ # রান করে এবং এরলং তার নিজস্ব ভিএম এ চলে। এরলংয়ের প্রক্রিয়াগুলি এর ডোমেনে (স্কালার মতো) হালকা বনাম ভাষা হিসাবে বিবেচিত হয়। সিমুলেশন স্পোনিং নোডের জন্য এবং প্রচুর বার্তাগুলি প্রেরণের জন্য। নেট / মনোো রানটাইমটি কি এর্লংয়ের ভিএম এর মতোই ভাল বা এরলংয়ের ভিএম উচ্চতর?
আফজাইল্লামা

3
@ ডেলান: ভাষাতে পারফরম্যান্সের বৈশিষ্ট্য রয়েছে।
জন হ্যারোপ

2
@ জনহরপ কীভাবে? একটি প্রোগ্রামিং ভাষা কেবল কিছু বাক্য গঠন এবং সম্পর্কিত শব্দার্থবিজ্ঞান associated

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

উত্তর:


21

"টেকসই" বলতে কী বোঝ? "সর্বাধিক চাপ থাকা" কোনও ভাষা চয়ন করার সর্বোত্তম উপায় নয়।

এর্লংয়ের খ্যাতির দাবিটি এটির বিশাল সমান্তরালের সামর্থ্য। এজন্য এটি এরিকসন ফোন স্যুইচগুলিতে সাধারণত ব্যবহৃত হয়। এরলং নরম-রিয়েলটাইম, সুতরাং আপনি এটি সম্পর্কে নির্দিষ্ট কর্মক্ষমতা গ্যারান্টি দিতে পারেন make

.NET জিটারের অপ্টিমাইজেশন ক্ষমতা থেকে এফ # সুবিধা benefits এছাড়াও, ভাষাটি নিজেই একটি উচ্চ-কার্যকরী কার্যকরী ভাষা হিসাবে ডিজাইন করা হয়েছে (এটি OCaml এর একটি রূপ, এটির গতির কারণে আর্থিক শিল্পে ব্যাপকভাবে ব্যবহৃত হয়)।

অবশেষে, আপনি যদি একই সময়ে কয়েক মিলিয়ন ক্ষুদ্র এজেন্ট পরিচালনা করার পরিকল্পনা না করেন (যার জন্য এরলং আশাবাদী) তবে এফ # এর কাজ শেষ করা উচিত।

এই পৃষ্ঠাটি এরং এর জন্য উপযুক্ত ব্যবহারের ক্ষেত্রে ব্যাখ্যা করে।


"টেকসই" দ্বারা আমি স্কেলেবল বলতে চাইছি। আমি জানি যে প্রেস করার অর্থ এই ভাষাটি অপরিহার্যভাবে উন্নত নয়, তবে মনে হয় এরলং প্রমাণিত হয়েছে (অন্তত এরিকসন দ্বারা)। এজেন্ট বলতে কী বোঝ? প্রসেস?
আফজাইল্লামা

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

2
এজেন্টস, অভিনেতাগণ, এটি একটি নকশা ধারণা যা কার্যকরী ভাষা আলোচনায় প্রচুর পরিমাণে আসে; আমি অবাক হয়েছি যে আপনি এখনও এটিকে চালিয়ে যান নি। en.wikedia.org/wiki/Agent-bised_model
প্যাট্রিক হিউজেস

অন্য কথায়, এরলং যে ধরণের সরবরাহ করে তার জন্য আপনার কি বিশাল আকারের স্কেলাবিলিটি (এখন বা শেষ পর্যন্ত) প্রয়োজন? বেশিরভাগ প্রোগ্রাম না।
রবার্ট হার্ভে

1
এফ # এর এজেন্ট মডেলও রয়েছে - কিছুটা ক্রিপ্টিকভাবে নামযুক্ত 'মেলবক্সপ্রসেসর' ব্যবহার করে যা এরলংয়ের মতো একই ধরণের জিনিস। আমি যদিও প্রতিটি এর তুলনামূলক কর্মক্ষমতা বৈশিষ্ট্য সম্পর্কে মন্তব্য করতে পারবেন না।
FinnNk

7

এই বিষয়ে কয়েকটি উদ্দেশ্যমূলক বিবৃতি দেওয়া যেতে পারে কারণ এই দুটি ভাষার পারফরম্যান্স প্রয়োগ এবং প্রোগ্রামিং শৈলীর উপর দৃ strongly়ভাবে নির্ভরশীল।

আমি কেবলমাত্র পরামর্শ দিতে পারি যে এফ # এর স্ট্যাটিক টাইপ সিস্টেমের পারফরম্যান্স সুবিধা রয়েছে এবং পারফরম্যান্সের উন্নতির জন্য সিএলআর এটির ভাল ব্যবহার করে। এফ # এর অ্যাসিনক্রোনাস এজেন্ট এবং বার্তা পাস হচ্ছে তবে এটি অপ্টিমাইজ করা হয়নি এবং সিঙ্ক্রোনাস কোড প্রায়শই 10 over এর বেশি দ্রুত হয়।

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

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


4

জো আর্মস্ট্রংয়ের এই পোস্টটি আপনার পড়া উচিত: http://erlang.org/pipermail/erlang-questions/2012- ফেব্রুয়ারী 0664277.html

সংক্ষেপে এটি হ'ল এরলং দ্রুত হওয়ার জন্য ডিজাইন করা হয়নি! এটি অনেক ক্ষেত্রে যুক্তিসঙ্গতভাবে দ্রুত তবে এটি দোষ সহনশীলতা এবং স্থিতিশীলতার মতো বিষয়গুলির ক্ষেত্রে গৌণ।

সত্যটি এরলং এবং এফ # উভয়ই দুর্দান্ত ভাষা, এবং আমি কেবল এফ # তে একবার নজর দিয়েছি আমি এরলংয়ের উপরে একটি বই লিখেছি: ওয়েবং অ্যাপ্লিকেশন সহ ওয়েব অ্যাপ্লিকেশন তৈরি এবং আমি বলতে পারি যে এটি কাজ করার জন্য একটি মজাদার ভাষা।

আমি আরও উল্লেখ করতে চাই যে পরবর্তী 6-9 মাসের মধ্যে প্রকাশিত কার্যকরী বইয়ের বইগুলিতে একটি উত্থান হবে বলে মনে হচ্ছে। আমি কমপক্ষে ৪ জন এরলংয়ের (আমার সহ), ওসামেল, ক্লোজার এবং এফ # তে শিরোনামগুলিতে জানি।

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