Benchmark funkcji pobierajacych stałą i zmienną liczbę argumentów.

0

Cześć, mam na podyplomówce na zaliczonko napisać program, który będzie miał dwie implementacje: zawierające w jednym przypadku funkcje stało argumentowe, w drugim zmiennoargumentowe. To ma być prosty programik, może się opierać na jednej takiej funkcji dla każdego wariantu. Prócz tego, muszę jeszcze zbadać, które rozwiązanie jest szybsze, a w zasadzie, czy są jakieś różnice w szybkości.

Próbowałem to ogarnąć na zasadzie prostego addera: funkcja pobiera x liczb i dodaje je do siebie. Ale jest to zdaje się za mało skomplikowane rozwiązanie, ponieważ różnice w czasie (mierzone timeit) są nieznaczne i nie równe. Tzn. przy jednym odpaleniu zmienno-argumentowa będzie miała przewagę 0.003 sek, a przy innym, na takich samych parametrach przewagę nagle ma stałoargumentowa.

Próbowałem też analogiczny przykład z mnożeniem - to samo.

Może ktoś może mi podpowiedzieć, co mógłbym napisać, żeby taki test był rzetelniejszy?
W ogóle ma to sens w pythonie? Czy może posiada on jakieś mechanizmy, które wykluczają go jako dobry język do przeprowadzenia tego typu testu?

2

Podejrzewam, że Python nie różnicuje czasu stało i zmiennoargumentowych. MSZ każde wywołanie jest jakby zmiennoargumentowe (inaczej niż w językach kompilowanych)

0

O widzisz i tego nie przewidziałem ! :)
No dobrze, w takim razie spróbuje coś pokombinować w javie. Może ma ktoś jakiś pomysł jaka funkcja byłaby lepsza niz te które wymieniłem do sprawdzenia tego?

1 użytkowników online, w tym zalogowanych: 0, gości: 1