מטמון פענוח תמונות טעונות מפוצל

HotPDF ‏משלב מטא-נתוני מטמון הננעלים באופן עצמאי עם תיאום singleflight ‏מדויק לכל מפתח

עבודה מקבילה

שש עשרה פיסות מטא-נתונים מגבילות את התחרות במהלך חיפוש, קבלה ופינוי בעוד פענוח תמונות יקר רץ מחוץ למנעולי המטמון

בקשות למפתחות שונים עשויות לפענח במקביל ובקשות לאותו מפתח בוחרות בעלים אחד שתוצאתו שהושלמה משותפת עם כל הקוראים הממתינים

מגבלות גלובליות

ImageCacheMaxBytes, ספירת הרשומות המרבית והגודל המרבי לכל רשומה חלים על התוכן המשולב של כל הפיסות

קיצוץ חוצה-פיסות משמר את המגבלות המוגדרות המדויקות ונמנע מבחירת הפיסה שהוכנסה זה עתה בזמן שפיסה אחרת יכולה לספק את בקשת הפינוי

בעלות ומחזור חיים

AcquireLoadedImageStream ‏ו-AcquireLoadedImageRegionAtResolution מחזירים ידיות בלתי ניתנות לשינוי עם ספירת הפניות, כך שפגיעות חמות וממתיני singleflight ‏חולקים אחסון מפוענח מבלי להעתיק פיקסלים

ידית נשארת תקפה לאחר פינוי מטמון, פסילה והשמדת מסמך, בעוד CreateBitmapCopy מספק מפת סיביות מבודדת בבעלות הקורא כאשר נדרשים פיקסלים ניתנים לשינוי

מתודות הפענוח המאוחסנות המיושנות שומרות על חוזה ה-TBitmap ‏בבעלות הקורא שלהן על ידי מימוש עותק אחד מהידית

טלמטריה

GetImageDecodeConcurrencyInfo חושף מוני מקביליות חיים ומצטברים

המונים חושפים רכישות ידית, עותקי מפת סיביות תאימות ובתים שהועתקו בנוסף לפעילות בעלים מקבילה ופעילות singleflight

ממשקי API קשורים

IHPDFDecodedBitmapHandle · AcquireLoadedImageStream · AcquireLoadedImageRegionAtResolution · THPDFImageDecodeConcurrencyInfo