PDL :: badvalues.

PDL :: badvalues מכיל דיון של תמיכה ערך רע ב PDL.
הורד עכשיו

PDL :: badvalues. דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Doug Burke
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~djburke/Inline-SLang-1.00/SLang.pod

PDL :: badvalues. תגים


PDL :: badvalues. תיאור

PDL :: BadValues מכיל דיון של תמיכה ערך רע ב PDL. PDL :: BadValues מכיל דיון של תמיכה ערך רע ב PDL.What הם ערכים רעים ולמה אני צריך לטרוח איתם? לפעמים זה שימושי כדי להיות מסוגל לציין ערך מסוים הוא 'רע' או 'חסר'; לדוגמה CCDs המשמשים אסטרונומיה לייצר תמונות 2D אשר אינם מושלמים מאז אזורים מסוימים מכילים נתונים לא חוקיים עקב פגמים בגלאי. בעוד שגרות המדד החזקים של PDL וכל העסק המסובך עם Dataflow, פרוסות, וכו 'וכו' אומר אזורים אלה ניתן להתעלם בעיבוד, זה מביך לעשות. זה יהיה הרבה יותר קל להיות מסוגל לומר $ C = $ + $ B ולהשאיר את כל הטרחה למחשב.אם אתה לא מעוניין זה, אז אתה יכול (בצדק) להיות מודאג עם איך זה משפיע על המהירות של PDL, מאז תקורה של בדיקה עבור ערך רע בכל פעולה יכול להיות גדול. בגלל זה, הקוד נכתב להיות מהיר ככל האפשר - במיוחד בעת הפעלת מבוללים אשר אינם מכילים ערכים רעים. למעשה, אתה צריך להבחין בעצם שום הבדל מהירות בעת עבודה עם piddles אשר אינם מכילים ערכים רעים.עם זאת, אם אתה לא רוצה ערכים רעים, אז PDL של POLD_BADVAL אפשרות תצורה מגיע להצלה; אם מתעלמת ל -0 או undef, התעלמת התמיכה הרעה. על הזמן היחיד שאני חושב שאתה צריך להשתמש בזה - אני מודה, אני מוטה;) - האם יש לך דיסק מוגבל או שטח זיכרון, שכן גודל הקוד הוא גדל (ראה להלן). אתה יכול גם שאל 'ובכן, המחשב שלי תומך IEEE NAN, אז כבר יש לי את זה'. ובכן, כן ולא - שגרות רבות, כגון y = חטא (x), יהיה לפקוט NAN של מבלי למשתמש צורך קוד שונה, אבל שגרות כגון QSort, או למצוא את החציון של מערך, צריך להיות מקודד מחדש לטפל בערכים רעים. עבור Datatypes נקודה צף, NAN ו- INF משמשים לדגל ערכים רעים אם האפשרות Badval_usenan מוגדר 1 בקובץ ההגדרות שלך. אחרת משמשים ערכים מיוחדים (ערכים ברירת מחדל רע). אין לי שום מדדים כדי לראות איזו אפשרות היא מהר יותר.היא פיאתית ניסיונית badval_per_pdl אשר, אם להגדיר, מאפשר לך להיות ערכים רעים שונים עבור piddles נפרד מאותו סוג. זה כרגע לא עובד עם האפשרות Badval_usenan; אם שניהם מוגדרים אז PDL יתעלם מ- BADVAL_USENAN Value.Code להגדיל עקב ValueSthe רע לאחר השוואה היא לא מעודכן! על מכונת I386 הפעלת לינוקס ו Perl 5.005_03, למדתי את הגדלים הבאים (קוד Slatec היה הידור, אבל אף אחת מהאפשרויות האחרות: למשל קארמה, FFTW, GSL, ו- 3D היו): with_badval = 0size של ספריית Blib לאחר ביצוע מצליח = 4963 KB: Blib / Arch = 2485 KB ו Blib / Lib = 1587 KB.With_Badval = 1Size של Blib Directory לאחר מוצלחת לעשות = 5723 KB: Blib / Arch = 3178 KB ו Blib / Lib = 1613 KB.So, הגידול הכולל הוא רק 15% - לא הרבה לשלם עבור כל הפלאים כי ערכים רעים מספקת. קוד המקור המשמשים למבחן זה היה הרוב המכריע של שגרות הליבה (למשל אלה בסיסיים /) המרה לשימוש ערכים רעים, תוך מעט מאוד של שגרות "חיצוני" (כלומר כל דבר אחר בהפצה PDL) השתנה. דרישות Perl: · פרל


PDL :: badvalues. תוכנה קשורה