Julia (programazio-lengoaia) | |
---|---|
Jatorria | |
Sorrera-urtea | 2009 |
Argitaratze-data | 2012 |
Ezaugarriak | |
Programazio paradigma | Objektuetara bideratutako programazioa, Programazio funtzional, Programazio inperatibo, multi-paradigm programming (en) , array programming (en) , metaprogramming (en) , procedural programming (en) , konputazio paralelo eta Multiple dispatch (en) |
Media mota | text/julia |
Sistema eragilea | CSV, Hierarchical Data Format (en) , Office Open XML eta netCDF (en) |
Irakur dezake | Linux, Microsoft Windows eta macOS |
Deskribapena | |
Honen eragina jaso du | MATLAB, Python, Lisp, C, FORTRAN, NumPy (en) , Lua, R, Scheme (en) , Perl eta Ruby |
Ekoizpena | |
Diseinatzailea | Jeff Bezanson (en) , Alan Edelman (en) , Stefan Karpinski (en) eta Viral B. Shah (en) |
Garatzailea | Jeff Bezanson (en) , Stefan Karpinski (en) , Alan Edelman (en) eta Viral B. Shah (en) |
julialang.org | |
Julia konputazio teknikorako programazio-lengoaia bat da, goi-mailakoa, kode irekikoa, plataforma anitzekoa eta errendimendu handikoa. 2009an sortu eta 2012an plazaratu zuten MIT ospetsuan.[1][2]
Juliarekin C eta FORTRAN bezalako lengoaien pareko errendimendua lor daiteke LLVMn oinarritutako JIT konpiladoreari esker baina behe-mailako lengoaien zailtasunik gabe.
Julia script-lengoaien (interpretatuen) antzera modu interaktiboan exekuta daiteke baina baita ere, Julia programaren exekutagarria konpilatuz sor daiteke.
Julia datu-mota dinamikoak darabiltzan lengoaia da, funtzio edo metodoaren inplementazioa exekuzio-denboran bidaltzeko aukera eskaintzen du eta konputazio paralelorako diseinatuta dago.
Juliak pakete-kudeatzaile bat dauka.
Julia lengoaia, Python bezain erraza, C bezain azkarra dela esaten da.
Honako benchmark hau nukleo bakarreko Intel(R) Xeon(R) CPU E7-8850 2.00GHz CPU 1TB eta 1067MHz DDR3 RAM duen mikroprozesadore batean lortu da, Linuxen gainean martxan jarrita:[3]
For
tran |
Julia | Py
thon |
R | Mat
lab |
Octave | Mathe-
matica |
Java
Script |
Go | Lua
JIT |
Java | |
---|---|---|---|---|---|---|---|---|---|---|---|
fib | 0,70 | 2,11 | 77,76 | 533,52 | 26,89 | 9324,35 | 118,53 | 3,36 | 1,86 | 1,71 | 1,21 |
parse_int | 5,05 | 1,45 | 17,02 | 45,73 | 802,52 | 9581,44 | 15,02 | 6,06 | 1,20 | 5,77 | 3,35 |
quicksort | 1,31 | 1,15 | 32,89 | 264,54 | 4,92 | 1866,01 | 43,23 | 2,70 | 1,29 | 2,03 | 2,60 |
mandel | 0,81 | 0,79 | 15,32 | 53,16 | 7,58 | 451,81 | 5,13 | 0,66 | 1,11 | 0,67 | 1,35 |
pi_sum | 1,00 | 1,00 | 21,99 | 9,56 | 1,00 | 299,31 | 1,69 | 1,01 | 1,00 | 1,00 | 1,00 |
rand_
mat_stat |
1,45 | 1,66 | 17,93 | 14,56 | 14,52 | 30,93 | 5,95 | 2,30 | 2,96 | 3,27 | 3,92 |
rand_
mat_mul |
3,48 | 1,02 | 1,14 | 1,57 | 1,12 | 1,12 | 1,30 | 15,07 | 1,42 | 1,16 | 2,36 |
C lengoaian konpilatutako kodeari dagozkion emaitzak (faktorea=1). Zenbat eta txikiagoa izan zifra, orduan eta hobea da abiadura.