سؤال

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

كما يعلم الكثيرون منكم ، فإن XMPP هو بروتوكول المراسلة يعتمد على XML يعتمد على كمية هائلة من تدفقات XML قصيرة ولكن متكررة. أفكر في أنه بالنسبة لمثل هذه التطبيقات ، يجب أن يكون محلل XML المستند إلى الحدث أفضل لأنني لن أحتاج إلى DOM وكل ذلك (صححني إذا كنت مخطئًا). يرجى مراعاة أن هذه المكتبة مخصصة للخوادم ، لذلك قد يكون هناك العديد من الحالات التي يتم تشغيلها مرة واحدة ؛

أي واحد من الاثنين لديه أفضل الأداء واستخدام الذاكرة لحالة الاستخدام هذه ، libxml2 أو المغتربين؟

هل كانت مفيدة؟

المحلول

هناك مشروع كامل مخصص للإجابة على مسألة أداء XML المسمى معيار XML.

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

ونعم ، أنت تريد استخدام Sax Parser ، وليس Dom Parser.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top