tgoop.com/pyHints/846
Last Update:
یک ابزار داریم (روی Rust) که توی چندتا بخش نیاز به پردازش یک سری header های درخواستی که میاد داره.
یا مثلا بعضی جاها کاربر میتونه permission هارو باهاشون کار کنه و ...
همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی کند شده (برای یک سرور خاص البته) بعد از کلی بررسی متوجه شدم :
تعداد فایلهایی که روی این سرور دارند خیلی خیلی زیاد هست ولی چون حجم خیلی خیلی پایینی داره اکثرا و توی یک هارد کوچیک جا شده؛ مشتری توقع داره سرعت بالاتر باشه.
نسبت به سروری که مثلا ۵۰۰ تا فایل ۱۰ گیگ داره.
حدودا ۳۲-۳۴٪ سرعت با تغییر operator های معمولی چک کردن هدر و پردازش permission, .... به Bitwise operator بدست اومد.
گفتم یک مثال هم اینجا بزنم؛ فقط توی این مثال به چندتا چیز توجه کنید:
۱- زوج بودن عدد محاسبات سنگینی نداره هرچند؛ محاسبه باقیمانده از AND گرفتن سنگین تر هست.
۲- پایتون زبان سطح بالاس؛ محاسبه باقی مانده و AND سربارهای پایتونی داره که باعث میشه تفاوت کمتر بشه و CPython هم بسیار اپتیمایز شده هست.
۳- مثال خیلی ساده هست.
با این حال مفهوم رو آموزش میده و تفاوت اندک هم میشه دید.
BY Python Hints

Share with your friend now:
tgoop.com/pyHints/846
