Re: NYI bytecode and some questions

  • From: Mike Pall <mike-1306@xxxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Thu, 20 Jun 2013 23:23:25 +0200

John Abrahamsen wrote:
> I get this output:

iostream.lua:426  allocate buffers statically outside of function
iostream.lua:368  unpack() does not do what you intended here
iostream.lua:180  redesign api, drop all those expensive {...}
iostream.lua:249
iostream.lua:260
ioloop.lua:77
ioloop.lua:130
httputil.lua:202  declare function outside
httputil.lua:405  allocate struct statically outside of function
httputil.lua:454  replace os.time() with FFI C call
httputil.lua:456  avoid pairs()
log.lua:101       replace os.date() with FFI C call
deque.lua:137     ffi.string() never returns nil (checked in lots of places)
deque.lua         very inefficient as a buffer replacement

Pattern matches are NYI (yet).
coroutine.* is NYI, no workaround.

In general: too many temporaries allocated, too many strings where
buffers or offset/length pairs could be used, unneeded struct to
table conversions (epoll). Layering could be improved. Strange mix
of if's with/without parentheses (without is typical for Lua code).

--Mike

Other related posts: