سؤال

ما هي أفضل طريقة لتعريف تعبيرات Perl regexes لتحديد مدى تكلفتها؟

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

المحلول

بيرل يأتي مع المعيار الوحدة النمطية، والتي يمكن أن تأخذ عددًا من نماذج التعليمات البرمجية، وتجيب على سؤال "أيهما أسرع؟".لقد حصلت على نصيحة بيرل على أساسيات المقارنة المرجعية, وعلى الرغم من أن هذا لا يستخدم التعبيرات العادية في حد ذاته، إلا أنه يقدم مقدمة سريعة ومفيدة للموضوع، إلى جانب المزيد من المراجع.

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

بول

نصائح أخرى

وفقط أقول "استخدام المعيار" وحدة لا يجيب حقا السؤال، وإن كان. القياس باستخدام التعابير المنطقية يختلف عن القياس والحساب؛ كنت في حاجة الى كمية كبيرة من البيانات واقعية حتى تتمكن من التأكيد على التعبير المعتاد سوف عن بيانات حقيقية. إذا كان معظم البيانات الخاصة بك سوف تطابق، وكنت ترغب في التعابير المنطقية التي تتوافق مع بسرعة. إذا كان معظم ستفشل، وتريد باستخدام التعابير المنطقية التي فشلت بسرعة. ويمكن أن ينتهي به الأمر إلى نفس التعابير المنطقية، ولكن ربما لا.

وطريقتي المفضلة سيكون لديك مجموعة كبيرة من البيانات المدخلة إلى RE ثم معالجة هذا مرات البيانات N (على سبيل المثال، 100000) لمعرفة الزمن الذي يستغرقه.

وبعد ذلك قرص RE وحاول مرة أخرى (الحفاظ على جميع RES قديمة تعليقات في حال كنت بحاجة إلى مرجعية لهم مرة أخرى في المستقبل، من يدري ما قد تظهر التحسينات الرائعة في بيرل 7؟).

قد يكون هناك أيضا الأدوات التي يمكن تحليل الدقة لتعطيك مسارات التنفيذ لمدخلات محددة (مثل أدوات التحليل في نظم إدارة قواعد البيانات ") ولكن، منذ بيرل هي لغة كسول (وصية الصادرة عن لاري نفسه)، I لا يمكن أن تكون ازعجت الذهاب للعثور عليه: -)

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