Skip to content
This repository was archived by the owner on Apr 2, 2026. It is now read-only.

📦 Crateification - #112

Draft
oeb25 wants to merge 54 commits into
StractOrg:mainfrom
oeb25:crateification
Draft

📦 Crateification#112
oeb25 wants to merge 54 commits into
StractOrg:mainfrom
oeb25:crateification

Conversation

@oeb25

@oeb25oeb25 commented Oct 18, 2023

Copy link
Copy Markdown
Collaborator

This is an experiment to see how splitting core into multiple crates will affect compile times. Whether or not we want this structure is very TBD.

Currently contains the commits of #111.

flowchart TB
alice --> stdx
alice --> stract_config
alice --> stract_llm
collector --> schema
collector --> simhash
collector --> stdx
collector --> stract_config
crawler --> distributed
crawler --> hyperloglog
crawler --> kv
crawler --> sonic
crawler --> stdx
crawler --> stract_config
crawler --> warc
crawler --> webgraph
crawler --> webpage
entity_index --> imager
entity_index --> kv
entity_index --> stdx
entity_index --> tokenizer
imager --> distributed
imager --> kv
imager --> stdx
mapreduce --> distributed
mapreduce --> sonic
naive_bayes --> stdx
schema --> stdx
schema --> tokenizer
simhash --> tokenizer
spell --> schema
spell --> stdx
spell --> stract_query
stract_cli --> stract_config
stract_cli --> stract_core
stract_cli --> webgraph
stract_config --> distributed
stract_core --> alice
stract_core --> collector
stract_core --> crawler
stract_core --> distributed
stract_core --> entity_index
stract_core --> executor
stract_core --> hyperloglog
stract_core --> imager
stract_core --> kuchiki
stract_core --> kv
stract_core --> mapreduce
stract_core --> naive_bayes
stract_core --> optics
stract_core --> schema
stract_core --> simhash
stract_core --> sonic
stract_core --> spell
stract_core --> stdx
stract_core --> stract_config
stract_core --> stract_llm
stract_core --> stract_query
stract_core --> tokenizer
stract_core --> warc
stract_core --> webgraph
stract_core --> webpage
stract_llm --> stdx
stract_query --> optics
stract_query --> schema
stract_query --> stdx
tokenizer --> stdx
webgraph --> executor
webgraph --> hyperloglog
webgraph --> kv
webgraph --> stdx
webpage --> kuchiki
webpage --> naive_bayes
webpage --> schema
webpage --> simhash
webpage --> stdx
webpage --> tokenizer
webpage --> webgraph
Loading

@oeb25
oeb25 marked this pull request as draft October 18, 2023 21:28
@oeb25
oeb25force-pushed the crateification branch 2 times, most recently from f9a4194 to 076d756CompareOctober 19, 2023 10:51
@oeb25

oeb25 commented Oct 19, 2023

Copy link
Copy Markdown
CollaboratorAuthor

Current cargo check-incremental improvements:

CommandMean [s]Min [s]Max [s]Relative
update-deps2.414 ± 0.0202.3892.4541.56 ± 0.03
crateification1.543 ± 0.0211.5061.5871.00

And for cargo build-incremental:

CommandMean [s]Min [s]Max [s]Relative
update-deps8.001 ± 0.0307.9718.0581.20 ± 0.02
crateification6.655 ± 0.1356.3896.8251.00

@oeb25
oeb25force-pushed the crateification branch 3 times, most recently from b24e3a8 to 89cd46eCompareOctober 26, 2023 09:47
@oeb25

Copy link
Copy Markdown
CollaboratorAuthor

Current cargo build-incremental:

CommandMean [s]Min [s]Max [s]Relative
main7.504 ± 0.0497.4397.5861.30 ± 0.02
crateification5.771 ± 0.0695.6995.9361.00

oeb25 added 27 commits October 27, 2023 10:12
Before Index was passed, but only its InvertedIndex was ever used.
Some parts of query are left behind in core, since it depends heavly on
other mods such as ranking.
Previously there was a blanket impl for Doc, but since Doc is now
defined in another crate, this is no longer possible due to coherence.
To work around this, we require that implementors of AsRankingWebsite
also impl Doc, which is fairly straight forward if they also impl
AsRankingWebsite, which they have to.
Not as convinient, but it works!
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@oeb25