Dhrystone (בעבריתː דרייסטון) הוא שמה של תוכנה להשוואת ביצועים של מעבדי מחשבים ומהדרים ונחשבת לאמת מידה לביצועי המעבד. ביצועי המעבד נמדדים במספר מחזורי הריצה של התוכנה, שהמחשב מבצע בשנייה אחת. ציון הביצועים ניתן ביחידות של דרייסטון לשנייה. לעיתים קרובות נעשה שימוש ביחידת Dhrystone MIPS או בקיצור DMIPS, כאשר DMIPS משתמש כקנה מידה, בכוח העיבוד של מחשב VAX 11/780. מעבד זה השיג ציון של 1757 דרייסטון לשנייה, ציון זה הוגדר כ 1 DMIPS. היינו, 1757 Dhtystone = 1 DMIPS.
דרך נוספת להציג את ביצועי מעבד מדגם מסוים היא, להציג את הנתון MIPS/MHz לליבה בודדת. הדבר מאפשר להשוות ביצעים בין מעבדים המופעלים בתדר שעון שונה ומעבדים מרובי ליבות בעלי מספר שונה של ליבות[1].
התוכנה פותחה בשנת 1984 על ידי ריינהולד פ. ויקר חוקר בחטיבת מערכות המידע של חברת סימנס. כוונתו הייתה שקוד התוכנה ייצג תוכנית מחשב אופיינית המבוצעת במערכות מחשב ומשתמשת במספרים שלמים (Integers) בלבד.
לאחר פרסומו הפך הדרייסטון לאמת מידה מקובלת להערכת ביצועים של מעבדי מחשב כלליים.
תוכנת הדרייסטון אינה מכילה פעולות נקודה צפה וזאת בניגוד לתוכנת השוואת הביצועים "אבן משחזת" (באנגלית Whetstone). "אבן משחזת" הייתה תוכנת השוואת הביצועים הסינתטית היחידה שהייתה קיימת אז והיא כללה גם פעולות בנקודה צפה, דבר המשקף את האוריינטציה המוטית חישובים מתמטיים, של שימושי המחשב בשנות ה-60.
השם Dhrystone הוא משחק מילים הנגזר משמה באנגלית של אמת המידה "אבן משחזרת". המילה Whetstone נשמעת כמו "Wet stone" (בעברית ː "אבן רטובה"), ולכן לאמת המידה החדשה נבחר שם שישמע כבעל משמעות מנוגדת לו, "Dry stone" (בעבריתː "אבן יבשה") ומזה נגזר השם Dhrystone[2].
אמת המידה דרייסטון פותחה על פי אותם עקרונות ששימשו לפיתוח "אבן משחזת". שתיהם תוכנות מדידה "סינתטיות", כלומר הן תוכנות שנכתבו רק לצורך השוואת ביצועים ואינם מבצעות כל חישוב שימושי. הן תוכננו בקפידה כדי לחקות סטטיסטית, את השימוש במעבד של קבוצה נפוצה של תוכניות[3].
אבן משחזת, שפותחה ב-1972, נכתבה במקור בשפת ALGOL 60 ושאפה לחקות תוכנות טיפוסיות כפי שעלה מניתוחי תוכניות ALGOL 60 שנעשו בשנת 1970. בסופו של דבר "אבן משחזת" הפכה לפופולרית ביותר, דווקא בגרסת ה-Fortran שלה.
השם "אבן משחזרת" נלקח משמו של מהדר ALGOL 60 שהיה בשימוש נפוץ מאוד אז, בעיקר בתוכניות שביצעו חישובים נומריים. ניתוח תוצאות שפת הביניים שלו שימשו לצורך איסוף נתונים סטטיסטיים על שימוש בפקודות לצורך פיתוח תוכנת "אבן משחזת"
הבסיס לפיתוח תוכנת הדרייסטון הוא סקר של ספרות על התפלגות התכונות של קוד מקור שלא שימש לחישובים נומריים, כגון קוד מערכות הפעלה, מהדרים, ותוכנות עריכת טקסט. תוכנות אלו, בהשוואה לתוכנות לחישובים נומריים, מאופיינות בשימוש בטיפוסי נתונים מסוג מספרים שלמים, שימש מופחת בלולאות, חישובים פשוטים יותר, שימוש רב בפקודות תנאי ובקריאה לפרוצדורות.
גרסת התוכנה הראשונה, גרסה 1.0, של דרייסטון נכתבה בשפת ADA ,תוך שימוש רק באוסף הפקודות התואמות לשפת פסקל כדי להקל על התרגום הקוד לשפות פסקל ו-C. היא כללה 101 פעולות שהם תמהיל של פעולות אופניות כפי שעלו מאיסוף הנתונים שנעשה. התוכנית מכילה 12 פרוצדורות, מספר לולאות, פקודות תנאי, פעולות אריתמטיות, העתקת מחרוזות תוך שימשו בפונקציות ספריה, ומספר קריאות למערכת הפעלה UNIX[3].
ריק ריצ'רדסון תרגם את התוכנה לשפת C ופרסם אותה כגרסה 1.1, מה שתרם רבות לפופולריות שלה. גם ויקר פרסם גרסה משלו של התוכנה בשפת C.
החשיבות שקיבלה אמת המידה דרייסטון גרמה למפתחי מהדרים מסחריים לאמץ טכניקות שונות של ניתוח קוד סטטי כדי ליעל את ביצועי התוכנה (כגון ביטול קוד שאינו משפיע על הפלט) דבר שיכול לפגוע באמינות של השימוש בתוכנה סינתטית להשוואת ביצועים.
בגרסה 2.0 של התוכנה, שפורסמה על ידי ויקר וריצ'רדסון במרץ 1988, נעשו מספר שינויים. מטרתם הייתה, ליצור לתוכנה גרסה אחידה בשפת C, ולסכל מגוון של טכניקות שיכולת לשמש מהדרים לשיפר מלאכותי של ציון הביצועים הניתן על ידי דרייסטון. עם זאת, בתוכנה בגרסה זו עוצבה בקפידה כדי לא לשנות את אמת המידה הבסיסית. המאמץ לסכל את שיפורי המהדרים הצליח רק בחלקו. גרסת 2.1 של תוכנת דרייסטון ששוחררה במאי של אותה שנה, כללה מספר תיקונים ושינויים קלים וזאת הגרסה האחרונה של התוכנה שפורסמה עד כה.
תוכנת הדרייסטון היא קצרה, פשוטה, קלה להבנה וניתנת בקלות לניוד לסוגי מעבדים שונים בארכיטקטורות שונות. כמו כן היא נותנת לביצועי המעבד ציון בודד פשוט וחד משמעי. תכונות אלו הפכו את אמת המידה דרייסטון למאוד פופולרית ובמשך שנים ארוכות השתמשו יצרי מעבדים באמת מידה זו, כדי להציג את ביצועי המעבדים שלהם.
נכון לשנת 2023 אמת מידה זו עדיין בשימוש אבל הפופולריות שלה בירידה. ישנם תוכנות אחרות למדידת ביצועים הנמצאות בשימוש בכללם אמות מידה המותאמות לסוגים מסוימים של משימות כגון עבור אפליקציות עתירות גישה לזיכרון או עתירות תקשורת TCP/IP.
לשימוש בדרייסטון כאמת מידה ישנם מספר חסרונות: