Building a SQL Database in Rust: Reducing Memory Usage with Spans and String Interning۱۴۰۵ تیر ۵, جمعه
برنامه_نویسی ۲۳ خرداد ۱۴۰۵

Building a SQL Database in Rust: Reducing Memory Usage with Spans and String Interning

یک توسعه‌دهنده در پروژه دیتابیس سازگار با PostgreSQL نوشته شده با Rust، با تغییر روش ذخیره‌سازی شناسه‌ها در lexer و AST مصرف حافظه را پایین آورد. به‌جای کپی کردن متن‌ها، از Span (موضع در متن اصلی) و یک String Interner (ذخیره یکبار رشته‌ها) استفاده کرد. این کار هم تخصیص حافظه را کاهش داد و هم مقایسه شناسه‌ها را سریع‌تر کرد.

Building a SQL Database in Rust: Reducing Memory Usage with Spans and String Interning

چرا مهمه؟

تغییر اصلی حذف String و جایگزینی با Span و Interner در ذخیره‌سازی شناسه‌ها است. توسعه‌دهندگانی که روی دیتابیس، کامپایلر یا نرم‌افزارهای متنی کار می‌کنند بیشترین بهره را می‌برند. این خبر اهمیت دارد چون نشان می‌دهد با یک تغییر ساده و هوشمندانه می‌توان مصرف حافظه را در سیستم‌های بزرگ کنترل کرد.

به درد کی می‌خوره؟

• توسعه‌دهندگان دیتابیس • مهندسان Rust • علاقه‌مندان به بهینه‌سازی حافظه • برنامه‌نویسان کامپایلر و مفسر • تیم‌های فنی نرم‌افزارهای اپن‌سورس

تو عمل چی کار کنیم؟

با استفاده از تکنیک‌های Span و String Interning که در این خبر توضیح داده شد، می‌توانید در پروژه‌های خود مصرف حافظه را کاهش دهید. کافی است متن‌های ورودی را در صورت نیاز یک بار ذخیره کنید و با ارجاع به آن‌ها کار کنید. در عمل این کار به ویژه در سیستم‌هایی مثل دیتابیس و وب‌سرورها باعث افزایش کارایی می‌شود.

نظر BlueIT News

بهینه‌سازی حافظه در نرم‌افزارهای زیرساختی مثل دیتابیس‌ها تأثیر مستقیم روی هزینه و سرعت دارد. تکنیک‌های مشابه در محصولات بزرگی مثل MySQL و PostgreSQL هم دیده می‌شود. اگر روی سیستمی با منابع محدود کار می‌کنید، این روش‌ها را از دست ندهید.