מהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?
-
@pcinfogmach כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
האמת היא ששמתי לב שבספריות כמו lucene הטעינה יותר מהירה האם זה בעצם מה שהם עושים?
אני חושב שזה בגלל הטעינה הסלקטיבית, הם טוענים בדיוק את אותו נפח מהר יותר?
כמו"כ מדבריך נשמע שלא בהכרח מומלץ ללכת על הכיוון הזה? הבנתי נכון?
בדוק את זה.
כתוב קוד שטוען טקסט ארוך במיוחד בשני הצורות: בצורת טקסט רגיל וגם דחוס בDeflateStream ואז בטעינה לפענח אותו.
תעקוב במנהל המשימות על עלות המעבד באחוזים ואולי גם עלות האנרגיה (לא יודע איך בודקים) של שני הדרכים, אם היא לא שולית אז זה בהחלט סיבה להימנע מזה.
אם תעשה תוכנה תוכל לבקש את המבדק מחברים עם מחשבים שונים.
ייתכן שישנם דחיסות שיהיו יותר אידיאליות מDeflateStream אבל זה ללא ספק בדיוק אותו כיוון - אם הוא שגוי תדע שאין לך מה לחפש עם דחיסה. -
@dovid כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
הם טוענים בדיוק את אותו נפח מהר יותר?
אני חושב שכן אם הבנתי נכון ככה ה-Highlighter שלהם עובד הוא טוען את תוכן הספר ואז יוצר tokens ואז מחשב גזירים
-
@dovid כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
א. שליפה יותר סלקטיבית - לטעון רק מה שצריך ולא מסמך מלא.
יש צורה גם לשלוף חלקים מאמצע או מסוף המסמך?
-
@pcinfogmach כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
@dovid כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
א. שליפה יותר סלקטיבית - לטעון רק מה שצריך ולא מסמך מלא.
יש צורה גם לשלוף חלקים מאמצע או מסוף המסמך?
לא בקובץ טקסט.
לכן צריך לשמור מלא קבצים קטנים או להשתמש במסד נתונים. -
@pcinfogmach כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
כן בדקתי את זה. כמובן שגם עיבוד הנתונים לוקח יותר זמן, אבל גם הטעינה.
בדוק את זה לעומק יותר, האם בלי שום עיבוד יש טעינה שלוקחת זמן? כמה MB מדובר?
-
@dovid כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
לכן צריך לשמור מלא קבצים קטנים או להשתמש במסד נתונים.
מצד איחסון הטקסט בלבד ולא משאר הבחינות האם אני מרוויח משהו ממסד נתונים (חוץ מהעובדה שאין לי אלפי קבצי טקסט במחשב).
-
@pcinfogmach זה לא נשמע הגיוני שטעינה מהדיסק הוא צואר הבקבוק. זה לא אמור להיות כמה שניות. אני בטוח שהטעינה האיטית הוא בגלל פירמוט הטקסט להציג בפקד
-
אוקיי בבדיקות שערכתי בlinqpad נראה שאתם צודקים במקסימום שהגעתי אליו היה 0.200 שניות
-
@dovid כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
@pcinfogmach כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
@dovid כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
א. שליפה יותר סלקטיבית - לטעון רק מה שצריך ולא מסמך מלא.
יש צורה גם לשלוף חלקים מאמצע או מסוף המסמך?
לא בקובץ טקסט.
לכן צריך לשמור מלא קבצים קטנים או להשתמש במסד נתונים.אני בטוח שיש file.seek כלשהו גם בC#..
בכל מקרה אלא אם מדובר בדיסק איטי במיוחד, קריאה של כמה קבצי טקסט זה לא מה שיאט אותך משמעותית מספיק, לא חושב ששם הצוואר בקבוק שלך. -
@aaron כתב במהו האחסון המהיר ביותר האפשרי של נתוני טקסט ב-C# ?:
אני בטוח שיש file.seek כלשהו גם בC#..
זה בדיוק מה שמסד נתונים עושה, אבל קובץ טקסט לא מתאים לגישה אקראית.
לא שייך לעשות seek בלי לדעת איפה (בינארית, מממ... למעט אם אתה כותב בUTF-16), זה מחייב אותך להחזיק קבצי אינדקס.