אני צריך שבהנתן פויינטר - להחזיר פויינטר אחר בצורה הכי מהירה שניתן (בתקווה שב-(O(1).בהתחלה ניסיתי לצאת מהנחה כלשהי שההקצאות פחות או יותר רציפות בזכרון ו-7 הביטים הראשונים תמיד מתחילים מ-0 עקב צורת מימוש הקלאסים,
כלומר ביצעתי SR של 7 ביטים ואז את המספר הזה מודלו 5000 (או לאחר מכן 4999 לערבול יותר טוב) ואת זה הכנסתי לווקטור,
אבל עדיין עם טסט אינטנסיבי גיליתי שאחרי כמה זמן (סביב ה-200 כתובות) המערכת קפצה להקצות טווח כתובות שונה לגמרי שגרר להתנגשויות.
חשבתי להשתמש ב-Dense Google Hash Map שנחשב יותר ביצועיסטי במהירות ופחות בזכרון, אבל לשימושים שלי כרגע נראה שהוא פחות מתאים כי הוא יותר מדיי אבסטרקטי והפונקציונליות רק מכבידה עליו.
למישהו יש רעיון איך ניתן לשפר עוד את התהליך?
ליצור מעין קאש?
תתכנה כמה כתובות ספציפיות שבזמן פעולה מסויימת יכולים לגשת אליהם גם מאות מליוני פעמים.
כל רעיון יתקבל בברכה
בברכה,
עידן