خانه
/
مجله
اخبار وب و فناوری

Zod با کامپایل درون‌فرایندی، مصرف حافظه را ۹ برابر کاهش داد

Zod 4.5 با کامپایل درون‌فرایندی، اعتبارسنجی سریع‌تر و کاهش حدود ۹ برابری حافظه منتشر شد؛ نسخه 4.6 نیز مشکل حافظه شِماهای بازگشتی را رفع می‌کند.

modir۲ دقیقه مطالعه
تصویر مفهومی از کامپایل درون‌فرایندی Zod و کاهش مصرف حافظه

Zod، کتابخانه اعتبارسنجی شِما برای TypeScript، در نسخه 4.5 قابلیت کامپایل درون‌فرایندی شِماها را اضافه کرده و مصرف حافظه شِماهای پایه را حدود ۹ برابر پایین آورده است. نسخه 4.6 نیز این مسیر را ادامه می‌دهد و یک مشکل مهم حافظه در شِماهای بازگشتی را برطرف می‌کند.

قابلیت z.compile() هر شِما را به اعتبارسنج ازپیش‌کامپایل‌شده تبدیل می‌کند و پردازش داده یکسان را ۳ تا ۹ برابر سریع‌تر انجام می‌دهد. این فرایند هنگام اجرا انجام می‌شود و به افزونه باندلر یا مرحله تولید کد نیاز ندارد؛ توسعه‌دهندگان وب‌اپلیکیشن می‌توانند آن را برای همه شِماها در نقطه ورود فعال کنند.

با ذخیره‌سازی متدهای متصل، حافظه موردنیاز یک z.string() از ۷.۵ کیلوبایت به ۷۸۴ بایت رسیده است. همچنین safeParse در ورودی نامعتبر از ثبت stack trace صرف‌نظر می‌کند و رد کردن داده نادرست را حدود ۷.۵ برابر کم‌هزینه‌تر می‌سازد. بازگشت z.deepPartial و افزوده‌شدن exactPartial، اعتبارسنج کارت اعتباری و هشت زبان جدید خطا از دیگر تغییرات 4.5 هستند.

در نسخه 4.6، متد .validate() برای بررسی بولی و توقف در نخستین خطا ارائه شده است؛ این متد با کامپایل فعال، برای ورودی نامعتبر تا ۳۵ برابر از بررسی safeParse().success سریع‌تر گزارش شده است. با این حال، برای خروجی تبدیل‌شده یا جزئیات خطا جایگزین parse نیست. این نسخه همچنین نشت داده پردازش‌شده در شِماهای بازگشتی را که می‌توانست به خطای کمبود حافظه برسد، رفع می‌کند.

منبع: InfoQ

# TypeScript
# Zod
# اعتبارسنجی داده
# توسعه وب
# جاوااسکریپت

پروژه‌ای در این زمینه دارید؟

مشاوره‌ی اولیه و برآورد هزینه رایگان است.

درخواست مشاوره