1、?LuaView&?+L(aVi&w的前世今生+L(aVi&w?&?+L(aVi&w?+L(aVi&w?H5?vs Native?Native?H5?HybridBoxsysWeAppRNWeexLuaView?LuaView?H5BoxsysLuaView?/?LuaView?SDK?Hybrid?Boxsys?-React Native?LuaView?500kPage?ViewUI?Kit?Component LuaView?LuaView?&?LuaView?LuaView?LuaView?&?AndLua iOS1.WORB2.Simple&EasyBridge AllAPI S&E
2、?Lua?Lua?UI?NativeLua ScriptLuaViewUI LibsExtendsNUI LibsUser LibsCall LuaCall NativeLuaView?-ICall NativeLuaView?-IIlocal btn=Button()btn:text(“Test Button”)btn:onClick(function()end)function return userdatacall userdatas function?call native function)Call Luasave lua function&call lua functionuser
3、data nativeOSFrameworkLua ScriptLua EngineUndumperVM ExtenderScript ManagerResource FinderScript LoaderBundle UnpackerScript UnzipperSecurityBundle VerifyScript VerifyLuaView UI LibViewImageCollection ViewLabelButtonAnimationLuaView NUI LibHttpMTOPAudioPlayerBitmapFileSystemLuaView ConstantsAlignGra
4、vityInterpolatorFontStyleScaleTypeViewEffectLuaLibFWBIZUTLuaViewSDK?Config&Pkg ServerPackage ToolBytecode ToolBiz ServerConfig ServerBiz Data ServerPKG ServerLuaViewAndroidiOSDev ToolsTheraAndroidStudioDebug ToolsLuaView?&?LuaView SDK?SDK?And:500kiOS:650k?52+?48+?0.9995SDK?0.0005?10%?1.3?/?10000?And
5、?:?1.2s?90%2s?60%1sAnd?:?1s?90%1.7s?68%1siOS:?0.65s?90%1.5s LuaView?LuaView?&?LuaView?LuaView?VM?VM?Lua VM?VM?Lua VM?LuaView?VM?Bytecode?Prototype?HTTP2?ACCS?HTTP2?ACCS Simplify?VM?VM?VM LazyLoad Metatable?VM?simplifyVM?Lib?VM?Metatable?IO?LuaJIT?VM?VM?300%+?3?+?138%+?1.3?+?2000%+?20?+?130%+?1.3?+?2
6、00%+?2?+?15000?day1-beforeday2-beforeday3-beforeday1-afterday2-afterday3-after?634.84629.49556.16537.06457.49443.15?323.37377.68200.2138.7240.1870.91?&?1008.951029.031473.49726.88675.64707.02?1263.751282.281005.4251.8154.9044.47?447.64449.44380.18334.26259.12291.35?3678.553767.923615.461688.731487.3
7、31556.900?035070010501400?004000?LuaJ?LuaJIT?Lua 5.1.4 LuaJ 3.0(intercept)LuaJ 3.0LuaJIT 2.0.0(intercept)LuaJIT 2.0.0binarytrees(15)11.375.922.503.20fannkuch(10)10.693.162.7719.89nbody(1E+06)10.410.912.5813.97nsieve(9)10.360.492.478.27?10.712.622.5811.3305101520binarytreesfannk
8、uchnbodynsieve?LuaJIT2.0&LuaJ3.0?3.63?4.32?LuaJIT VS LuaJJavaLibs(Java)VM LuaLuaViewLuaJ?LuaJ to LuaJIT+JNIJavaLuaViewNDK(C/C+)LuaLuaView-JNI(Java)LuaView-JNI(C/C+)LuaJITLibs(Java)Libs(C/C+VM Ja)aC/C+/Ja)aLuaJIT?&JNI Tipslocal reference table overflow(max=512)?Local Reference?&?Local Reference?globa
9、l reference table overflow(max=51200)NewGlobalReference?jlong?Java?Map?Lua GC _gc?Java?luaL_unref()?lua?Tips FindClass?GetMethodId?Java/C/C+?VM?1000%+?10?+?135%+?1.35?+?300%+?3?+?240%+?2.4?+?LuaJ-case1LuaJ-case2LuaJ-case3LuaJIT-case1LuaJIT-case2LuaJIT-case3?1010?423758292726?364444121311?30?03060?02550?0200400?LuaView?LuaView?&?LuaView?LuaView?SDK:?:?IOT?:?JavaAndroidiOS68697053songtao.cstalibaba-