شما نمی توانید جریان داده های عظیم را در JavaScript مقایسه کنید. یا می توانید؟ 🤔

می دانم ، غیرممکن به نظر می رسد. JavaScript یک زبان خیلی اجرا نیست ، بیشتر به دلیل مدل تک رشته ای آن. بنابراین اگر به شما بگویم می خواهیم 1.8 میلیون رای را در یک انتخابات شهر داستانی مقایسه کنیم ، درست در مرورگر ، احتمالاً فکر می کنید دیوانه ام. هر بار یک مرورگر یخ زده و خراب می شود. حدس بزنید چه؟ حق با شماست در اینجا نتیجه با یک کتابخانه بسیار محبوب Diff آمده است:

نسخه ی نمایشی برنامه ای که سعی در مقایسه 1.8 میلیون رای در دو انتخابات دارد.نسخه ی نمایشی برنامه ای که سعی در مقایسه 1.8 میلیون رای در دو انتخابات دارد.

واضح است ، اینطور نیست واو زمان اما با تکنیک های مناسب – مدیریت حافظه کارآمد ، یک معماری جریان ، کارگران وب و به روزرسانی های دسته ای – می توانید این کار را انجام دهید. این اثبات است:

نسخه ی نمایشی برنامه ای که به راحتی 1.8 میلیون رای را در دو انتخابات مقایسه می کند.نسخه ی نمایشی برنامه ای که به راحتی 1.8 میلیون رای را در دو انتخابات مقایسه می کند.

همانطور که مشاهده می کنید ، حتی با 1.8 میلیون شیء که در زمان واقعی پردازش می شوند ، UI کاملاً پاسخگو است. از همه مهمتر ، با تزریق دسته های داده کوچک به مرور زمان ، ما یک منتظر بمان تأخیر در تماشای آن اتفاق می افتد تجربه

خوب ، حالا بیایید وارد روند ساخت شویم.

چالش

ما سه چالش برای حل داریم.

  • دستیابی به عملکرد برتر.

  • رسیدگی به قالب های ورودی مختلف.

  • استفاده از توسعه دهندگان آسان است.

عمل

اولین چیز این است که از مسدود کردن موضوع اصلی به هر هزینه جلوگیری کنید. بنابراین ما به کد ناهمزمان ، یک کارگر برای رسیدگی به بالابر سنگین و یک پیچیدگی خطی نیاز داریم o (n)، این بدان معنی است که زمان اجرای با اندازه ورودی متناسب رشد می کند. علاوه بر این ، …

Source link