BlogDocs

GitHub Actions
run

Base runon
main
at
c9a0e75
compared to head run on
main
at
e2171d3
from
16 days ago
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
107
NEW
0
DROPPED
0
IGNORED
1

Benchmarks

Passed

tachyons_11778168428173736564.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::tachyons_11778168428173736564.css[cached]
+3%
19.3 ms
18.6 ms
big5-added_15586211152145260264.json[cached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::big5-added_15586211152145260264.json[cached]
+3%
441 µs
429.4 µs
js_formatter[parser_13571644119461115204.ts]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[parser_13571644119461115204.ts]
+3%
20.7 ms
20.2 ms
vue.global.prod_4065256639735990520.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::vue.global.prod_4065256639735990520.js[cached]
+2%
44.4 ms
43.4 ms
react.production.min_3378072959512366797.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::react.production.min_3378072959512366797.js[cached]
+2%
2 ms
1.9 ms
pixi.min_8151088792683739606.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::pixi.min_8151088792683739606.js[uncached]
+2%
134.5 ms
131.6 ms
tachyons_11778168428173736564.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::tachyons_11778168428173736564.css[uncached]
+2%
22.8 ms
22.4 ms
css_formatter[foundation_11602414662825430680.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[foundation_11602414662825430680.css]
+1%
74.8 ms
74 ms
canada_639262044961882324.json[cached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::canada_639262044961882324.json[cached]
+1%
169.6 ms
167.9 ms
js_formatter[react.production.min_3378072959512366797.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[react.production.min_3378072959512366797.js]
+1%
7.5 ms
7.4 ms
checker_6456328407951392140.ts[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::checker_6456328407951392140.ts[uncached]
+1%
278.6 ms
275.9 ms
canada_639262044961882324.json[uncached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::canada_639262044961882324.json[uncached]
+1%
219.6 ms
217.5 ms
react.production.min_3378072959512366797.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::react.production.min_3378072959512366797.js[uncached]
+1%
2.2 ms
2.1 ms
js_formatter[react-dom.production.min_7131952758041326366.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[react-dom.production.min_7131952758041326366.js]
+1%
141.4 ms
140.2 ms
react-dom.production.min_7131952758041326366.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::react-dom.production.min_7131952758041326366.js[cached]
+1%
35.9 ms
35.7 ms
bulma_5641719244145477318.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::bulma_5641719244145477318.css[uncached]
+1%
128.7 ms
127.9 ms
js_formatter[dojo_11880045762646467684.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[dojo_11880045762646467684.js]
0%
28.8 ms
28.6 ms
js_formatter[three.min_17199329737537001178.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[three.min_17199329737537001178.js]
0%
594.1 ms
591.7 ms
jquery.min_16034160674129647344.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::jquery.min_16034160674129647344.js[uncached]
0%
28.8 ms
28.7 ms
foundation_11602414662825430680.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::foundation_11602414662825430680.css[cached]
0%
26 ms
25.9 ms
bulma_5641719244145477318.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::bulma_5641719244145477318.css[cached]
0%
120.5 ms
120.1 ms
checker_6456328407951392140.ts[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::checker_6456328407951392140.ts[cached]
0%
251.1 ms
250.5 ms
three.min_17199329737537001178.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::three.min_17199329737537001178.js[uncached]
0%
145.7 ms
145.4 ms
js_formatter[compiler_3469143416596620219.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[compiler_3469143416596620219.js]
0%
548.4 ms
547.4 ms
json_formatter[db_17847247775464589309.json]
xtask/bench/benches/json_formatter.rs::json_formatter::bench_json_formatter::json_formatter[db_17847247775464589309.json]
0%
46.7 ms
46.6 ms
js_formatter[ios.d_12216376241674358710.d.ts]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[ios.d_12216376241674358710.d.ts]
0%
786.8 ms
785.6 ms
js_formatter[d3.min_16009850199655599998.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[d3.min_16009850199655599998.js]
0%
445.1 ms
444.4 ms
js_analyzer[typescript_3735799142832611563.ts]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[typescript_3735799142832611563.ts]
0%
84.8 ms
84.6 ms
css_formatter[tachyons_11778168428173736564.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[tachyons_11778168428173736564.css]
0%
38.3 ms
38.2 ms
json_formatter[package-lock_11240515041603712709.json]
xtask/bench/benches/json_formatter.rs::json_formatter::bench_json_formatter::json_formatter[package-lock_11240515041603712709.json]
0%
19.7 ms
19.7 ms
router_17129688031671448157.ts[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::router_17129688031671448157.ts[uncached]
0%
2.4 ms
2.4 ms
semantic_4685287698740288120.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::semantic_4685287698740288120.css[cached]
0%
123.1 ms
123 ms
full_5814491140539129161.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::full_5814491140539129161.css[uncached]
0%
465.7 ms
465.3 ms
graphql_formatter[schema_8546403410957788002.graphql]
xtask/bench/benches/graphql_formatter.rs::graphql_formatter::bench_graphql_formatter::graphql_formatter[schema_8546403410957788002.graphql]
0%
2.6 ms
2.6 ms
graphql_formatter[schema_17790310256719731354.graphql]
xtask/bench/benches/graphql_formatter.rs::graphql_formatter::bench_graphql_formatter::graphql_formatter[schema_17790310256719731354.graphql]
0%
27.4 ms
27.4 ms
js_formatter[typescript_5583633924076080079.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[typescript_5583633924076080079.js]
0%
3.5 s
3.5 s
big5-added_15586211152145260264.json[uncached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::big5-added_15586211152145260264.json[uncached]
0%
546.2 µs
546 µs
graphql_formatter[schema_5810376208714739011.graphql]
xtask/bench/benches/graphql_formatter.rs::graphql_formatter::bench_graphql_formatter::graphql_formatter[schema_5810376208714739011.graphql]
0%
1.5 ms
1.5 ms
bootstrap_18416142857265205439.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::bootstrap_18416142857265205439.css[uncached]
0%
43.3 ms
43.3 ms
css_analyzer[bulma_5641719244145477318.css]
xtask/bench/benches/css_analyzer.rs::css_analyzer::bench_analyzer::css_analyzer[bulma_5641719244145477318.css]
0%
432.4 ms
432.3 ms
css_analyzer[tachyons_11778168428173736564.css]
xtask/bench/benches/css_analyzer.rs::css_analyzer::bench_analyzer::css_analyzer[tachyons_11778168428173736564.css]
0%
70.5 ms
70.5 ms
js_analyzer[index_3894593175024091846.js]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[index_3894593175024091846.js]
0%
35.9 ms
35.9 ms
jquery.min_16034160674129647344.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::jquery.min_16034160674129647344.js[cached]
0%
27 ms
27 ms
js_formatter[checker_6456328407951392140.ts]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[checker_6456328407951392140.ts]
0%
927.6 ms
927.6 ms
package-lock_11240515041603712709.json[cached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::package-lock_11240515041603712709.json[cached]
0%
5.5 ms
5.5 ms
typescript_5583633924076080079.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::typescript_5583633924076080079.js[uncached]
0%
1 s
1 s
css_analyzer[bootstrap_18416142857265205439.css]
xtask/bench/benches/css_analyzer.rs::css_analyzer::bench_analyzer::css_analyzer[bootstrap_18416142857265205439.css]
0%
124.5 ms
124.5 ms
css_analyzer[foundation_11602414662825430680.css]
xtask/bench/benches/css_analyzer.rs::css_analyzer::bench_analyzer::css_analyzer[foundation_11602414662825430680.css]
0%
82.8 ms
82.8 ms
json_formatter[big5-added_15586211152145260264.json]
xtask/bench/benches/json_formatter.rs::json_formatter::bench_json_formatter::json_formatter[big5-added_15586211152145260264.json]
0%
1.7 ms
1.7 ms
schema_5810376208714739011.graphql[uncached]
xtask/bench/benches/graphql_parser.rs::graphql_parser::bench_graphql_parser::graphql_parser::schema_5810376208714739011.graphql[uncached]
0%
632.8 µs
632.9 µs
package-lock_11240515041603712709.json[uncached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::package-lock_11240515041603712709.json[uncached]
0%
5.9 ms
5.9 ms
schema_17790310256719731354.graphql[cached]
xtask/bench/benches/graphql_parser.rs::graphql_parser::bench_graphql_parser::graphql_parser::schema_17790310256719731354.graphql[cached]
0%
11 ms
11 ms
json_formatter[eucjp_1600564308684076393.json]
xtask/bench/benches/json_formatter.rs::json_formatter::bench_json_formatter::json_formatter[eucjp_1600564308684076393.json]
0%
3 ms
3 ms
schema_5810376208714739011.graphql[cached]
xtask/bench/benches/graphql_parser.rs::graphql_parser::bench_graphql_parser::graphql_parser::schema_5810376208714739011.graphql[cached]
0%
614.7 µs
614.9 µs
css_formatter[bulma_5641719244145477318.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[bulma_5641719244145477318.css]
0%
339.5 ms
339.6 ms
js_formatter[math_5920422916221598348.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[math_5920422916221598348.js]
0%
886.5 ms
886.8 ms
d3.min_16009850199655599998.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::d3.min_16009850199655599998.js[cached]
0%
104.1 ms
104.1 ms
css_formatter[full_5814491140539129161.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[full_5814491140539129161.css]
0%
1.2 s
1.2 s
tex-chtml-full_561698452596513081.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::tex-chtml-full_561698452596513081.js[cached]
0%
267.9 ms
268.1 ms
schema_8546403410957788002.graphql[cached]
xtask/bench/benches/graphql_parser.rs::graphql_parser::bench_graphql_parser::graphql_parser::schema_8546403410957788002.graphql[cached]
0%
995 µs
995.7 µs
css_formatter[pure_9395922602181450299.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[pure_9395922602181450299.css]
0%
9.3 ms
9.3 ms
schema_8546403410957788002.graphql[uncached]
xtask/bench/benches/graphql_parser.rs::graphql_parser::bench_graphql_parser::graphql_parser::schema_8546403410957788002.graphql[uncached]
0%
1.1 ms
1.1 ms
js_analyzer[router_17129688031671448157.ts]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[router_17129688031671448157.ts]
0%
16.9 ms
16.9 ms
css_formatter[bootstrap_18416142857265205439.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[bootstrap_18416142857265205439.css]
0%
111 ms
111.1 ms
compiler_3469143416596620219.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::compiler_3469143416596620219.js[cached]
0%
144.6 ms
144.8 ms
js_formatter[jquery.min_16034160674129647344.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[jquery.min_16034160674129647344.js]
0%
119.2 ms
119.3 ms
ios.d_12216376241674358710.d.ts[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::ios.d_12216376241674358710.d.ts[cached]
0%
260.1 ms
260.4 ms
css_formatter[materialize_5526761731747548557.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[materialize_5526761731747548557.css]
0%
82.6 ms
82.7 ms
json_formatter[canada_639262044961882324.json]
xtask/bench/benches/json_formatter.rs::json_formatter::bench_json_formatter::json_formatter[canada_639262044961882324.json]
0%
732 ms
733 ms
js_analyzer[parser_13571644119461115204.ts]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[parser_13571644119461115204.ts]
0%
58.2 ms
58.3 ms
compiler_3469143416596620219.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::compiler_3469143416596620219.js[uncached]
0%
163.8 ms
164 ms
bootstrap_18416142857265205439.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::bootstrap_18416142857265205439.css[cached]
0%
39.1 ms
39.1 ms
typescript_5583633924076080079.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::typescript_5583633924076080079.js[cached]
0%
952.4 ms
953.8 ms
js_analyzer[css_16118272471217147034.js]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[css_16118272471217147034.js]
0%
16.7 ms
16.7 ms
full_5814491140539129161.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::full_5814491140539129161.css[cached]
0%
439.1 ms
439.9 ms
foundation_11602414662825430680.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::foundation_11602414662825430680.css[uncached]
0%
28.2 ms
28.3 ms
materialize_5526761731747548557.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::materialize_5526761731747548557.css[uncached]
0%
31.5 ms
31.6 ms
js_analyzer[lint_13640784270757307929.ts]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[lint_13640784270757307929.ts]
0%
28.6 ms
28.6 ms
css_formatter[semantic_4685287698740288120.css]
xtask/bench/benches/css_formatter.rs::css_formatter::bench_css_formatter::css_formatter[semantic_4685287698740288120.css]
0%
361.9 ms
362.8 ms
js_analyzer[statement_263793315104667298.ts]
xtask/bench/benches/js_analyzer.rs::js_analyzer::bench_analyzer::js_analyzer[statement_263793315104667298.ts]
0%
53.1 ms
53.3 ms
js_formatter[pixi.min_8151088792683739606.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[pixi.min_8151088792683739606.js]
0%
488.1 ms
489.5 ms
schema_17790310256719731354.graphql[uncached]
xtask/bench/benches/graphql_parser.rs::graphql_parser::bench_graphql_parser::graphql_parser::schema_17790310256719731354.graphql[uncached]
0%
12.6 ms
12.6 ms
tex-chtml-full_561698452596513081.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::tex-chtml-full_561698452596513081.js[uncached]
0%
284.3 ms
285.4 ms
react-dom.production.min_7131952758041326366.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::react-dom.production.min_7131952758041326366.js[uncached]
0%
38.7 ms
38.8 ms
semantic_4685287698740288120.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::semantic_4685287698740288120.css[uncached]
0%
131.2 ms
131.8 ms
math_5920422916221598348.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::math_5920422916221598348.js[uncached]
0%
212 ms
213 ms
js_formatter[router_17129688031671448157.ts]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[router_17129688031671448157.ts]
0%
6.8 ms
6.8 ms
js_formatter[tex-chtml-full_561698452596513081.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[tex-chtml-full_561698452596513081.js]
0%
1.1 s
1.1 s
vue.global.prod_4065256639735990520.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::vue.global.prod_4065256639735990520.js[uncached]
-1%
46.6 ms
46.9 ms
three.min_17199329737537001178.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::three.min_17199329737537001178.js[cached]
-1%
137.2 ms
138.1 ms
math_5920422916221598348.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::math_5920422916221598348.js[cached]
-1%
200 ms
201.6 ms
parser_13571644119461115204.ts[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::parser_13571644119461115204.ts[uncached]
-1%
7 ms
7.1 ms
ios.d_12216376241674358710.d.ts[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::ios.d_12216376241674358710.d.ts[uncached]
-1%
283.7 ms
286.2 ms
pixi.min_8151088792683739606.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::pixi.min_8151088792683739606.js[cached]
-1%
120.8 ms
121.9 ms
js_formatter[vue.global.prod_4065256639735990520.js]
xtask/bench/benches/js_formatter.rs::js_formatter::bench_js_formatter::js_formatter[vue.global.prod_4065256639735990520.js]
-1%
180.5 ms
182.2 ms
d3.min_16009850199655599998.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::d3.min_16009850199655599998.js[uncached]
-1%
111.6 ms
112.7 ms
dojo_11880045762646467684.js[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::dojo_11880045762646467684.js[cached]
-1%
8.1 ms
8.2 ms
pure_9395922602181450299.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::pure_9395922602181450299.css[cached]
-1%
3.3 ms
3.4 ms
materialize_5526761731747548557.css[cached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::materialize_5526761731747548557.css[cached]
-1%
28.7 ms
29 ms
eucjp_1600564308684076393.json[cached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::eucjp_1600564308684076393.json[cached]
-1%
807.2 µs
817.6 µs
db_17847247775464589309.json[uncached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::db_17847247775464589309.json[uncached]
-3%
15.2 ms
15.6 ms
dojo_11880045762646467684.js[uncached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::dojo_11880045762646467684.js[uncached]
-3%
9.1 ms
9.4 ms
pure_9395922602181450299.css[uncached]
xtask/bench/benches/css_parser.rs::css_parser::bench_css_parser::css_parser::pure_9395922602181450299.css[uncached]
-3%
4 ms
4.1 ms
parser_13571644119461115204.ts[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::parser_13571644119461115204.ts[cached]
-4%
6.2 ms
6.4 ms
router_17129688031671448157.ts[cached]
xtask/bench/benches/js_parser.rs::js_parser::bench_js_parser::js_parser::router_17129688031671448157.ts[cached]
-5%
2.1 ms
2.2 ms
eucjp_1600564308684076393.json[uncached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::eucjp_1600564308684076393.json[uncached]
-6%
956.6 µs
1,016.1 µs
db_17847247775464589309.json[cached]
xtask/bench/benches/json_parser.rs::json_parser::bench_json_parser::json_parser::db_17847247775464589309.json[cached]
-6%
13.1 ms
13.9 ms

Ignored

css_analyzer[pure_9395922602181450299.css]Ignored
xtask/bench/benches/css_analyzer.rs::css_analyzer::bench_analyzer::css_analyzer[pure_9395922602181450299.css]
0%
8.8 ms
8.8 ms
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.