لماذا DataStore أسرع
1. SQL Pushdown
2. استبعاد الأعمدة
3. التنفيذ الكسول
اختبار الأداء: DataStore مقابل pandas
بيئة الاختبار
- البيانات: 10 ملايين صف
- العتاد: حاسوب محمول عادي
- صيغة الملف: CSV
النتائج
أبرز الاستنتاجات
- عمليات GroupBy: DataStore أسرع بما يصل إلى 19.93x
- مسارات المعالجة المعقدة: DataStore أسرع بمقدار 5-6x (ميزة SQL pushdown)
- عمليات التقطيع البسيطة: الأداء متقارب - والفارق ضئيل
- أفضل حالة استخدام: العمليات متعددة الخطوات مع GroupBy/التجميع
- Zero-copy: لا يفرض
to_df()أي عبء إضافي لتحويل البيانات
متى يكون DataStore هو الخيار الأفضل
التجميعات المكثفة
مسارات المعالجة المعقدة
معالجة الملفات الكبيرة
عمليات على عدة أعمدة
متى يكون pandas منافسًا
مجموعات بيانات صغيرة (<1,000 صف)
عمليات التقطيع البسيطة
دوال لامبدا مخصّصة بلغة بايثون
مهمحتى في الحالات التي يكون فيها DataStore “أبطأ”، يكون الأداء عادةً مماثلًا لأداء pandas - والفارق لا يكاد يُذكر عمليًا. كما أن مزايا DataStore في العمليات المعقدة تفوق هذه الحالات الطرفية بكثير.للتحكم الدقيق في التنفيذ، راجع إعدادات محرك التنفيذ.
تكامل DataFrame بتقنية zero-copy
to_df()عمليًا بلا تكلفة - من دون تسلسل أو نسخ للذاكرة- إنشاء DataStore من pandas DataFrame يتم فورًا
- الذاكرة مشتركة بين DataStore وpandas views