نمایش نتایج 1 تا 5 از 5

نام تاپیک: افزایش سرعت کامپایل در دلفی

  1. #1
    کاربر دائمی آواتار MohsenB
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایرانم
    پست
    601

    افزایش سرعت کامپایل در دلفی

    سلام

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

    خوب ، اگه شما هم مایل به این کار هستید ادامه مطلالب رو بخونید و اگر هم روش بهتری سراغ دارید دریغ نکنید .

    یکی از اولین نرم افزارایی که من همیشه بعد از نصب ویندوز نصب میکنم ، یک برنامه ساخت درایو از نوع رم ( RAMDISK) هست .
    شما هم یکی از این نرم افزار ها رو حتما نصب کنید ، خیلی مفیده . در زیر چند نمونه از این نرم افزارها را لیست میکنم :

    SuperSpeed RamDisk
    GiliSoft RamDisk
    Primo Ramdisk


    کار این نرم افزارها اینه که میاد یک پارتیشن مجازی میسازه منتها فضای مورد نیازش رو از رم سیستم میگیره . ( پس شما نیاز به فضای کافی رم هم هستید )
    بهتون پیشنهاد میکنم اسم درایوی که میخواهید بسازید رو Z بزارید .
    بعد از نصب تنظیمات زیر رو توی دلفی انجام بدهید :

    بعد از شروع یک پروژه ( انجام این تنظیمات یک بار برای هر پروژه کفایت میکند ) به منوی "پروژه" و بعد "Options" بروید .
    در برگه Delphi Compiler در حالی که گزینه Target روی "Debug..." قرار دارد دو گزینه :
    Output Directory
    Unit Output Directory

    را به حالت زیر تغییر دهید :
    Z:\$(Platform)\$(Config)


    نکته : اگر میخواهید این تنظیمات را سریعتر انجام دهید بعد از این مراحل یکبار این تنظیمات را توسط گزینه Save بالای همین برگه ذخیره کنید و هر موقع که به تنظیم مجدد نیاز داشتید از گزینه Apply استفاده نمایید .

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


    امیدوارم مورد کاربرد شما قرار گیرد

    موفق و پیروز باشید

  2. #2
    Super Moderator
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    WinNT
    پست
    5,936

    نقل قول: افزایش سرعت کامپایل در دلفی

    1- از Primo Ramdisk استفاده نکنید ؛ چند بار دست منو بدجوری تو پست گردو گذاشته ، به شخصه GiliSoft Ramdisk رو پیشنهاد میکنم .

    2- حتما از برنامه ای برای پشتیبان گیری خودکار از اطلاعات RAM Disk در هر چند دقیقه استفاده کنید ، من قبلا که از این روش استفاده میکردم برنامه ای نوشته بودم که همیشه اجرا بود و وقتی پیغام خاصی بهش میرسید عملیات پشتیبان گیری از Ram Drive رو انجام میداد ، تو فایل dpr همه پروژه های یک SendMessage میزاشتم و پیغام مثلا WM_BackupProject رو به برنامه پشتیبان گیر میفرستادم و اون هم از پوشه مربوط به برنامه یک کپی میگرفت ، با این شیوه هر بار که برنامه کامپایل و اجرا میشد به صورت خودکار یک کپی ازش روی هارد میگرفتم تا اگر اتفاقی برای سیستم افتاد و Ram تعطیل شد بدبخت نشم .

    3- SSD هم گزینه مناسبی هست ، سال پیش که ارزونی بود من یه 64 خریدم ، از اون موقع زندگی زیبا شد

  3. #3
    کاربر دائمی آواتار MohsenB
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایرانم
    پست
    601

    نقل قول: افزایش سرعت کامپایل در دلفی

    سلام

    به نظر من بهترین نرم افزار تو این زمینه SuperSpeed RamDisk هستش ولی چون الان هنوز نسخه مناسب ( کرک شده ) ازش برای ویندوز 8 نیومده من دارم روی Dataram RAMDisk تست میکنم ( البته یادم رفت به لیست بالا اضافه کنم ) . این نرم افزار خوب و رایگانیه .

    یه چند تا نکته اینکه روش آقا مجتبی با من یکم فرق کرد ، اینطور که توضیح دادن کل پروژه رو روی این درایوها ریخته بودن ولی من منظورم این بود که فقط محل ساخت فایل دیباگ ( که موقع تست و توسعه نرم افزار استفاده میشه ) رو روی اون قرار بدیم . اینطوری اصلا نیازی به بکاپ نیست چون کد اصلی روی هارد اصلی هست . و یه چیز دیگه اینکه کد برنامه به احتمال زیاد یا توی حافظه رم لود میشه یا نهایتا توی یک فایل چند کیلو بایتی ذخیره ( فقط موقع ذخیره کردن توسط کاربر ) و لود میشه که زیاد تاثیری نداره . و فقط کافیه طبق معمول موقع ساخت فایل نهایی خروجی برنامه رو روی Release قرار داده و ... و در جای اصلی خودش قرار میگیره .
    فقط یکم باید آدرسهای فایلهای استفاده شده در برنامه رو احتمالا تغییر بدید که اونم با تغییر موقت هنگام دیباگ و دادن آدرس کامل درست میشه .

    استفاده از حافظه های SSD هم روش خوبیه نسبت به هارد دیسک . اگه اشتباه نکم SSD ها هم محدودیت نوشتن دارن ( البته خیلی زیاده ) ، ولی از این که بگذریم دو مورد دیگه هم دارن که یکم در مقابل رم کم میارن : یکی اینکه ارتباطش با کامپیوتر توسط کابل ساتا هست که مسلما سرعتش نسبت به باس ارتباطی رم خیلی خیلی پایینه ، و یکی دیگه قیمتشه که فعلا خیلی نجومیه . البته اگه از هر دو بصورت کنار هم استفاده بشه چی میشه ... .

    محض سرگرمی ( یا بازی با سرعت ) یه عکس از جابجایی یه فایل به حجم 550 مگابایت رو درون یه رم دیسک گذاشتم ، البته به سختی تونستم عکس بگیرم چون خیلی سریع میرفت . خوب به سرعت نگاه کنید ، البته توجه کنید که پایان کپی تونستم عکس بگیرم و معمولا پایان کپی یکم سرعت پایینتره :


    عکس های ضمیمه عکس های ضمیمه

  4. #4
    Super Moderator
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    WinNT
    پست
    5,936

    نقل قول: افزایش سرعت کامپایل در دلفی

    بله من کل پروژه ها رو تو شرکت روی Ram Disk قرار میدادم چون هر پروژه حداقل از 300 فایل و نزدیک 1,000,000 خط کد تشکیل میشد که حتی بار کردنشون تو IDE هم زمان بر بود .

    نرم افزار VSuite Ramdisk هم نرم افزار بسیار خوبی هست و من نرم افزاری رو در سرعت ساخت Virtual Disk روی Ram به سرعت اون ندیدم .

    اگه اشتباه نکم SSD ها هم محدودیت نوشتن دارن ( البته خیلی زیاده )
    بله محدودیت دارن ولی این محدودیت همونطور که گفتید خیلی زیاده ، در ضمن SSD ها ظرفیت کمکی دارن یعنی وقتی یک هارد SSD با ظرفیت 64 میخرین در حقیقت اون هارد چیزی در حدود 70 گیگابایت ظرفیت داره ، وقتی ظرفیت نوشتن در بیت خاصی به پایان میرسه اون بیت به یک بیت تازه نفس از این مثلا 6 گیگابایت فضای اضافی Map میشه و یک بیت تازه نفس جاشو پرمیکنه ، در ضمن SSD ها از الگوریتم های خاصی برای یکنواخت سازی میزان استفاده بهره میبرند .

    توصیه میکنم این مقاله رو در مورد SSD ها مطالعه کنید ، اطلاعات خوبی داره .

    راستی :
    مورد بعد اینه که شما وقتی یه برنامه ساده با دلفی مینویسید حداقل ( XE2=<) حجم فایل اجرایی 10 مگابایت میشه
    همین الان که دارم این پست رو مینویسم در حال کار روی یک پروژه شخصی هستم که نزدیک 3000 خط Manual Code داره و با XE2 در حال توسعه هست ، حجم فایل اجرایی بدون استفاده از Packer و ... = 3.4 مگابایت !
    آخرین ویرایش به وسیله Felony : یک شنبه 07 آبان 1391 در 07:06 صبح

  5. #5
    کاربر دائمی آواتار MohsenB
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایرانم
    پست
    601

    نقل قول: افزایش سرعت کامپایل در دلفی

    نقل قول نوشته شده توسط Mahan-1363 مشاهده تاپیک
    بله من کل پروژه ها رو تو شرکت روی Ram Disk قرار میدادم چون هر پروژه حداقل از 300 فایل و نزدیک 1,000,000 خط کد تشکیل میشد که حتی بار کردنشون تو IDE هم زمان بر بود .
    خوب اگر پروژه بزرگ باشه مطمئنا اینجوری بهتره

    نقل قول نوشته شده توسط Mahan-1363 مشاهده تاپیک
    نرم افزار VSuite Ramdisk هم نرم افزار بسیار خوبی هست و من نرم افزاری رو در سرعت ساخت Virtual Disk روی Ram به سرعت اون ندیدم .
    اینم که ساخت همون Primo هست .
    یه جستجویی الان کردم و به نتایج بسیار خوبی رسیدم .
    یه نگاهی به این صفحه که معرفی انواع این نوع نرم افزارهاست و همینطور این صفحه که مقایسه اونهاست بندازید .
    من تو این مقایسه ها نرم افزار SoftPerfect RAM Disk رو انتخاب کردم چون بنظر از همشون بهتر بود ، و واقعا هم همینطوره . وقتی تست کردم مثل آزمایش قبل موقع کپی اون فایل 550 مگابایتی اصلا دیگه پنجره کپی هم ظاهر نشد!!! و خلاصه این یکی تا الان که خیلی عالیه و امکاناتی نظیر پشتیبانی از سیستم عامل های 64 و 32 بیت رو برای تمام ویندوزها حتی ویندوز 8 رو هم داره ، محیط بسیار ساده و کاربردی و همینطور توانایی کار با ایمیجها رو هم داره .

    نقل قول نوشته شده توسط Mahan-1363 مشاهده تاپیک
    راستی :

    همین الان که دارم این پست رو مینویسم در حال کار روی یک پروژه شخصی هستم که نزدیک 3000 خط Manual Code داره و با XE2 در حال توسعه هست ، حجم فایل اجرایی بدون استفاده از Packer و ... = 3.4 مگابایت !
    وقتی من یه پروژه تازه باز میکنم و بدون هیچ تغییری اجرا میکنم حجمش حدود 6.9 مگابایته ، اگر توی تنظیمات پروژه در برگه Linking از مجموعه Delphi Compiler گزینه اول یعنی Debug Information رو غیر فعال کنم حجم فایل خروجی به 1.3 مگابایت کاهش پیدا میکنه . ( البته همه این اندازه هایی که نوشتم منظور حالت دیباگ بود )
    آخرین ویرایش به وسیله بهروز عباسی : سه شنبه 29 مرداد 1392 در 15:30 عصر

تاپیک های مشابه

  1. افزایش سرعت IDE در دلفی . . .
    نوشته شده توسط mk8800 در بخش محیط توسعه (IDE) دلفی
    پاسخ: 0
    آخرین پست: شنبه 12 دی 1388, 23:33 عصر
  2. افزایش سرعت اجرای دلفی با Delphi Speed Up
    نوشته شده توسط AliReza Vafakhah در بخش محیط توسعه (IDE) دلفی
    پاسخ: 2
    آخرین پست: سه شنبه 27 اسفند 1387, 13:13 عصر
  3. Proxy Switch جهت افزایش سرعت و مخفی شدن در اینترنت
    نوشته شده توسط SyntaxCheck در بخش امنیت در شبکه
    پاسخ: 8
    آخرین پست: یک شنبه 09 بهمن 1384, 17:06 عصر
  4. افزایش سرعت وب سرور
    نوشته شده توسط bernadet730 در بخش شبکه و Networking‌
    پاسخ: 1
    آخرین پست: یک شنبه 08 آذر 1383, 13:03 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •