Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Ice Core
Ice Core is a high performance web server library written in Rust.
Install
Prebuilt binaries for Linux and macOS can be found in Releases.
To build from source, make sure you have the Rust toolchain installed, and then cargo build --release
.
To build with Cervus Engine enabled, LLVM 3.8 is required. Then, build with cervus
feature enabled: cargo build --release --features cervus
After you've got libice_core.so
or libice_core.dylib
built or downloaded, put it in the OS's default path for shared libraries. This is typically /usr/lib
for Linux and $HOME/lib
for macOS.
Performance
The Node.js web framework, Ice-node, built on Ice Core, is 70% faster than raw Node HTTP implementation.
The Python 3 bindings for Ice Core, named Ice-python (pyice_base), is at least 4x faster than other tested Python web frameworks, including Sanic, aiohttp, BaseHTTPServer and Flask.
For requests that hit the Cervus Engine before being dispatched to endpoints, the performance is even better, similar to Go net/http
.
Core Integration
Both Ice-node and pyice_base are based on ice-cpp, which wraps all core APIs into C++.
To begin with, it's suggested to read test.cpp, which implements a simple server.
If you want to use the core APIs directly instead of the C++ wrapper, imports.h contains exported C symbols and is available for use.
Development
- Ice-node is ready as a full-featured Web microframework.
- pyice_base needs further development for user-friendly abstractions.
It's easy to write bindings and frameworks for other languages, following the Core Integration section. Contributions are always welcome!