Skip to content
This repository has been archived by the owner on Aug 23, 2024. It is now read-only.

Releases: zhuzilin/es

Some performance optimization

23 Aug 09:25
Compare
Choose a tag to compare
Pre-release
release total time/s  
0.1.0 13.8 8.6x
0.1.1 12.7 7.9x
quickjs 1.6 1x

Some performance optimizations

05 Aug 03:33
Compare
Choose a tag to compare
Pre-release

Mainly did some C++ optimizations to reduce copy.

The time required for typescript-test is finally under 10x of quickjs 🎉🎉🎉:

release total time/s
0.0.8 18.0 11x
0.1.0 13.8 8.6x
quickjs 1.6 1x

Some more performance optimizations

03 Nov 14:57
Compare
Choose a tag to compare
Pre-release

The performance improvement of typescript-test:

release total time/s
0.0.7 19.9 13x
0.0.8 18.0 11x
quickjs 1.6 1x

Some performance and memory optimizations

02 Nov 04:54
Compare
Choose a tag to compare

Successfully reduce the heap size from 4GB to 1GB. The performance improvement of typescript-test:

release total time/s
0.0.6 30.5 19x
0.0.7 19.9 13x
quickjs 1.6 1x

Some performance optimizations

29 Oct 14:41
Compare
Choose a tag to compare
Pre-release
release total time/s
0.0.5 39.0 24x
0.0.6 30.5 19x
quickjs 1.6 1x

Note: I changed a laptop, so we could not compare the time for the typescript test (gist is here) between each release note.

Pass most of test262 and some optimization

19 Feb 12:33
Compare
Choose a tag to compare

This release fixed many bug to pass most tests in ch06-ch14 of test262 (branch es5-test) and also did some optimization. The current performance of the typescript test is:

release total time/s gc time/s
0.0.4 146.3 20.0
0.0.5 86.3 11.1

Add Backup Mark and Sweep GC

07 Feb 04:35
Compare
Choose a tag to compare
Pre-release

Adds a mark and sweep garbage collection to prepare for the generational gc. Also fix the memory leak. Currently, for the typescript compiler benchmark, the speed of two gc are (heap size is 4GB):

gc type total time/s gc time/s
copying 146.3 20.0
mark & sweep 158.3 18.5

Copying Garbage Collection

30 Jan 16:55
Compare
Choose a tag to compare
Pre-release

This release adds a very raw copying garbage collection. I learned a lot from the handle mechanism in V8. Also due to moving gc, es went through a major refactor, e.g. many methods become global functions to prevent the this pointer changes.

The performance of the raw gc is evaluated on a small benchmark (a subset of the typescript benchmark):

version 0.0.3 0.0.2
memory/GB 2.3 7.4
time/s 74.4 42.0

Initial 🎉

21 Jan 10:08
Compare
Choose a tag to compare
Initial 🎉 Pre-release
Pre-release

The current es could pass the TypeScript test in Octance, where we need to run the a TypeScript transpiler to transpile the origin transpiler written in TypeScript into ES5 code.

                                        TypeScript transpiler in ES5
TypeScript transpiler in TypeScript -----------------------------------> TypeScript transpiler in ES5