Comments (4)
I actually haven't done any real performance benchmarking yet. I think the numbers you got are pretty reasonable for a starting point. I made a couple optimizations in terms of lazy loading information but I think there's still a lot of room for improvement.
from lapis.
I'm not very familiar with Openresty (still learning), but wouldn't using nginx for routing speed things up?
Have lapis server
load web.lua, with a dummy lapis.serve
method, that extracts the paths, and writes them in nginx.conf.compiled
. Something like
location /foo {
default_type text/html;
content_by_lua "handlers['foo'](uri_parser['foo'](uri))";
}
You'd load Lapis with init_by_lua_file
, to register the handlers.
from lapis.
Hi, I saw you mentioned the TechEmpower framework benchmark on lapis' homepage, but I haven't seen any of it done with lapis, only with OpenResty.
So I just wrote the first three test. It's doing quite well, I get a few thousand req/s for the first two and about 200-1300 for the third on my rather slow dev machine. (Nevertheless, OpenResty is easily 3x as fast for the "hello world" JSON benchmark, since it seems to have far less overhead.)
You can find the code here. Fork it if you'd like to extend or fix it; it's essentially your code anyway. :)
I'd be happy to see lapis in the next round of framework benchmarks, especially if it also had implementations for the other ORM tests.
from lapis.
Closing old discussion
from lapis.
Related Issues (20)
- Documentation HOT 1
- Warning: No Lua interpreter detected for version 5.4. Not creating ./lua.bat HOT 1
- Can I use "content" in etlua? HOT 1
- Missing deps HOT 3
- Error include module for lapis version 1.9.1 HOT 1
- Intermittent "405 Method Not Allowed" HOT 2
- version 1.11.0 route get/post bug? HOT 2
- CORS for localhost frontend? HOT 8
- Fully qualified calls to HTML generation functions HOT 3
- Postgresql how to add default value current_date HOT 1
- luarocks install lapis did not see installed openssl HOT 4
- route name cannot be one of the paths HOT 2
- Specifying backend=pgmoon now required? HOT 1
- Value not available in sub-sub-template if render(..., {value = ...}) used in the template
- Default Route - Open Redirect HOT 1
- Module Migrations not found HOT 1
- Error when trying to start server HOT 3
- display "listening on ..." on startup HOT 2
- Loading static files like css with cqueues server HOT 2
- Database type could not be determined from configuration (postgres, mysql, sqlite)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lapis.