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

Remove fizzler #1086

Closed
wants to merge 35 commits into from
Closed

Conversation

inforithmics
Copy link
Contributor

@inforithmics inforithmics commented Sep 1, 2023

Reference Issue

#1073

What does this implement/fix? Explain your changes.

Does not yet remove Fizzler but implements a QuerySelectAll that uses the ExCSS Selector Dom
currently references a PreView ExCSS Version 4.2.2-release0000

Any other comments?

This pull request is based on this pull request
#1083

TODO:

  • Pass All W3C Images with the same Selector results.
  • Add more Unit Tests
  • Add Benchmarks
  • Implement not Implemented Functions
  • Investigate AngleSharp Selector Integration (nuget or Code)
  • Add more Selector Tests (Maybe port them from AngleSharp)

@inforithmics inforithmics changed the title Remove fizzler WIP Remove fizzler (Do not merge yet) Sep 1, 2023
@inforithmics inforithmics marked this pull request as draft September 1, 2023 21:30
@inforithmics inforithmics changed the title WIP Remove fizzler (Do not merge yet) Remove fizzler Sep 1, 2023
@inforithmics inforithmics changed the title Remove fizzler WIP Remove fizzler Sep 1, 2023
@inforithmics inforithmics changed the title WIP Remove fizzler Remove fizzler Sep 1, 2023
@inforithmics
Copy link
Contributor Author

ExCss Selector

Method Mean Error StdDev Op/s Rank Gen0 Gen1 Allocated
SelectorPerformance 4.878 us 0.0316 us 0.0247 us 205,008.7 1 2.6550 0.0153 21.7 KB

Fizzler Selector (Mainly slower because it needs to parse the Selector again)

Method Mean Error StdDev Op/s Rank Gen0 Allocated
SelectorPerformance 22.05 us 0.087 us 0.077 us 45,350.8 1 3.7537 30.9 KB

@inforithmics
Copy link
Contributor Author

inforithmics commented Sep 3, 2023

I have enough Implemented for AngleSharp to run the Benchmark. here are the numbers (Maybe I need some more optimization)

Method Mean Error StdDev Op/s Rank Gen0 Gen1 Allocated
SelectorPerformanceExCss 5.188 us 0.0733 us 0.0685 us 192,739.3 1 2.6550 0.0153 21.7 KB
SelectorPerformanceFizzler 21.200 us 0.2856 us 0.2672 us 47,169.1 2 3.7537 - 30.9 KB
SelectorPerformanceAngleSharp 264.828 us 5.1335 us 5.7059 us 3,776.0 3 49.8047 2.9297 408.43 KB

There is certainly room for improvements in the AngleSharp Implementation. But I don't know if I can find there Factor 50.

@inforithmics
Copy link
Contributor Author

I think I will create a new pull request based on this.
#1091

@inforithmics inforithmics mentioned this pull request Sep 9, 2023
11 tasks
@inforithmics
Copy link
Contributor Author

Closing this because here I made a new pull request based on the newest excss updates
#1092

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant