هل هو الأمثل السابق لأوانه وضع على الأجهزة بطيئة؟

StackOverflow https://stackoverflow.com/questions/1602008

سؤال

<اقتباس فقرة>   

ويجب أن نطور على boxen بطيئة لأنه يجبرنا على تحسين وقت مبكر.

يشير

وراندال هايد في والمغالطة من السابق لأوانه الأمثل ، وهناك الكثير من المفاهيم الخاطئة حول هور أقتبس:

<اقتباس فقرة>   

وعلينا أن ننسى الكفاءة صغيرة، ويقول حوالي 97٪ من الوقت: من السابق لأوانه الأمثل هو أصل كل الشرور

.

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

هل كانت مفيدة؟

المحلول

وأجهزة الكمبيوتر البطيئة لا تسير لمساعدتك في العثور على المشاكل أدائك.

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

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

وإذا كان الأداء أمر بالغ الأهمية حقا (في الوقت الحقيقي؟ ميلي ثانية واحدة-المعاملات؟) ثم تحتاج إلى تصميم وتنفيذ مجموعة من المعايير والأدوات اللازمة لإثبات علميا لأنفسكم أن التغييرات تجعل من أسرع. هناك طريقة متغيرات كثيرة جدا هناك والتي تؤثر على الأداء.

وبالاضافة الى ذلك هناك مبرمج عذر الكلاسيكية التي سوف تبرز - '. لكنه يعمل ببطء لأننا اختار عمدا أجهزة الكمبيوتر بطيء، فإنه سيتم تشغيل أسرع بكثير عندما كنا نشرها'

إذا زميلك يفكر بها المهم منحه بطء الكمبيوتر وضعه في تهمة "الأداء": -)

نصائح أخرى

وهذا يجب أن يكون ويكي مجتمع لأنه شخصي جدا، وليس هناك "حق" الجواب.

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

والإنتاجية كمبرمج يرتبط مباشرة إلى عدد من الأشياء التي يمكن أن تعقد في رأسك، وأي شيء مما يبطئ عملية أو يعوق لك في كل يطيل مقدار الوقت لديك لعقد تلك الأفكار في term- قصيرة الذاكرة، ويجعلك أكثر عرضة للننساهم، ويجب أن أذهب إعادة تعلم منهم.

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

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

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

إذا كنت تكتب البرمجيات للأجهزة الثابتة (مثلا، والألعاب وحدة التحكم) ثم استخدام المعدات (على الأقل معدات الاختبار) مشابه أو نفس ما سوف تنشر على.

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

وخلاصة القول، ووضع على آلة أسرع يمكنك الحصول على يديك، والاختبار على الحد الأدنى أو الأجهزة بالضبط أن عليك أن تكون داعمة.

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

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

وأي اختلافات في بيئات تطوير ونشر يمكن أن تكون مصدرا للمشاكل غير متوقعة.

ومع ذلك، منذ البرامج مكلفة وتستغرق وقتا طويلا، إذا كان المستخدم النهائي يتم تشغيل بطيئة الخروج من أحدث المعدات، والحل الأفضل هو التعامل معها في وقت الاختبار (والجدول الزمني في بعض الاختبارات المبكرة فقط ل تحقق سهولة الاستخدام والتوقيت).

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

وبول.

ولمحبة كود، استخدام أدوات التنميط، وليس آلات التطور البطيء!

وينبغي تجنبها الأمثل، لا أن تعطينا فيستا؟ : p

ولكن بكل جدية، لها دائما مسألة المفاضلات. أسئلة هامة لاسأل نفسك

وماذا سيكون منصة للمستخدمين النهائيين باستخدام؟ يمكنني إسقاط دورات؟ ماذا سيحدث لو أن أفعل؟

وأنا أتفق مع معظم هذا التطور الأولية ينبغي أن يتم في أسرع أو أكثر كفاءة (لا neccesarily نفس) آلة المتاحة لك. ولكن لتشغيل الاختبارات، وتشغيلها على منصة التي تستهدفها، واختبار في كثير من الأحيان وفي وقت مبكر.

وأنا عادة تطوير في أسرع آلة يمكنني الحصول على يدي.

ومعظم الوقت أنا على التوالي بناء تصحيح، التي هي بطيئة بما فيه الكفاية بالفعل.

وأعتقد أنه هو مفهوم الصوت (ولكن ربما لأنه يعمل بالنسبة لي).

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

والجهاز الهدف يمكن أن تحتوي أيضا على معالج مخنوق. إذا - على MCU جزءا لا يتجزأ - لديك نصف FLASH، RAM وعلى مدار الساعة دورة في فرصة ثانية هي ومطوري يكون هناك الكثير أكثر حذرا عند تصميم مدوناتها. اقترحت مرة واحدة المتغيرات بايت أطوال السجلات الفردية في مجال البيانات (وليس في RAM ولكن في EEPROM المسلسل) وحصل على الرد "نحن لسنا بحاجة إلى أن تكون بخيل". وبعد بضعة أشهر وتصل إلى السقف RAM (128KiB). كان التأمل أن لهذا التطبيق لن يكون هناك أي سجلات أكبر من 256 بايت لأنه ببساطة لم يكن هناك RAM إلى نسخها إلى.

لتطبيقات الخادم وأعتقد أنه سيكون فكرة عظيمة ل(كثيرا) أقل أداء الأجهزة لاختبار جرا. اثنين أو أربع نوى بدلا من ستة عشر (أو أكثر). 1.6 غيغاهرتز istdo 2.8. والقائمة تطول. خادم عادة - نظرا لحقيقة أن الجميع يتحدث إليها - اختناق في بنية النظام. وهذا هو وقت طويل قبل أن تبدأ بتطوير التطبيق (الخادم) لذلك.

ويعتمد على وقتك لتسليم. إذا كنت في دورة تسليم 12 شهرا ثم يجب عليك وضع على صندوق وسرعة لائقة منذ عملائك 12 شهرا من الآن سوف يكون لها صناديق أفضل "متوسط" من التيار "متوسط".

ومع اقتراب دورة تطوير بك "اليوم"، أن آلات تطوير الخاص بك الاقتراب من "متوسط" الحالية سرعة صناديق عملائك.

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