Home

Awesome

RuScript

Build

Tool-chain dependencies: Rust (nightly), Haskell (8.01)

  1. git submodule update to fetch rust-gc dev source
  2. runghc Test.hs to run unit tests

To build the rvm and rusc separately:

  1. rvm: cd rvm; cargo build
  2. rusc: cd rusc; stack build

Features

Design

Please refer to spec

TODOs

Performance Issue

The current performance revealed by benchmarking the sum.rus is very poor, taking as much as 100 times longer than a naïve Python implementation.

Currently, the source of latency can be contributed to three aspects:

  1. GC
  2. Interpreter
  3. Compiler

Actually, by increasing the instruction set, we can eliminate many "stupid" instruction sequence, such as POP then PUSH, which is equivalent to a write stack-top to local var without popping out.