এলম সংকলক চিরকাল চলমান, কম্পিউটার সবেমাত্র গরম হচ্ছে getting


100

এই সমস্যাটি কী কারণে ঘটছে তা আমি নিশ্চিত নই, তবে একটি প্রকল্পে, আমি তৈরি করছি, সংকলকটি কেবল একটি মডিউল সংকলন করতে কয়েক ঘন্টা সময় নিচ্ছে। আমার কোডবেসের মোট আকার 352KB, তবে মডিউলগুলির কোনওটিই 10KB এর বেশি নয়। আমি একটি নেটিভ বন্দর ব্যবহার করছি, তবে এটি খুব তুচ্ছ; আমি শুধু Date.now()এটি সঙ্গে আনা করছি।

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

সম্পাদনা করুন

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

আমার মনে হয় ভার্জোজ এবং সেখানে একটি গাজর রাখা, এলমের সংকলক কেস-ম্যাচিংয়ের জন্য কেন এই রুটটি নেবে? এখানে অন্তর্নিহিত যন্ত্রপাতি কি চলছে? সংকলক কেস স্টেটমেন্টে +০+ প্যাটার্ন ম্যাচগুলি অনুকূল করার জন্য কেন এক ঘন্টার বেশি সময় নিতে পারে?


4
আমি কৌতুহলী. এলম সংকলক কোন ধরণের অপটিমাইজেশন করছেন যা কেস এক্সপ্রেশনটি সংকলন করতে ঘন্টা সময় নেয়? আপনার কেস এক্সপ্রেশন খুব বড় মনে হচ্ছে না (কমপক্ষে একটি কম্পিউটারের জন্য যথেষ্ট বড় নয়)। এর অর্থ এলম সংকলকটিতে একটি সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই সত্যই খারাপ অপ্টিমাইজেশন অ্যালগরিদম রয়েছে। উদাহরণস্বরূপ, কল্পনা করুন যে সমস্ত 721 পোকেমন দিয়ে কেস এক্সপ্রেশনটি সংকলন করতে কত সময় লাগবে।
অদিত এম শাহ

5
আমি অনুমান করি উত্তরটি এখানে রয়েছে , সম্ভবত আপনার haskellট্যাগ যুক্ত করার চেষ্টা করা উচিত এবং হ্যাশেল লোকেরা আমাদের কাছে কিছু প্রকাশ করতে পারে কিনা তা দেখতে হবে।
হাফজেব্রা

5
আমি মনে করি আপনার কেস স্টাফগুলি ঠিক করার ক্ষেত্রে আরও ভাল স্থানে একটি নতুন প্রশ্ন জিজ্ঞাসা করা উচিত, এবং কেবলমাত্র সেই কেস স্টাফটি ধীর হিসাবে পরিচিত বলে ব্যাখ্যা করে নিজের উত্তর দিন। কেন, প্রাসঙ্গিক কোডটি এখানে বলে মনে হচ্ছে: github.com/elm-lang/elm-compiler/blob/master/src/Optimize উদ্ধৃত স্কট অ্যান্ড র‌্যামসে কাগজে বর্ণনা করা হয়েছে যে কীভাবে "ছোট ব্রাঞ্চিং ফ্যাক্টর" তাত্পর্যপূর্ণভাবে ধীরে ধীরে চলছে। উপরের কোডটিতে হিউরিস্টিক টাইব্রেকার হিসাবে ব্যবহৃত হয় যখন ছোট ডিফল্ট বন্ধ হয়। সুতরাং, আমি আপনার খারাপ উদাহরণগুলিতে বাজি রেখেছি, ছোট্ট ডিফল্ট অনেকগুলি সম্পর্কযুক্ত এবং আমরা ভয়াবহ কেসটি পেয়েছি। আমার গ্রহণ: এলমের এসবিএফটিকে ফ্যাক্টর, ফুল স্টপ হিসাবে ব্যবহার করা উচিত নয়।
sclv

24
আপনি কি এই প্রশ্নটির স্ব-জবাব দিতে পারেন তাই এটি উত্তরহীন তালিকায় আর উপস্থিত না হয়?
জুলিয়ান লেভিস্টন

6
এটি কি আসলেই সংকলন শেষ করেছে?
মূল্যবান 7

উত্তর:


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