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

نام تاپیک: زمان اجرا

  1. #1

    زمان اجرا

    با سلام
    من برنامه ای در C++‎ نوشتم و زمان اجرای آن را با کدی که در C++‎ نوشتم اندازه گیری کردم ولی مشکلی که هست این است که هر بار زمان اجرای برنامه برای یک ورودی مشخص متفاوت از دفعه قبل است. خواهشمندم راهنمایی کنید.

  2. #2

    نقل قول: زمان اجرا

    clock_t begin,end;
    begin=clock();
    برنامه ای که می خوام زمان آن را اندازه گیری کنم
    end=clock();
    d=((end-begin)*1000)/CLOCKS_PER_SEC;
    cout<<d;
    به برنامه ای که می خوام زمان آن را اندازه گیری کنم هر بار مثلا ورودی 8 می دهم ولی هر بار زمان اجرا متفاوت از زمان قبلی است

  3. #3

    نقل قول: زمان اجرا

    نقل قول نوشته شده توسط mg1ddd مشاهده تاپیک
    clock_t begin,end;
    begin=clock();
    برنامه ای که می خوام زمان آن را اندازه گیری کنم
    end=clock();
    d=((end-begin)*1000)/CLOCKS_PER_SEC;
    cout<<d;
    به برنامه ای که می خوام زمان آن را اندازه گیری کنم هر بار مثلا ورودی 8 می دهم ولی هر بار زمان اجرا متفاوت از زمان قبلی است
    این موضوع کاملا طبیعی هست. چون CPU کامپیوتر شما به طور همزمان در حال اجرا کردن تعداد زیادی برنامه‌ (سیستمی و غیر سیستمی) هست. زمانی که شما با این روش اندازه‌گیری می‌کنید زمانی هست که برنامه شروع میشه تا زمانی که تموم میشه. این وسط به کررات سی‌پی‌یو به برنامه‌های دیگه‌ای که روی کامپیوتر شما درحال اجراست داده میشه تا اون‌ها هم اجرا بشوند. این زمان‌ها اجرا هم در زمانی که شما اندازه گیری می‌کنید به حساب میاد. شما باید تعداد سیکل‌های cpu‌ که صرف برنامه‌ی شما میشه رو اندازه گیری کنید و نه تعداد تمام سیکل‌هایی که cpu از زمان شروع برنامه‌ی شما تا زمان پایانش صرف می‌کنه. برای این کار باید از یک پروفایلر استفاده کنید نه از دستور clock().

  4. #4

    نقل قول: زمان اجرا

    نقل قول نوشته شده توسط javanerd مشاهده تاپیک
    این موضوع کاملا طبیعی هست. چون CPU کامپیوتر شما به طور همزمان در حال اجرا کردن تعداد زیادی برنامه‌ (سیستمی و غیر سیستمی) هست. زمانی که شما با این روش اندازه‌گیری می‌کنید زمانی هست که برنامه شروع میشه تا زمانی که تموم میشه. این وسط به کررات سی‌پی‌یو به برنامه‌های دیگه‌ای که روی کامپیوتر شما درحال اجراست داده میشه تا اون‌ها هم اجرا بشوند. این زمان‌ها اجرا هم در زمانی که شما اندازه گیری می‌کنید به حساب میاد. شما باید تعداد سیکل‌های cpu‌ که صرف برنامه‌ی شما میشه رو اندازه گیری کنید و نه تعداد تمام سیکل‌هایی که cpu از زمان شروع برنامه‌ی شما تا زمان پایانش صرف می‌کنه. برای این کار باید از یک پروفایلر استفاده کنید نه از دستور clock().
    ممنون دوست عزیز از راهنماییتان لطفا میشه کدی را که باید بنویسم بهم بدین خیلی وقتم کمه

  5. #5

    نقل قول: زمان اجرا

    نقل قول نوشته شده توسط mg1ddd مشاهده تاپیک
    ممنون دوست عزیز از راهنماییتان لطفا میشه کدی را که باید بنویسم بهم بدین خیلی وقتم کمه
    دوست عزیز شما که تا اینجا راهنمایی کردی لطفا بگو دقیقا باید چکار کنم تا زمان دقیق اجرای برنامه را بدست آورم پروفایل چیست ؟ خدا خیرت دهد

  6. #6

    نقل قول: زمان اجرا

    کسی جواب ما را نداد چطور میشه در C++‎ زمان اجرای برنامه را بطور خالص و بدون دخالت پردازشهای دیگر اندازه گیری کرد؟

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

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