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

Feature prelude module #1451

Merged
merged 1 commit into from Aug 15, 2021
Merged

Feature prelude module #1451

merged 1 commit into from Aug 15, 2021

Conversation

HalidOdat
Copy link
Member

This Pull Request fixes/closes #440.

@HalidOdat HalidOdat added enhancement New feature or request API labels Jul 31, 2021
@HalidOdat HalidOdat added this to the v0.13.0 milestone Jul 31, 2021
@github-actions
Copy link

github-actions bot commented Jul 31, 2021

Test262 conformance changes:

Test result master count PR count difference
Total 78,897 78,897 0
Passed 29,633 29,633 0
Ignored 15,612 15,612 0
Failed 33,652 33,652 0
Panics 2 2 0
Conformance 37.56% 37.56% 0.00%

@github-actions
Copy link

Benchmark for 09d93b6

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 265.2±3.63ns 265.2±3.86ns 0.00%
Arithmetic operations (Full) 281.4±4.00µs 288.2±7.75µs -2.36%
Array access (Execution) 5.9±0.06µs 5.8±0.08µs +1.72%
Array access (Full) 311.9±2.55µs 304.0±4.81µs +2.60%
Array creation (Execution) 2.5±0.02ms 2.5±0.03ms 0.00%
Array creation (Full) 3.0±0.03ms 2.9±0.06ms +3.45%
Array pop (Execution) 834.7±6.93µs 828.4±8.50µs +0.76%
Array pop (Full) 1364.3±13.75µs 1345.2±18.99µs +1.42%
Boolean Object Access (Execution) 5.4±0.05µs 5.3±0.06µs +1.89%
Boolean Object Access (Full) 301.1±3.59µs 299.2±4.25µs +0.64%
Clean js (Execution) 695.8±7.04µs 687.9±7.48µs +1.15%
Clean js (Full) 1046.0±11.93µs 1043.9±14.87µs +0.20%
Clean js (Parser) 34.5±0.40µs 34.7±0.42µs -0.58%
Create Realm 419.4±4.11ns 421.4±4.53ns -0.47%
Dynamic Object Property Access (Execution) 4.7±0.05µs 4.7±0.06µs 0.00%
Dynamic Object Property Access (Full) 301.5±3.42µs 303.4±4.90µs -0.63%
Expression (Parser) 6.1±0.12µs 6.1±0.09µs 0.00%
Fibonacci (Execution) 754.4±6.22µs 745.3±9.07µs +1.22%
Fibonacci (Full) 1089.0±8.80µs 1095.6±11.90µs -0.60%
For loop (Execution) 19.7±0.29µs 19.3±0.27µs +2.07%
For loop (Full) 314.0±7.59µs 315.0±3.55µs -0.32%
For loop (Parser) 16.6±0.24µs 16.7±0.29µs -0.60%
Goal Symbols (Parser) 12.2±0.15µs 12.2±0.18µs 0.00%
Hello World (Parser) 3.5±0.07µs 3.5±0.09µs 0.00%
Long file (Parser) 784.1±9.33ns 790.0±6.03ns -0.75%
Mini js (Execution) 631.8±9.26µs 623.2±11.11µs +1.38%
Mini js (Full) 975.3±11.72µs 979.8±10.98µs -0.46%
Mini js (Parser) 30.3±0.41µs 30.4±0.29µs -0.33%
Number Object Access (Execution) 4.2±0.04µs 4.2±0.05µs 0.00%
Number Object Access (Full) 297.4±4.45µs 300.9±2.16µs -1.16%
Object Creation (Execution) 4.1±0.04µs 4.1±0.05µs 0.00%
Object Creation (Full) 299.6±2.79µs 297.2±4.94µs +0.81%
RegExp (Execution) 12.5±0.12µs 12.4±0.23µs +0.81%
RegExp (Full) 308.1±2.72µs 306.2±6.35µs +0.62%
RegExp Literal (Execution) 12.7±0.12µs 12.5±0.13µs +1.60%
RegExp Literal (Full) 315.1±3.13µs 313.0±5.63µs +0.67%
RegExp Literal Creation (Execution) 9.3±0.09µs 9.3±0.10µs 0.00%
RegExp Literal Creation (Full) 304.3±3.13µs 306.8±4.05µs -0.81%
Static Object Property Access (Execution) 4.4±0.06µs 4.3±0.05µs +2.33%
Static Object Property Access (Full) 302.8±2.86µs 301.3±3.65µs +0.50%
String Object Access (Execution) 6.9±0.08µs 6.9±0.08µs 0.00%
String Object Access (Full) 303.1±3.05µs 303.4±5.19µs -0.10%
String comparison (Execution) 6.0±0.07µs 6.1±0.07µs -1.64%
String comparison (Full) 305.0±4.51µs 304.1±4.15µs +0.30%
String concatenation (Execution) 4.6±0.04µs 4.6±0.04µs 0.00%
String concatenation (Full) 300.8±1.89µs 295.0±5.04µs +1.97%
String copy (Execution) 3.7±0.04µs 3.6±0.05µs +2.78%
String copy (Full) 292.4±2.85µs 289.9±6.73µs +0.86%
Symbols (Execution) 3.1±0.02µs 3.2±0.02µs -3.13%
Symbols (Full) 279.0±3.05µs 280.1±3.86µs -0.39%

