کاهش زمان بارگیری اولیه در جولیا (sysimage)

یک sysimage فایلی است که حاوی بسته های بارگیری شده و کدهای کامپایل شده و … است.

با شروع Julia همراه با یک sysimage جلسات (session) های ذخیره شده بارگیری می شوند.

مزیت استفاده از sysimage این هست که زمان بارگیری اولیه بسته ای که به sysimage اضافه شده حذف می شود.

عیب استفاده از اون هم این هست که پکیج در حالت قفل شده می ماند و امکان آپدیت کردن آن وجود ندارد. اگر پکیج مورد نظر نیاز به آپدیت داشته باشد باید پس از به روز رسانی مجدد sysimage ساخته شود.

ایجاد sysimage با استفاده از بسته ی PackageCompiler

به طور خلاصه با استفاده از دستورات زیر میشه یک فایل sysimage.so بسازید.

یک مسیر برای فایل ایجاد کنید:

12$ mkdir sysimages
$ cd sysimages

جولیا را اجرا کنید. -q فقط برای باز کردن محیط بدون بنر (به حالت quiet) هست.

1$ julia -q 

پکیج PackageCompiler را صدا بزنید. اگر نصب نشده ابتدا نصب کنید.

123julia> #import Pkg
julia> # Pkg.add("PackageCompiler")
julia> using PackageCompiler 

یک براکت تایپ کنید تا به محیط REPL بروید.

1julia> ]  # ptess ] to go to REPL environment
1(v1.4) pkg> activate .

یک backspace بزنید تا از این محیط خارج شوید.

برای شما

حالا بسته های مورد نظر رو اضافه و بعد بارگیری کنید. (اگر از قبل نصب کرده باشید هم لازم هست که مجدد اضافه کنید تا به لیست محیط فعال اضافه بشه.)

1234(v1.4) add DifferentialEquations
(v1.4) add OhMyREPL
julia> using DifferentialEquations
julia> using OhMyREPL

در انتها هم فایل sysimage.so را بسازید. این کار ممکنه چند دقیقه طول بکشد بنابراین صبور باشید.

1PackageCompiler.create_sysimage([:OhMyREPL, :DifferentialEquations]; sysimage_path="sysimage.so")

☘️ برای استفاده از فایل sysimage.so هم اینطور عمل کنید:

1$ julia -J[path to sysmage.so]
1for example:
1$ julia -J/home/abolfazl/sysimages/sysimage.so

حالا با بارگیری کردن بسته هایی که از قبل به فایل .so اضافه کرده اید تفاوت زمان بارگیری پکیج ها را احساس کنید.

میتونید به جای ایجاد فایل sysimage در یک مسیر دلخواه اون رو جایگزین حالت پیشفرض کنید. بنابراین جولیا به طور پیشفرض در هنگام شروع از اون فایل استفاده میکنه.

این ویژگی با اضافه کردن

1replace_default=true

به دستور create_sysimage قابل استفاده است.

اینجا بیشتر بخوانید.

کانال تلگرامی: scientific_programming@

نویسنده مطلب: Abolfazl Ziaeemehr

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.