Pytanie
6 m
43
Witam wszytkich szanownych użytkowników - od jakiegoś zachodzę w głowę jak to możliwe, że java jest szybsza od assemblera - brzmi irracjonalnie, ale już tłumaczę o co chodzi. Pytanie do wyjadaczy programowania
Zaimplementowałem sortowanie bąbelowe w javie i assemblerze (linux) na tablicy 10000 elementów posortowanych malejący (wariant najgorszy dla bubble sorta) i zmierzyłem czas w jakim tablica będzie posortowana w javie i assemblerze - sam proces sortowania.
Zaimplementowałem sortowanie bąbelowe w javie i assemblerze (linux) na tablicy 10000 elementów posortowanych malejący (wariant najgorszy dla bubble sorta) i zmierzyłem czas w jakim tablica będzie posortowana w javie i assemblerze - sam proces sortowania.
Kod źródłowy assembler: https://raw.githubusercontent.com/HatimHibrahim/bubblesort_speedtest/refs/heads/main/asm/main.asm
Kod źródłowy java: https://raw.githubusercontent.com/HatimHibrahim/bubblesort_speedtest/refs/heads/main/java/main.java
kompilacja i uruchomienie:
- assembler (x86_64, linux)
> fasm main.asm main
> ./main
- java:
> javac main.java
> java main
Szukałem w internecie - co może być przyczyną, pytałem AI - ale odpowiedź nie jest dla mnie zadowalająca - kompilator javy stosuje optymalizacje kodu.
Sprawdziłem to - zdekompilowałem plik main.class - było ok - mniej-więcej jak w kodzie źródłowym, żadnych optimalizacji w stylu posortowania tablicy i wypisania wyniku.
Czy są jakieś rozsądne wyjaśnienia tego?
Kod źródłowy java: https://raw.githubusercontent.com/HatimHibrahim/bubblesort_speedtest/refs/heads/main/java/main.java
kompilacja i uruchomienie:
- assembler (x86_64, linux)
> fasm main.asm main
> ./main
- java:
> javac main.java
> java main
Szukałem w internecie - co może być przyczyną, pytałem AI - ale odpowiedź nie jest dla mnie zadowalająca - kompilator javy stosuje optymalizacje kodu.
Sprawdziłem to - zdekompilowałem plik main.class - było ok - mniej-więcej jak w kodzie źródłowym, żadnych optimalizacji w stylu posortowania tablicy i wypisania wyniku.
Czy są jakieś rozsądne wyjaśnienia tego?