lulz

Crates.iolulz
lib.rslulz
version0.1.1
sourcesrc
created_at2021-11-18 02:19:51.769917
updated_at2021-11-18 02:20:47.505036
descriptionA fast and spec-compliant LOLCODE implementation
homepage
repositoryhttps://github.com/MonliH/lulz
max_upload_size
id483768
size156,691
Jonathan Li (MonliH)

documentation

README

lulz

Crates.io

lulz is a LOLCODE implementation written in rust. It is much faster than lci because it embeds Lua as a JIT-compiler backend.

also, it...

  • won't give you random segfaults like lci does a lot
  • tries very hard to conform to the LOLCODE spec, with some additional (backwards compatible) features
  • has beautiful and informative rust/clang-like-errors

this implementation is still a work in progress, and some tests still don't pass yet.

running

cargo install lulz
lulz --help

build from source

git clone https://github.com/MonliH/lulz.git
cd lulz
cargo run --release

how fast??

In a simple recursive fibonacci benchmark, it performs about 220x faster than lci, and 13x faster than CPython:

Benchmark results

I will add more benchmarks soon. Note: The startup times of each implementation is included in the timings. Benchmarks performed on a AMD Ryzen 7 5700U.

To run the benchmarks yourself:

# Install dependencies:
pip install matplotlib numpy tqdm
cargo install hyperfine
# Show help menu:
python run_perfs.py --help

run tests

python run_tests.py
Commit count: 57

cargo fmt