@github-actions
Copy link

Benchmark for 449d9b3

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 240.9±24.17ns 233.0±16.96ns +3.39%
Arithmetic operations (Full) 289.6±21.29µs 280.3±19.17µs +3.32%
Array access (Execution) 6.4±0.34µs 6.4±0.55µs 0.00%
Array access (Full) 308.3±26.58µs 310.6±26.49µs -0.74%
Array creation (Execution) 2.6±0.18ms 2.5±0.15ms +4.00%
Array creation (Full) 2.9±0.19ms 3.1±0.22ms -6.45%
Array pop (Execution) 835.9±48.96µs 826.9±59.28µs +1.09%
Array pop (Full) 1355.2±91.22µs 1297.9±89.39µs +4.41%
Boolean Object Access (Execution) 5.2±0.36µs 5.1±0.32µs +1.96%
Boolean Object Access (Full) 304.0±32.31µs 306.5±23.87µs -0.82%
Clean js (Execution) 663.5±50.24µs 638.0±35.11µs +4.00%
Clean js (Full) 993.8±63.81µs 963.6±68.10µs +3.13%
Clean js (Parser) 31.3±2.22µs 32.4±2.79µs -3.40%
Create Realm 374.4±29.68ns 362.3±36.08ns +3.34%
Dynamic Object Property Access (Execution) 5.1±0.34µs 5.3±0.38µs -3.77%
Dynamic Object Property Access (Full) 290.2±13.66µs 310.2±19.12µs -6.45%
Expression (Parser) 5.4±0.42µs 5.5±0.91µs -1.82%
Fibonacci (Execution) 781.4±45.83µs 797.2±50.45µs -1.98%
Fibonacci (Full) 1109.2±79.87µs 1164.7±100.66µs -4.77%
For loop (Execution) 18.8±1.72µs 18.3±1.14µs +2.73%
For loop (Full) 299.5±17.73µs 301.9±16.83µs -0.79%
For loop (Parser) 14.4±0.90µs 15.0±1.25µs -4.00%
Goal Symbols (Parser) 10.9±0.66µs 10.6±0.71µs +2.83%
Hello World (Parser) 3.3±0.43µs 2.9±0.19µs +13.79%
Long file (Parser) 685.7±40.52ns 717.8±129.53ns -4.47%
Mini js (Execution) 580.0±50.89µs 579.1±33.15µs +0.16%
Mini js (Full) 895.2±54.43µs 914.6±55.32µs -2.12%
Mini js (Parser) 29.7±3.69µs 26.9±1.71µs +10.41%
Number Object Access (Execution) 4.1±0.29µs 3.9±0.28µs +5.13%
Number Object Access (Full) 313.6±52.41µs 292.1±21.06µs +7.36%
Object Creation (Execution) 4.5±0.29µs 4.5±0.28µs 0.00%
Object Creation (Full) 312.8±21.08µs 303.9±20.24µs +2.93%
RegExp (Execution) 12.2±0.76µs 11.7±0.64µs +4.27%
RegExp (Full) 299.0±20.05µs 331.1±24.37µs -9.69%
RegExp Literal (Execution) 11.7±0.67µs 12.0±0.76µs -2.50%
RegExp Literal (Full) 325.3±22.33µs 317.7±23.93µs +2.39%
RegExp Literal Creation (Execution) 8.4±0.50µs 8.4±0.54µs 0.00%
RegExp Literal Creation (Full) 298.7±22.50µs 322.0±17.65µs -7.24%
Static Object Property Access (Execution) 4.7±0.26µs 4.7±0.28µs 0.00%
Static Object Property Access (Full) 303.5±19.88µs 306.5±21.77µs -0.98%
String Object Access (Execution) 6.7±0.37µs 7.2±0.50µs -6.94%
String Object Access (Full) 304.8±23.02µs 303.8±23.70µs +0.33%
String comparison (Execution) 6.0±0.52µs 5.9±0.45µs +1.69%
String comparison (Full) 296.2±17.05µs 301.8±21.74µs -1.86%
String concatenation (Execution) 4.8±0.29µs 4.9±0.38µs -2.04%
String concatenation (Full) 296.8±19.95µs 294.5±18.18µs +0.78%
String copy (Execution) 3.9±0.29µs 4.1±0.33µs -4.88%
String copy (Full) 293.5±22.10µs 285.0±16.17µs +2.98%
Symbols (Execution) 3.4±0.19µs 3.5±0.29µs -2.86%
Symbols (Full) 268.0±19.94µs 272.6±16.55µs -1.69%

@HalidOdat HalidOdat merged commit 8987dbf into master Aug 15, 2021
@HalidOdat HalidOdat deleted the feature/prelude branch August 15, 2021 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Boa prelude (A convenience module that re-exports the most commonly-used Boa APIs)
1 participant