Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.9 changelog #528

Merged
merged 4 commits into from
Jul 2, 2020
Merged

v0.9 changelog #528

merged 4 commits into from
Jul 2, 2020

Conversation

jasonwilliams
Copy link
Member

No description provided.

@jasonwilliams jasonwilliams modified the milestone: v0.9.0 Jun 25, 2020
@codecov
Copy link

codecov bot commented Jun 25, 2020

Codecov Report

Merging #528 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #528   +/-   ##
=======================================
  Coverage   68.10%   68.10%           
=======================================
  Files         169      169           
  Lines        9942     9942           
=======================================
  Hits         6771     6771           
  Misses       3171     3171           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c4a652a...f09313f. Read the comment docs.

@jasonwilliams
Copy link
Member Author

@HalidOdat i wonder if we can get better before / after images now there's been more work done

@github-actions
Copy link

Benchmark for cb45135

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 659.3±124.89ns 530.6±24.40ns +24.26%
Array access (Execution) 13.1±0.59µs 13.2±0.63µs -0.76%
Array creation (Execution) 3.4±0.11ms 3.4±0.10ms 0.00%
Array pop (Execution) 1247.0±43.60µs 1274.9±101.00µs -2.19%
Boolean Object Access (Execution) 5.2±0.24µs 5.0±0.23µs +4.00%
Create Realm 127.2±5.37µs 132.1±15.42µs -3.71%
Dynamic Object Property Access (Execution) 6.9±0.27µs 6.9±0.40µs 0.00%
Expression (Lexer) 2.2±0.33µs 1978.4±119.85ns +11.20%
Expression (Parser) 4.6±0.24µs 4.7±0.50µs -2.13%
Fibonacci (Execution) 992.0±44.41µs 1036.5±78.35µs -4.29%
For loop (Execution) 22.4±1.02µs 21.9±0.79µs +2.28%
For loop (Lexer) 5.0±0.23µs 4.8±0.15µs +4.17%
For loop (Parser) 13.1±0.62µs 13.0±0.71µs +0.77%
Hello World (Lexer) 897.9±43.69ns 892.2±43.77ns +0.64%
Hello World (Parser) 2.1±0.09µs 2.1±0.11µs 0.00%
Long file (Parser) 5.9±0.18ms 5.9±0.19ms 0.00%
Number Object Access (Execution) 4.1±0.26µs 4.0±0.17µs +2.50%
Object Creation (Execution) 6.1±0.28µs 6.1±0.46µs 0.00%
RegExp (Execution) 73.3±3.15µs 72.6±2.80µs +0.96%
RegExp Literal (Execution) 79.0±4.88µs 79.4±4.85µs -0.50%
RegExp Literal Creation (Execution) 74.7±4.24µs 72.8±4.17µs +2.61%
Static Object Property Access (Execution) 6.1±0.24µs 6.3±0.34µs -3.17%
String Object Access (Execution) 9.8±1.01µs 8.4±0.35µs +16.67%
String comparison (Execution) 6.6±0.29µs 6.6±0.26µs 0.00%
String concatenation (Execution) 5.6±0.27µs 5.6±0.29µs 0.00%
String copy (Execution) 4.6±0.26µs 4.6±0.30µs 0.00%
Symbols (Execution) 4.0±0.24µs 4.2±0.14µs -4.76%

@github-actions
Copy link

