یک ابزار داریم (روی Rust
) که توی چندتا بخش نیاز به پردازش یک سری header
های درخواستی که میاد داره.
یا مثلا بعضی جاها کاربر میتونه permission
هارو باهاشون کار کنه و ...
همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی کند شده (برای یک سرور خاص البته) بعد از کلی بررسی متوجه شدم :
تعداد فایلهایی که روی این سرور دارند خیلی خیلی زیاد هست ولی چون حجم خیلی خیلی پایینی داره اکثرا و توی یک هارد کوچیک جا شده؛ مشتری توقع داره سرعت بالاتر باشه.
نسبت به سروری که مثلا ۵۰۰ تا فایل ۱۰ گیگ داره.
حدودا ۳۲-۳۴٪ سرعت با تغییر operator
های معمولی چک کردن هدر و پردازش permission, ....
به Bitwise operator
بدست اومد.
گفتم یک مثال هم اینجا بزنم؛ فقط توی این مثال به چندتا چیز توجه کنید:
۱- زوج بودن عدد محاسبات سنگینی نداره هرچند؛ محاسبه باقیمانده از AND
گرفتن سنگین تر هست.
۲- پایتون زبان سطح بالاس؛ محاسبه باقی مانده و AND
سربارهای پایتونی داره که باعث میشه تفاوت کمتر بشه و CPython
هم بسیار اپتیمایز شده هست.
۳- مثال خیلی ساده هست.
با این حال مفهوم رو آموزش میده و تفاوت اندک هم میشه دید.
>>Click here to continue<<
