פתרון פרויקט ערכת כלים לניתוח נתונים¶
הפתרון מפריד bytes מפענוח טקסט. הparser מחזיר רשומה מושאלת מהקלט כאשר המבנה מאפשר זאת, ומחזיר שגיאה עם offset כשחוזה השדה הופר. ההמרה לUTF-8 מתבצעת רק בשדות שהפורמט הגדיר כטקסט.
הowner מחזיק את bytes הקלט, והiterator מחזיק borrow אליו. ניסיון לשמור רשומה אחרי שהowner יצא מהscope צריך להידחות בקומפילציה. אם נדרש ערך עצמאי מציעים פעולה מפורשת שמעתיקה אותו, כך שעלות ההקצאה נראית בממשק.
הbackend הפשוט משמש oracle ומבצע חיפוש ליניארי. הbackend השני יכול לבנות אינדקס, אך חייב לשמור על אותו סדר תוצאה, טיפול בכפילויות וחוזה שגיאה. משווים על נתונים שנוצרו מseed קבוע ועל מקרי קצה ידניים, ולא רק על קובץ מוצלח אחד.
הCLI מתרגם שגיאת ספרייה לexit status ולפלט אבחון מתאים. פלט המכונה נשאר נקי מטקסט התקדמות, כדי שתוכנית אחרת תוכל לקרוא אותו. כשל כתיבה לפלט נשאר שגיאה גם אם החישוב כבר הצליח.
המדידה כוללת זמן בניית אינדקס, מספר שאילתות וretained memory. יתרון בחיפוש אחרי מיליון שאילתות אינו מוכיח שהbackend עדיף להרצה שעושה שאילתה אחת. הדוח קושר כל מסקנה לworkload ולבעלות שהממשק מבטיח.