Benchmark for 5b342c4

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 614.5±38.81ns 598.0±31.69ns +2.76%
Array access (Execution) 14.1±0.50µs 14.6±0.97µs -3.42%
Array creation (Execution) 3.8±0.15ms 3.8±0.17ms 0.00%
Array pop (Execution) 1463.3±97.98µs 1426.2±96.20µs +2.60%
Boolean Object Access (Execution) 6.1±0.47µs 5.6±0.31µs +8.93%
Create Realm 142.4±7.53µs 149.7±13.38µs -4.88%
Dynamic Object Property Access (Execution) 7.5±0.38µs 7.7±0.47µs -2.60%
Expression (Lexer) 2.2±0.14µs 2.2±0.13µs 0.00%
Expression (Parser) 5.4±0.35µs 5.2±0.33µs +3.85%
Fibonacci (Execution) 1109.5±41.52µs 1135.0±62.18µs -2.25%
For loop (Execution) 24.8±1.32µs 25.0±1.47µs -0.80%
For loop (Lexer) 5.6±0.29µs 5.6±0.35µs 0.00%
For loop (Parser) 14.8±0.90µs 14.5±0.77µs +2.07%
Hello World (Lexer) 1004.2±46.68ns 996.5±55.09ns +0.77%
Hello World (Parser) 2.5±0.17µs 2.4±0.15µs +4.17%
Long file (Parser) 6.7±0.22ms 6.8±0.26ms -1.47%
Number Object Access (Execution) 4.5±0.25µs 4.4±0.28µs +2.27%
Object Creation (Execution) 6.7±0.40µs 7.0±0.55µs -4.29%
RegExp (Execution) 82.3±4.86µs 81.4±4.50µs +1.11%
RegExp Literal (Execution) 87.0±4.09µs 87.3±5.96µs -0.34%
RegExp Literal Creation (Execution) 82.2±4.72µs 81.9±4.93µs +0.37%
Static Object Property Access (Execution) 7.1±0.49µs 7.0±0.49µs +1.43%
String Object Access (Execution) 9.7±0.61µs 9.7±0.97µs 0.00%
String comparison (Execution) 7.5±0.51µs 7.4±0.38µs +1.35%
String concatenation (Execution) 6.2±0.36µs 6.5±0.37µs -4.62%
String copy (Execution) 5.2±0.60µs 5.2±0.47µs 0.00%
Symbols (Execution) 4.4±0.27µs 4.4±0.31µs 0.00%

@github-actions
Copy link

Benchmark for 0284efa

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 560.8±52.73ns 574.4±50.25ns -2.37%
Array access (Execution) 13.4±0.40µs 13.6±0.48µs -1.47%
Array creation (Execution) 3.9±0.13ms 3.7±0.16ms +5.41%
Array pop (Execution) 1441.7±53.69µs 1360.2±77.61µs +5.99%
Boolean Object Access (Execution) 5.0±0.27µs 5.4±0.76µs -7.41%
Create Realm 134.2±9.07µs 138.0±6.10µs -2.75%
Dynamic Object Property Access (Execution) 7.0±0.42µs 6.6±0.27µs +6.06%
Expression (Lexer) 2.1±0.20µs 2.0±0.13µs +5.00%
Expression (Parser) 5.0±0.29µs 5.0±0.17µs 0.00%
Fibonacci (Execution) 964.5±57.76µs 957.1±35.90µs +0.77%
For loop (Execution) 22.8±0.93µs 23.2±0.92µs -1.72%
For loop (Lexer) 5.1±0.25µs 5.2±0.19µs -1.92%
For loop (Parser) 13.7±0.60µs 13.6±0.57µs +0.74%
Hello World (Lexer) 907.5±32.02ns 909.7±42.44ns -0.24%
Hello World (Parser) 2.3±0.18µs 2.2±0.10µs +4.55%
Long file (Parser) 6.0±0.24ms 6.0±0.22ms 0.00%
Number Object Access (Execution) 4.0±0.37µs 4.0±0.25µs 0.00%
Object Creation (Execution) 6.1±0.45µs 5.7±0.26µs +7.02%
RegExp (Execution) 68.7±2.98µs 68.8±3.28µs -0.15%
RegExp Literal (Execution) 73.5±4.83µs 71.6±3.74µs +2.65%
RegExp Literal Creation (Execution) 69.1±3.04µs 68.2±3.52µs +1.32%
Static Object Property Access (Execution) 6.2±0.19µs 6.0±0.31µs +3.33%
String Object Access (Execution) 8.4±0.61µs 8.8±0.49µs -4.55%
String comparison (Execution) 6.3±0.33µs 6.5±0.32µs -3.08%
String concatenation (Execution) 5.6±0.25µs 5.6±0.29µs 0.00%
String copy (Execution) 4.3±0.40µs 4.2±0.22µs +2.38%
Symbols (Execution) 4.0±0.28µs 4.0±0.19µs 0.00%

@jasonwilliams
Copy link
Member Author

We could add a blog repo to this organisation, and clone https://github.com/rust-community/rust-lang-blog-boilerplate

@HalidOdat
Copy link
Member

@HalidOdat i wonder if we can get better before / after images now there's been more work done

Made a simple bash script for generating the profiles with specified branches/commits, I can go as back as the time mesureme was introduced to boa and as forward as master HEAD. Is there a specific range you want me to profile?

@HalidOdat HalidOdat added the documentation update documentation label Jun 25, 2020
@HalidOdat
Copy link
Member

