Skip to content

Izem is a blazing fast JavaScript and TypeScript runtime built with Nim 2 and JavaScriptCore

License

Notifications You must be signed in to change notification settings

AtilMohAmine/izem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Izem

Izem is a blazing fast JavaScript and TypeScript runtime built with Nim 2 and JavaScriptCore. It is designed for exceptional performance and efficiency, capable of handling up to 100,000 requests per second.

Benchmark

The benchmark tests were run on a system with the following specifications:

  • Operating System: Linux (Ubuntu)
  • Processor: Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz
  • Memory: 8GB RAM

Below is the benchmark bar chart showing the performance of the system during the tests:

Getting Started

Installation:

Clone the repository, install the required dependencies, and build the runtime:

git clone https://github.com/atilmohamine/izem.git
cd izem
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev  # Required for JavaScriptCore
make deps
make

Usage:

Once built, you can run JavaScript files using:

./izem yourfile.js

Starting a Server

You can start a simple server using the izem.serve method. Below is an example of how to initialize the server:

izem.serve(4006, (req) => {
    return "Welcome to the Izem Server";
});

WinterCG Compliance and Available APIs

Izem is designed to adhere to the WinterCG standards, ensuring compatibility with modern web platform capabilities and a consistent developer experience.

Currently Available APIs

The following APIs are currently implemented in Izem:

  • console
  • setTimeout() / clearTimeout()
  • setInterval() / clearInterval()
  • URL
  • URLSearchParams
  • WritableStream
  • WritableStreamDefaultWriter

About

Izem is a blazing fast JavaScript and TypeScript runtime built with Nim 2 and JavaScriptCore

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published