문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Lua (문단 편집) === [[http://luajit.org/|LuaJIT]] === Lua의 [[JIT]] [[컴파일러]]며, 여타 프로그래밍 언어의 JIT보다 더 우수한 성능을 보여준다. 주로 [[JavaScript|V8]]와 비교되는데, 자료구조 성능을 제외하면 전반적으로 Lua 쪽이 성능이 더 좋다. [[Python]], [[Ruby]]와 비교해도 수십배 정도가 더 빠르다. [[JavaScript]]와 Lua는 문법과 패러다임이 90% 이상 비슷한 사촌언어격이지만 JIT 성능의 구현 측면에 있어서는 JavaScript가 가진 문법 일부가 성능 향상에 약점으로 작용한다고 한다. 참조 또한 메모리 사용량에 있어서 LuaJIT이 더 나은 최적화를 보여주고 있다. 따라서 [[Node.js]]를 LuaJIT 기반으로 다시 작성한 Luvit이라는 프로젝트가 활성화되었다. 홈페이지에 따르면 인터프리터를 손수 [[어셈블리어]]로 작성했으며, 이미 상당한 수준의 최적화가 되어있다고 한다. [[Python]]의 JIT 컴파일러인 [[PyPy]]가 자기 자신으로 JIT을 구현하는 것과 대조되는 부분. Lua가 그나마 단순한 언어라 이런 일이 되는 듯하다. 또한, 안 그래도 손쉬운 [[C언어]]와의 인터페이스 작업은 LuaJIT의 FFI(Foreign Function Interface)를 이용하면 [[로우 레벨#s-3|Low-Level]] C언어 함수들을 별다른 작업 없이 직접적으로 사용할 수 있다. 이 FFI 방식으로 인해 스크립트 - 네이티브 코드 간 호출규약을 맞추기 위한 별도의 작업이 사실상 필요가 없어지고, C 자료형을 직접 사용할 수 있게 되며 호출 성능은 네이티브에 견줄만큼 빨라지기 때문에, 일단 JIT을 사용하게 되면 기존 Lua 바인딩 코드를 사용할 일이 극히 적어진다. 이 FFI 방식은 이후 [[Python]]의 CFFI 라이브러리에 많은 영감을 주었다([[Node.js]]의 node-ffi도 상당한 영향을 받은 것으로 추정된다). 네이티브에 견줄만큼 속도가 빠르고, 메모리 사용량이 매우 적기 때문에 최근 [[NGINX]]에 LuaJIT을 포함시켜서 커스터마이징을 한 OpenResty 웹 서버가 인기를 끌고 있다. CDN 서비스로 유명한 [[Cloudflare]]와 알렉사 Top 13 규모의 세계에서 가장 큰 C2C 상거래 서비스(지마켓/옥션을 생각하면 된다)인 [[타오바오]]에서 주-웹서버로 사용하고 있으며 두 회사의 개발자들이 OpenResty 개발을 주도하고 있다(단 [[Cloudflare]]의 CDN 서비스는 사실 [[NGINX]]에 LuaJIT으로 코드를 올려 커스터마이징한 서비스들이다. 그래서 타사와 달리 진정한 CDN 서비스가 아니라는 비평도 있다). 알파고로 유명한 [[구글 딥마인드]]가 알파고의 기반인 Q-Learning을 구현할 때 사용된 Torch 머신러닝 미들웨어도 LuaJIT으로 작성되어 있다(딥마인드 사의 구인공고는 그래서 [[C언어|C]]/[[C++]]와 Lua 스크립트가 필수역량으로 적혀있다).저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기