سؤال

كيف واحد يختار إذا كان شخص ما يبرر تصميم المبادلات في مجال الأمثل رمز الوضوح التنفيذ والكفاءة قابلية ؟

سبيل المثال ذات الصلة لغرض هذا السؤال يمكن أن تكون كبيرة في التعامل مع الملف ، حيث "ملف كبير" هو "قليل GB" للمشكلة التي من شأنها أن تكون مبسطة باستخدام الوصول العشوائي الأساليب.

نهج القراءة و التعديل على هذا الملف يمكن أن يكون:

  1. استخدام الجداول على أي حال ، وتسعى إلى المكان المطلوب - وهو المحمولة ، ولكن يحتمل أن تكون بطيئة و غير واضح - وهذا سوف تعمل تقريبا كل نظام التشغيل.
  2. خريطة الجزء ذي الصلة من الملف باسم كتلة كبيرة.على سبيل المثال, mmap على 50MB جزء من الملف من أجل تجهيز لكل قطعة - كثيرة السراج, اعتمادا على فطنة تنفيذ mmap لهذا النظام.
  3. فقط mmap الملف بأكمله - وهذا يتطلب نظام تشغيل 64 بت و هو الأكثر كفاءة واضحة على طريقة لتنفيذ هذا, ومع ذلك لا يعمل على 32 بت نظام التشغيل.
هل كانت مفيدة؟

المحلول

غير متأكد ما تطلبه ، ولكن جزء من عملية التصميم هو تحليل متطلبات قابلية الأداء (من بين عوامل أخرى).

إذا كنت تعرف أنك لن تحتاج إلى منفذ رمز, و تحتاج بالتأكيد أفضل أداء, ثم يمكنك ضبط التطبيق الخاص بك وفقا لذلك.ليس هناك نقطة يجري المحمولة فقط لذاتها.

لاحظ أيضا أنه إذا كنت تريد كل من الأداء وقابلية هناك شيء يمنعك من تقديم تنفيذية لكل منصة.بالطبع هذا سوف يزيد من تكلفة ذلك حقا ، حتى يمكنك تحديد أولويات الاحتياجات الخاصة بك.

نصائح أخرى

دون قيود على هذا السؤال بعقلانية لا يمكن الإجابة بعقلانية.

أنت تسأل "ما هو أفضل لون" دون أن تقول لنا ما إذا كنت اللوحة منزل أو سيارة أو صورة.

القيود تشمل على الأقل

  • اللغة المفضلة
  • الأنظمة الأساسية الهدف (موضوع وحدة المعالجة المركزية الصناعية-الصف الخادم أو فون؟)
  • تحسين السرعة مقابل الذاكرة
  • التكلفة (من الذي يمول هذا و هل هناك تسليم القيد?)

أي قطعة من البرمجيات يمكن أن يكون "في نهاية المطاف" قابلية.

مثال على هذا النوع من المشكلة يتم التعامل معها باستخدام مجموعة متنوعة من الأساليب ولكن مع ضيق القيد سواء على الإدخال/الإخراج المطلوب قياس "أفضل" سيكون WideFinder المشروع.

عليك التفكير أولا قبل الترميز.كل مشروع فريد من نوعه و تحليل احتياجات يمكن أن تساعد في تحديد ما هو أساسي من أجل ذلك.ما سيجعل أفضل حل لأي مشروع يعتمد على عدد قليل من الأشياء...

أولا وقبل كل شيء ، هذا المشروع بحاجة إلى أن تكون أو يكون في نهاية المطاف المتعدد?اعتمادا على اختيارك ، الحق في اختيار لغة البرمجة يجب أن يكون أسهل.ثم مرة أخرى هل يمكن أيضا استخدام أكثر من لغة واحدة في المشروع و هذا أمر طبيعي تماما.الحمل لا يعني بالضرورة أقل في الأداء.كل ذلك يعني أن ذلك ينطوي على صعوبة العمل على تحقيق الأهداف الخاصة بك لأنك سوف تحتاج رمز الجودة.أيضا, كل لغة برمجة لها فلسفتها الخاصة.تعلم ما هي عليه.شيء واحد هو بالتأكيد بعض المشاكل في كثير من الأحيان إلى العودة مرارا وتكرارا.هذا هو السبب في معرفة تصميم مختلف أنماط يمكن أن تحدث فرقا في بعض الأحيان ، ولكن بعض اللغات الخاصة بهم التعابير يمكن أن تكون هامة جدا عند اختيار اللغة.شيء آخر يحتاج إلى بعض التفكير هو النهج المختلفة التي يمكن أن يكون للمشروع الخاص بك.خاصية تعدد, مآخذ, العميل/الخادم ونظم العديد من التقنيات الأخرى كلها هناك لتتمكن من استخدامها.الحق في اختيار التكنولوجيا يمكن أن تساعد على جعل المشروع بشكل أفضل.

معرفة احتياجات مختلف الحلول المتاحة اليوم هو ما سوف يساعد تقرر متى يأتي الوقت لاختيار المختلفة المفاضلات.

أنها حقا يتوقف على برامج تشغيل المشروع.إذا كنت تفعل في المنزل المؤسسة ديف ، ثم القيام أبسط شيء يمكن أن تعمل على الهدف الخاص بك ساق.وزارة الدفاع عن الأداء reqs حسب الحاجة.

إذا كنت تعرف أنك تحتاج إلى دعم مختلف منصات الأجهزة في اليوم 1, ثم سوف تحتاج بوضوح إلى اختيار المحمولة التنفيذ ، أو استخدام أساليب متعددة.

قابلية لقابلية الله تم تسويق فكرة جافا منذ تأسيسها و هي حقيقة من حقائق الحياة بالنسبة ج من الاتفاقية و أعتقد أن معظم الناس الذين الالتزام به "كبرت" مع جافا أو C.

ومع ذلك صحيحا المطلق قابلية سوف يكون صحيحا فقط على الأكثر تافهة في معظم التطبيقات مع متوسطة التعقيد -- أي شيء مع تعقيد عالية سوف تحتاج المتخصصة القرص.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top