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

نام تاپیک: Lazarus Performance

  1. #1

    Question Lazarus Performance

    سلام

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

    قبلا همین کد رو به جاوا تبدیل کرده بودیم و تو اون سرعت مطلوب نبود و احتمال دادیم که شاید به خاطر JVM کند شده باشه

    برای راحتی کار، به جای تبدیل الگوریتم به یه زبان دیگه همون برنامه دلفی رو با اندکی تغییر تو لازاروس تحت لینوکس اجرا کردیم.

    اما سرعت اجرای برنامه، خیلی کمتر از نسخه دلفی شد، به نحویکه زمان اجرای برنامه لازاروس حدود بیست برابر بیشتر از برنامه دلفی طول کشید!!!

    خودم انتظار داشتم تو لازاروس به یه سرعت برابر با دلفی برسم بخصوص اینکه ظاهرا خبری از ماشین مجازی مثل JVM نیست و کد داره Native اجرا میشه.

    نظر دوستان چیه؟

    البته این رو هم اضافه کنم که تا همین جای کار، سرعت لازاروس خیلی بهتر از جاوا شده!

    خیلی ممنون از توجهی که کردید.

  2. #2

    نقل قول: Lazarus Performance

    نقل قول نوشته شده توسط Moharram مشاهده تاپیک
    سلام

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

    قبلا همین کد رو به جاوا تبدیل کرده بودیم و تو اون سرعت مطلوب نبود و احتمال دادیم که شاید به خاطر JVM کند شده باشه

    برای راحتی کار، به جای تبدیل الگوریتم به یه زبان دیگه همون برنامه دلفی رو با اندکی تغییر تو لازاروس تحت لینوکس اجرا کردیم.

    اما سرعت اجرای برنامه، خیلی کمتر از نسخه دلفی شد، به نحویکه زمان اجرای برنامه لازاروس حدود بیست برابر بیشتر از برنامه دلفی طول کشید!!!

    خودم انتظار داشتم تو لازاروس به یه سرعت برابر با دلفی برسم بخصوص اینکه ظاهرا خبری از ماشین مجازی مثل JVM نیست و کد داره Native اجرا میشه.

    نظر دوستان چیه؟

    البته این رو هم اضافه کنم که تا همین جای کار، سرعت لازاروس خیلی بهتر از جاوا شده!

    خیلی ممنون از توجهی که کردید.
    نسخه دلفی تون حتما قدیمی هستش .در نسخه های جدید میتونید مستقیم در خود دلفی برا Linux پروژه رو کامپایل کنید.

  3. #3

    نقل قول: Lazarus Performance

    با تشکر از پاسخی که دادید ...

    احتمالا منظورتون نسخه 10.2 به بعد Delphi هستش که میشه با ابزار PAServer خروجی تو Linux گرفت. البته ظاهرا فقط برنامه های کنسولی رو میشه اجرا کرد و شاید تو نسخه های جدیدتر بشه برنامه UI دار رو هم اجرا کرد ...

    هدف نهایی اینه که اون ماژول پردازشی به شکل یه فایل so.* (معادل dll.* تو ویندوز) دربیاد و بشه از اون تو محیط های Multiplatform دیگه مثل Java و QT استفاده کرد.

    البته ظاهرا تو Delphi 10.2 میشه یه پروژه از نوع Windows Library ایجاد کرد و با Target لینوکس و با استفاده از PAServer یک خروجی so.* ساخت که در حال تست این روش هستم ...

    الان سوالی که باقی می مونه اینه که بالاخره Performance لازاروس چی میشه این وسط ... ؟

  4. #4

    نقل قول: Lazarus Performance

    نقل قول نوشته شده توسط Moharram مشاهده تاپیک
    با تشکر از پاسخی که دادید ...

    احتمالا منظورتون نسخه 10.2 به بعد Delphi هستش که میشه با ابزار PAServer خروجی تو Linux گرفت. البته ظاهرا فقط برنامه های کنسولی رو میشه اجرا کرد و شاید تو نسخه های جدیدتر بشه برنامه UI دار رو هم اجرا کرد ...

    هدف نهایی اینه که اون ماژول پردازشی به شکل یه فایل so.* (معادل dll.* تو ویندوز) دربیاد و بشه از اون تو محیط های Multiplatform دیگه مثل Java و QT استفاده کرد.

    البته ظاهرا تو Delphi 10.2 میشه یه پروژه از نوع Windows Library ایجاد کرد و با Target لینوکس و با استفاده از PAServer یک خروجی so.* ساخت که در حال تست این روش هستم ...

    الان سوالی که باقی می مونه اینه که بالاخره Performance لازاروس چی میشه این وسط ... ؟
    درود
    بنده برنامه نویس دلفی نیستم ولی حدس میزم کاری که میخواهید رو بشه به راحتی انجام داد. باید پروژتون FireMonkey باشه و نه vcl.

  5. #5

    نقل قول: Lazarus Performance

    سلام

    اون تست رو انجام دادم، یعنی با Delphi 10.2 پروژه رو برای Linux کامپایل کردم و با ابزار PAServer نسخه لینوکسی اون هم درست شد...

    اما جالب اینجاست که تو تست سرعت اجرای الگوریتم دقیقا شبیه لازاروس شد؛ یعنی خود دلفی هم کدی درست کرد که با Performance لازاروس برابری کرد ...

    الان میشه یه نتیجه ای گرفت و اون اینه که حداقل تقصیر از لازاروس نبوده و محیط اجرا که اینجا لینوکس بوده، ظاهرا بیشتر دخیل بوده تو این ماجرای Performance ...

    حالا باید عنوان سوال رو تغییر داد: به اینصورت که یک کد ثابت چرا باید تو یه Platform دیگه با سرعت دیگه ای اجرا بشه؟ شاید هم اصل سوال اشتباه باشه و ما نباید انتظار Performance های یکسان تو Platform های مختلف داشته باشیم ... !

  6. #6

    نقل قول: Lazarus Performance

    به دو نکته توجه داشته باشید. در لازاروس مد کامپایل رو روی release قرار بدید. همچنین تنظیمی هم وجود داره که میتونید میزان بهینه سازی کد خروجی رو تعیین کنید.

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

  1. سوال: C++‎ با lazarus
    نوشته شده توسط pars1376 در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 16
    آخرین پست: جمعه 23 خرداد 1393, 22:08 عصر
  2. Lazarus و GTK+ و QT
    نوشته شده توسط delphi887 در بخش توسعه نرم افزار مستقل از سکو
    پاسخ: 0
    آخرین پست: چهارشنبه 03 خرداد 1391, 13:04 عصر
  3. تجربه من در مورد Lazarus
    نوشته شده توسط delphi887 در بخش توسعه نرم افزار مستقل از سکو
    پاسخ: 0
    آخرین پست: چهارشنبه 07 دی 1390, 14:48 عصر
  4. نصب lazarus
    نوشته شده توسط h_abutorabi در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 2
    آخرین پست: جمعه 18 آبان 1386, 00:59 صبح
  5. Lazarus دلفی متن باز!!!!!
    نوشته شده توسط rasool_brn در بخش پروژه‌های Open Source
    پاسخ: 4
    آخرین پست: چهارشنبه 28 شهریور 1386, 09:53 صبح

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

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