مقایسه سرعت زبانها و الگوریتم ها

برای اندازه گیری سرعت اجرای یک برنامه از چه معیار یا معیارهایی استفاده میکنن و برای مقایسه سرعت بین دوتا زبان از چه معیاری استفاده میکنند؟

1 Likes

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

2 Likes

میشه بیشتر توضیح بدید

خوب بهترش اینه که شما بگین هدفتون چیه از اندازه گیری سرعت و برنامه ای که می خواین سرعتش رو بسنجین چه کاری انجام می ده تا موردی صحبت کنیم.
البته سرعت شاید واژه درستی نباشه اینجا

1 Likes

مثلا ببینیم کدوم زبان سرعت اجرای بیشتری داره
مثلا میشه دوتا زبان الگوریتم (bubble sort)روی یک ورودی یکسان انجام بدن و بگیم زبانی که در مدت زمان کمتری این کارو انجام داده سریع تر هستن

1 Likes

شدنش می شه ولی خوب خیلی نمی شه نتایج رو برای کاربرد های دیگه هم تعمیم داد. یه سری زبان ها خوب تابلو هست که پرفرمنس متفاوتی دارن. مثلا شما روبی و C رو بخوای تست کنی مشخص هست که سی سریعتر هست بخواطر اینکه برنامه هاش به کد ماشین کامپایل می شن و اینکه gc نداره و … اما مثلا موردی که شما می گین در مورد زبان هایی که شبیه به هم و تو یه سطح هستند کاربرد داره.

در ضمن شاید شما دنبال این باشی که بخوای یه زبان رو برای پروژه ای انتخاب کنی. یه یادآوری کوچیک اینه که سرعت همیشه فاکتور رده n ام توی انتخاب زبان هست اولویت ها اصلی نباید بر مبنای سرعت باشه

7 Likes

برای مقایسه سرعت دو تا کد زبان ها ابزاری برای microbenchmark دارند که کد در شرایط مختلف تست میکنه

مثلن JMH در جاوا

7 Likes

همونطور که دوستان گفتند روش های مختلفی برای بنچمارک کردن وجود داره، یک قسمتی توی سایت دبین هست به نام‌ Benchmarks Game که زبان های برنامه نویسی رو با روش های مختلف بنچمارک زده و مقایسه کرده، میتونی اطلاعات خوبی از اونجا بدست بیاری.
هر متد یک‌توضیح کوتاه هم در صفحه مخصوص خودش داره که خب حتما میتونی هر روشی رو گوگل بکنی و بیشترشون توی ویکیپدیا هم وجود دارند.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/

4 Likes

تو این لینک سایت دبینی که فرستادین وضع php خیلی بهتر از ruby و پایتونه .
روبی در کل از همه زبان ها کند تر بود :thinking:

توی همه بنچمارک ها زبانایی مثل ارلنگ و کلوژر اعداد فاجعه ای رو نشون میده
قابل استناد نیست کلا بنچ مارکا بخصوص این بنچمارک که کلی یه عددی نوشته هیچ شرایطی براش نگرفته

1 Likes

چرا پایتون رو با نود جی اس مقایسه کرده بودن مگه نود جی اس زبانه؟

1 Likes

چون js انجین های مختلف داره که عملکردشون فرق میکنه

1 Likes

بیشتر هدفم متد های بنچمارک زدن بود، اگر فکر میکنی نتیجه ها درست نیست کد ها رو گذاشته میتونی خودت تست کنی و به ما هم بگی. امیدوارم کد ها درست باشه :slightly_smiling_face:

ممکنه ورژن های قدیمی روبی باشه که اشکالات پرفرمنس داشتند