من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.
“text”>”auto”>”-1″ dir=”auto”> Samchika

سامشيكا (معنى ملف في السنسكريتية) إعادة استخدامو سهل الاستخدام، و سريع للغاية مكتبة معالجة الملفات للغة جافا.

تم تصميمه مع التركيز القوي على Multithesply للتعامل مع مهام معالجة الملفات المكثفة في وحدة المعالجة المركزية بالتوازي ، مما يتيح الأداء العالي حتى مع الملفات الضخمة.


“-1” dir=”auto”> 🚀 الميزات

  • 🔁 متعدد مؤشرات الترابط بالكامل – محسّن لمعالجة الملفات المتوازية.
  • 🧩 API البسيط – فقط قم بتوصيل مسار الملف والمنطق.
  • 📊 احصائيات وقت التشغيل الاختياري-الوقت المستغرق ، والذاكرة المستخدمة ، ومعلومات مستوى مؤشر ترابط.
  • 🧪 مثالي للمعالجة والتحليل ملفات نصية كبيرة (مثل سجلات ، مجموعات البيانات).
  • 🌍 ودية مفتوحة المصدر-المساهمات مرحب بها!

“-1” dir=”auto”> استخدام الحالات

تتفوق Samchika في العديد من السيناريوهات التي توفر فيها معالجة الملفات المتعددة مزايا مهمة:

  • تحليل السجل ومعالجته
  • عمليات ETL (المستخلص ، التحويل ، الحمل)
  • معالجة مجموعة نصية كبيرة
  • جيل تقرير الدُفعات
  • خطوط أنابيب تحويل البيانات
  • معالجة البيانات في الوقت الحقيقي

راجع دليل الأمثلة للتطبيقات التفصيلية لحالات الاستخدام هذه.

“-1” dir=”auto”> مثال سريع

Java // تحويل ملف CSV كبير بأداء الأمثل

line.ToupperCase ()) .displayStats (true) .build () .execute () ؛”>

SmartFileProcessor.builder () .inppath ("large_dataset.csv") .outputpath ("transformed_dataset.csv".

“-1” dir=”auto”> 📦 التثبيت

“-1” dir=”auto”> مافن

“-1” dir=”auto”> Gradle

repositories {    maven { url 'https://jitpack.io' }}dependencies {    implementation 'com.github.mayankpratap:samchika:1.0.0'}

“-1” dir=”auto”> 🛠 كيفية الاستخدام

“-1” dir=”auto”> الخطوة 1: استيراد المكتبة

import com.samchika.SmartFileProcessor;

“-1” dir=”auto”> الخطوة 2: رمز العميل

الفراغ الثابت العام الرئيسي (السلسلة[] args) {SmartFileProcessor Processor=SmartFileProcessor.builder () .inputpath ("input.txt") // مسار إلى الملف المراد معالجته .OutputPath ("output.txt") // مسار لكتابة الإخراج .LineProcessor (Main :: Processline) // منطق عملك لكل سطر .DisplayStats (صواب) // اختياري: عرض إحصائيات وقت التشغيل .Build () ؛ Processor.execute () ؛ }

“-1” dir=”auto”> 📈 الأداء

المعيار ضد تطبيقات ساذجة Bufferreader على ملفات من مختلف الأحجام:

✅ 200 ميغابايت

✅ 1 غيغابايت

✅ 5 جيجابايت

✅ 16 جيجابايت

لوحظت تحسينات كبيرة في الأداء ، خاصة في الأنظمة متعددة النواة (أكثر من 70 ٪ من الأداء)

يتحسن الربح في الوقت المحفوظ بالمقارنة مع التعليمات البرمجية الساذجة ، حيث نزيد من حجم ملف الإدخال. أيضًا للحصول على كسب الأداء الضخم في الوقت المناسب ، يمكن التحكم في الذاكرة المستخدمة في الملفات الكبيرة (16 جيجابايت) (حوالي 800 ميغابايت).

“_blank” rel=”noopener noreferrer” HREF=”http://github.com/MayankPratap/Samchika/blob/main/images/time_memory.jpg”>”http://github.com/MayankPratap/Samchika/raw/main/images/time_memory.jpg” alt=”Perf visualization”>

“-1” dir=”auto”> الترخيص

تم ترخيص هذه المكتبة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا ، مما يعني أنه يمكنك استخدامها وتعديلها وتوزيعها بحرية ، حتى في التطبيقات التجارية. كل ما نطلبه هو تضمين إشعار حقوق الطبع والنشر الأصلي ونص الترخيص في أي نسخة من المكتبة أو جزء كبير منه.

“-1” dir=”auto”> 💡 الإلهام

استلهم هذا المشروع من:

  1. شوبهام موريا (“https://github.com/complex1″> https://github.com/complex1 ) ، صديق عزيز ، نشر مكتبة JavaScript – مما أثار الدافع لفعل شيء مماثل في Java.

  2. منشور LinkedIn يناقش تحديات معالجة الملفات النصية الكبيرة – والتي أعطتني فكرة حلها باستخدام واجهة برمجة تطبيقات أنيقة وهندسة متعددة المعاقين.

اقرأ المزيد

دليل الناشر النهائي لما يدخل في عصر نظرة عامة على منظمة العفو الدولية من Google
تحصل سخانات المياه Rheem® على جائزة Good Design®

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل