خانه > #C, NHibernate, Persian Contents > مقایسه عملکرد NHibernate با استفاده از Lazy Loading و بدون آن

مقایسه عملکرد NHibernate با استفاده از Lazy Loading و بدون آن

برای مقایسه نسخه‌های 1.2.0 و 2.1.2 چند عمل انجام شد. برای این کار یک پروژه جدید ساخته شد و داده‌هایی به صورت تصادفی وارد آن شد. این عمل با تعداد رکوردهای مختلف برای هر جدول از پایگاه داده انجام شد تا بتوان نموداری برای نتیجه‌گیری رسم کرد.
شکل زیر مدل آبجکتی برنامه مورد نظر را نشان می‌دهد :

در این مدل قابلیت‌های پایه‌ای یک سیستم سفارش محصول پیاده‌سازی شده است، بدین ترتیب که در این سیستم مشتری‌ها به همراه برخی از اطلاعات مربوط به آنها و همچنین محصولات قابل ارائه برای فروش تعریف می‌شوند. جدول سفارشات (order) هم رابطه بین مشتری‌ها و محصولات انتخابی را نگهداری می‌کند یعنی عملا سفارشات مشتری‌ها با استفاده از این ارتباطات ذخیره می‌شوند.
در مرتبه اول این جداول را با ۵۰۰۰ مشتری و ۵۰۰۰ محصول  و ۵۰۰۰ سفارش که هر کدام دارای مشتری‌ها و محصولات تصادفی است پر گردید و عملیات load داده‌ها در دو وضعیت فعال و غیرفعال lazy loading انجام شد. برای هر کدام از این  اعمال، مدت زمان انجام کار بر مبنای میلی‌ثانیه ثبت گردید.
در دفعات بعد این اعمال با تعداد دفعات ۱۰۰۰۰ تا ۵۰۰۰۰ و با نرخ رشد ۱۰۰۰۰ انجام شد و زمان‌های مورد نظر اندازه‌گیری شد.

جدول زیر از انجام کارهای بالا شکل گرفت:

تعداد lazy = false lazy = true
5000 51234.375 500
10000 286368.69 718.75
20000 330031.25 1328.125
30000 430937.5 1875
40000 533718.75 2593.75
50000 885328.125 3124.98

نمودار زیر برای مقایسه بهتر اعداد بالا و دیدن تفوت بسیار چشمگیر این دو روش با هم رسم شده است.

نمودار مقایسه NHibernate با استفاده از Lazy و بدون آن

همان‌طور که می‌بینید تفاوت بسیار چشمگیر است و با به روزرسانی روش‌های استفاده شده می‌توان به کارایی بسیار بهتری دست یافت.

  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: