مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو عندك search box بيقترح كلمات من قاموس مليون كلمة، Array.filter بياخد 180ms في كل ضغطة. Trie بيعمل نفس النتيجة في 0.4ms، لكن بياكل ذاكرة 4× أكتر. كود JavaScript شغّال، قياس حقيقي، وحالات ما ينفعش فيها.
في Go، لما تحتاج أكتر من goroutine تشتغل على نفس البيانات، الـ mutex مش دايمًا الحل. Channels بتخلّيك تنقل الملكية بدل ما تقفل — بأرقام، وكود worker pool شغّال، وحالات الـ mutex فيها أسرع بـ 4 أضعاف.
لو عندك مليون email مسجل ومحتاج تشيك كل طلب جديد هل موجود قبل كده، hash table هتاكل 75MB ذاكرة. Bloom Filter بيعملها بـ 1MB، ومع ذلك في trade-off محدد لازم تعرفه قبل ما تستخدمه في production.