Did a before and after from commit 32b0741c to master HEAD
32b0741c: (when #317 was merged, 58ms)

32b0741c

and master HEAD (15ms):
master

@HalidOdat
Copy link
Member

Did a benchmark of Realm creation and its a ~70% improvement :)

@HalidOdat
Copy link
Member

HalidOdat commented Jun 25, 2020

Maybe we should have a section for Internal improvements rather than everything being a feature, for example #465 does not add a new feature for the user to use, it is only an optimization.

What do you think? @jasonwilliams @Razican

@pedropaulosuzuki
Copy link
Contributor

Could #525 be packed into v0.9? Would be pretty nice to have feature-complete Math object in the new release, since we got bigint in the last v0.8 release, and from the PR it seems to be ready/close to ready.

Maybe we should have a section for Internal improvements rather than everything being a feature, for example #465 does not add a new feature for the user to use, it is only an optimization.

I think this makes a lot of sense, so that users can find what's new with ease and also see what's new on the internals of Boa, and what has been done to make it so much faster on each update.

Did a benchmark of Realm creation and its a ~70% improvement :)

That's amazing!!

@HalidOdat
Copy link
Member

Could #525 be packed into v0.9? Would be pretty nice to have feature-complete Math object in the new release, since we got bigint in the last v0.8 release, and from the PR it seems to be ready/close to ready.

Sure! I don't see a reason why it shouldn't go in v0.9 :)

@jasonwilliams
Copy link
Member Author

I’m hoping to set up a blog so we can move a lot of content over to there, then I can update the change log

@jasonwilliams
Copy link
Member Author

we're now up and running on https://boa-dev.github.io so we just need to write up the content

@Razican Razican added this to the v0.9.0 milestone Jun 28, 2020
@jasonwilliams
Copy link
Member Author

internel improvements have been added

@github-actions
Copy link

Benchmark for 7fe9b6c

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 477.7±22.03ns 479.4±37.62ns -0.35%
Array access (Execution) 11.8±0.53µs 10.9±0.66µs +8.26%
Array creation (Execution) 3.2±0.11ms 3.1±0.12ms +3.23%
Array pop (Execution) 1220.3±57.73µs 1134.8±54.98µs +7.53%
Boolean Object Access (Execution) 4.5±0.21µs 4.4±0.22µs +2.27%
Create Realm 113.5±5.42µs 115.3±5.54µs -1.56%
Dynamic Object Property Access (Execution) 5.9±0.24µs 5.5±0.24µs +7.27%
Expression (Lexer) 1713.2±67.75ns 1731.1±80.87ns -1.03%
Expression (Parser) 4.2±0.21µs 4.2±0.16µs 0.00%
Fibonacci (Execution) 839.5±24.00µs 790.7±37.23µs +6.17%
For loop (Execution) 19.8±0.70µs 18.0±0.92µs +10.00%
For loop (Lexer) 4.5±0.20µs 4.3±0.16µs +4.65%
For loop (Parser) 11.4±0.42µs 11.4±0.49µs 0.00%
Hello World (Lexer) 778.6±36.95ns 778.0±43.37ns +0.08%
Hello World (Parser) 1882.3±90.58ns 1822.3±67.37ns +3.29%
Long file (Parser) 5.1±0.18ms 5.1±0.14ms 0.00%
Number Object Access (Execution) 3.5±0.24µs 3.5±0.16µs 0.00%
Object Creation (Execution) 5.2±0.19µs 4.8±0.23µs +8.33%
RegExp (Execution) 59.2±2.22µs 56.3±2.72µs +5.15%
RegExp Literal (Execution) 62.7±2.97µs 59.4±3.00µs +5.56%
RegExp Literal Creation (Execution) 59.7±2.72µs 56.3±2.72µs +6.04%
Static Object Property Access (Execution) 5.4±0.33µs 5.1±0.24µs +5.88%
String Object Access (Execution) 7.3±0.25µs 7.4±0.27µs -1.35%
String comparison (Execution) 5.8±0.20µs 5.8±0.22µs 0.00%
String concatenation (Execution) 4.9±0.21µs 5.0±0.28µs -2.00%
String copy (Execution) 3.8±0.23µs 3.9±0.18µs -2.56%
Symbols (Execution) 3.5±0.26µs 3.4±0.14µs +2.94%

@jasonwilliams
Copy link
Member Author

I plan to release tomorrow, just need to finish blog post now

@jasonwilliams jasonwilliams merged commit 109efcb into master Jul 2, 2020
@HalidOdat HalidOdat deleted the changelog-0.9 branch July 9, 2020 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation update documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants