/ / Uderzenie wydajności za użycie konwersji TimeUnit w Javie - java, wydajność, timeunit

Osiągi wydajności związane z używaniem konwersji TimeUnit w Javie - java, performance, timeunit

Zastanawiałem się, czy jest jakaś poprawa wydajności (nawet jeśli jest minimalna) przy korzystaniu z konwersji TimeUnit. na przykład TimeUnit.MINUTES.toMillis (5) vs 300000

Jeśli jest to metoda, która zostanie wywołanaczęsto i musi uruchamiać toMillis za każdym razem, gdy ma to wpływ na wydajność? A może kompilator ustawia już raz przekonwertowaną wartość i nigdy więcej o niej nie ma mowy?

Odpowiedzi:

0 dla odpowiedzi № 1

Oto kod źródłowy TimeUnit (JDK 10): http://hg.openjdk.java.net/jdk10/jdk10/jdk/file/tip/src/java.base/share/classes/java/util/concurrent/TimeUnit.java

Nie mogę powiedzieć, co zrobi kompilator oprócz ciebiebyć może lepiej będzie samemu obliczać wartość, lub lepiej będzie obliczać i buforować wartość, lub lepiej utworzyć tabelę przeglądową przed czasem. Jak @ Turing85 trafnie zauważył w komentarzu do twojego pytania: „Trudno powiedzieć, co zrobi lub nie zrobi JIT”. A może tylko czasami ”.

Zamiast pytać o toMillis w oderwaniu od ciebie prawdopodobnie skorzystasz więcejodpowiedzi, jeśli opublikowałeś przykładowy kod, który nada kontekst twojemu pytaniu. Może istnieć lepszy sposób na rozwiązanie ogólnego problemu, więc nie musisz martwić się o tak mały szczegół, jak wydajność podczas konwersji minut na milisekundy.