2011-01-13 16 views
9

Czy ktoś może podać dane pokazujące wydajność wyjścia kodu przez JIT Llvm, powiedzmy, w porównaniu do kompilacji statycznej z opcją -O3? Lepiej, aby takie wyniki zostały zilustrowane za pomocą testu porównawczego. Ludzie mówią, że kod wyjściowy JIT jest powolny. Jestem ciekawy, jak powolne.Wydajność JIT LLVM

+1

Czy ... próbowałeś? Chodzi mi o to, jak trudno jest pobrać [zestaw benchmarków] (http://www.netlib.org/benchmark/dhry-c) i skompilować go raz z GCC i raz z Clangiem, aby zobaczyć jaka może być różnica? –

+2

Samo wypróbowanie jest oczywiście opcją. Ale nie sądzę, aby ocena całego benchmarku była łatwa, szczególnie gdy nie jestem zaznajomiony z kompilacją jit z LVVM. Sądzę, że ktoś to zrobił i chciałbym poznać wynik. – dalibocai

+1

Pytasz o wydajność samego JIT * (np. Ile czasu zajmuje kompilacja just-in-time) lub wydajność wygenerowanego kodu? –

Odpowiedz

5

Daj ten prezentacji a read, obejmuje benchmarki JIT wygenerowany kod (dla JVM & .Net choć, niestety, większość odniesienia będzie dla istniejących języków z nowej JIT backend, takich jak Rubinius). Istnieje również kilka interesujących wykresów here.

Jako dodatkowy bonus, jest prezentacją na temat budowy wydajnego JIT z LLVM i Clang, który obejmuje wykorzystanie pamięci i testy szybkości procesu JITing, co może wpłynąć na szybkość i jakość generowanego kodu, jeśli zdecydujesz się na twórz własne testy porównawcze.

Jednak interesujące mogą być również this question.