03.04.2012, 00:00 Uhr
Julia schlägt Python, Matlab, Octave und R
Die wissenschaftliche Programmiersprache Julia ist deutlich performanter und dabei leichter zu lesen als die Konkurrenz.
Julia ist eine leistungsfähige wissenschaftliche Programmiersprache, die es der Konkurrenz derzeit schwer macht. Entwickelt wurde Julia als Open-Source-Projekt, das laut Entwicklerangaben die Geschwindigkeit von C mit der Dynamik von Ruby vereint. Die Sprache soll außerdem so universell anwendbar wie Python, so einfach für Statistiken wie R, so natürlich für die String-Verarbeitung wie Perl und so mächtig für lineare Algebra wie Matlab ist. Zusätzlich soll sie einfach zu erlernen sein und dabei höchsten Ansprüchen genügen.
Tatsächlich scheint Julia auf einem guten Weg zu sein, all diese Ziele zu erreichen: In diversen Benchmark-Tests konnte Julia die Konkurrenz (Python, Matlab, R und Octave) in den meisten Fällen problemlos abhängen. Für die Berechnung von Fibonacci-Zahlen beispielsweise ist der Julia-Code nicht nur deutlich kürzer und leichter zu lesen als der R-Code, sondern brauchte für die 25. Zahl auch nur 8 Millisekunden, während die Berechnung unter R knapp 4000 Millisekunden dauerte; Julia war hier also gut 500 mal schneller.
fib(n) = n < 2 ? n : fib(n - 1) + fib(n - 2)
@elapsed fib(25)
@elapsed fib(25)
Die Berechnung mit Julia…
fib <- function(n)
{
ifelse(n < 2, n, fib(n - 1) + fib(n - 2))
}
start <- Sys.time()
fib(25)
end <- Sys.time()
end - start
{
ifelse(n < 2, n, fib(n - 1) + fib(n - 2))
}
start <- Sys.time()
fib(25)
end <- Sys.time()
end - start
… und mit R.
Auf der Projektwebsite finden sich weitere Beispiele sowie die Dokumentation und ein Blog zum Thema. Der Quellcode ist kostenlos via GitHub erhältlich.