permache.

مخزول بمستمر نتائج الغذائية
التحميل الان

permache. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • MIT/X Consortium Lic...
  • السعر:
  • FREE
  • اسم الناشر:
  • Oben Sonne
  • موقع ويب الناشر:
  • http://bitbucket.org/obensonne/

permache. العلامات


permache. وصف

استقرار ذاكرة التخزين المؤقت نتائج الغذائية Percache هي مكتبة Python لتقاط ذاكرة التخزين المؤقت باستمرار نتائج الوظائف (أو CAFFABLES بشكل عام) باستخدام Decorators.IT مشابهة بطريقة أو بأخرى مثال Memoize من مكتبة Decorator Python ولكن مع تخزين النتائج التي يتم تخزين النتائج باستمرار في ملف ذاكرة التخزين المؤقت. يوفر Permache Memoization Smimizations عبر إجراءات متعددة من FIRMERTERSTRETER.EXPAME: >>> استيراد Percache >>> ذاكرة التخزين المؤقت = Percache.cache ("/ TMP / ذاكرة التخزين المؤقت") >>>>>>> @ Cache.check ... DEF Longtask (A، B): ... PRINT ("تشغيل مهمة طويلة") ... إرجاع A + B ... >>> Longtask (1، 2) تشغيل مهام طويلة 3 >>>>>>>> Longtask ( 1، 2) 3 >>> ذاكرة التخزين المؤقت في المرة الثانية، يتم استرداد النتيجة من ذاكرة التخزين المؤقت. الميزة الرئيسية لهذه الوحدة هي أن هذا يعمل عبر دعوات متعددة لمترجم فوري الثيثون. متطلبات على النتائج في ذاكرة التخزين المؤقت هي أنهم لا يمكن الاتصال بهم. تعرف) عند التخزين المؤقت نتيجة لاستئصال Hash Caladable و SHA1 استنادا إلى اسم ووسائط SHA1 استنادا إلى اسمه واستخدامه كمفتاح لتخزين النتيجة في ملف ذاكرة التخزين المؤقت. لا يعمل حساب التجزئة مباشرة مع الحجج ولكن مع إعادة التغذية الخاصة بهم تم إرجاع السلسلة عن طريق تطبيق Repr (). من المفترض أن تفرق تمثيلات الوسيطة القيم بما يكفي لغرض الوظيفة ولكنها متطابقة عبر دعوات متعددة لمترجم الثعبان. افتراضيا، يتم استخدام الوظائف المدمجة () لإعادة () للحصول على تمثيلات وسيطة. هذا مثالي تماما لأنواع أساسية وقوائم وشرائح ومجموعات منها ولكن قد تفشل على أنواع أخرى: >>> إقليم (42) 42 # جيد >>> () "" # # جيدة >>> O = كائن () >>> (O) '' # سيئة (العنوان ديناميكي) >>>> rept ({"{a": 1، "B": 2، "D": 4، "C": 3}) "{'A': 1، 'C': 3، 'B': 2، 'D ": 4}" # سيئة (قد يتغير الطلب) >>> الفئة A (كائن): ... def __init __ (الذات، أ): ... >>> rept (a ( 36)) "# سيئة (لا تعتبر AA) >>> rept (a (35) '' # سيئة (لا تعتبر AA لا يعتبر) تمثيل سيء هو واحد غير متطابق حاليا في تداعيات بيثون (جميع الأمثلة السيئة) أو واحدة هذا لا يميز القيم بما فيه الكفاية (آخر 2 أمثلة سيئة). لاستخدام مثل هذه الأنواع على أي حال، يمكنك إما 1. قم بتنفيذ طريقة __repr __repr __ () وفقا لذلك أو 2. توفير وظيفة تمثيل مخصص باستخدام الكلمة الرئيسية لإعادة القوب عن منشئ ذاكرة التخزين المؤقت. __repr __ () طريقة تفسر القواميس على وظائف الإبطاء المزخرفة، يمكنك التفافها في نوع القاموس الخاص مع __r مناسبة EPR __ () الطريقة: >>> قديس الفئة (DICT): ... Def __repr __ (الذات): ... البنود = ) ل K في فرزها ( النفس)] ... عودة "{ s}" "،". ، "C": 3})) "{'a': 1، 'b': 2، 'c': 3، 'd': 4}" # جيدة (دائما نفس النظام) توفر مخصص rept () وظيفة يوضح المثال التالي كيفية استخدام وظيفة تمثيل مخصص للحصول على تمثيل ضرائب مناسبة لكائنات الملفات: >>> Def Myrepr (Arg): ... إذا isinstance (Arg، File): ... # إرجاع سلسلة مع اسم الملف ووقت التعديل ... إرجاع " S: S" (Arg.Name، OS.FSTAT (ARG.FILENO ()) ) ) ... آخر: ... إعمار Repr (Arg) ... >>> ذاكرة التخزين المؤقت = permache.cache ("/ بعض / المسار"، rept = myrepr) التدبير المنزلي * لا تنسى استدعاء الطريقة الإغلاق () لمثيل ذاكرة التخزين المؤقت. لا يتم كتابة أي من Resutls على القرص حتى يتم استدعاء هذه الطريقة * تأكد من حذف ملف ذاكرة التخزين المؤقت كلما تغير سلوك الوظيفة المخزنة مؤقتا! * لمنع ذاكرة التخزين المؤقت من الحصول على أكبر وأكبر يمكنك الاتصال بطريقة واضحة () لمثيل ذاكرة التخزين المؤقت. بشكل افتراضي، فإنه يمسح جميع النتائج من ذاكرة التخزين المؤقت. يتم استخدام الكلمة الرئيسية الخاصة بي لتحديد عدد أقصى عدد الثواني التي تم تمريرها منذ أن تم استخدام نتيجة مؤقتة في المرة الأخيرة. أي نتيجة غير المستخدمة (المكتوبة أو الوصول إليها) للحصول على ثوان Maxage التي يتم إزالتها من ذاكرة التخزين المؤقت. متطلبات: بيثون ما الجديد في هذا الإصدار: إصلاح خاطئ استخدام العمر إخراج واجهة سطر الأوامر. تلبية نصف الطريق مع الصعب.


permache. برامج ذات صلة