Proposal: Compressing DevDocs with a Low-Level C Core
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 18/100
- Tipo di issue
- Refactoring
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- c, docker, javascript, ruby, wasm
- Ambito
- backend, build-system, documentation, search
Direzione di ricerca
La proposta copre il motore di ricerca, la pipeline HTML e il server locale, inclusi Ruby/JS, Nokogiri, Sinatra, C, WebAssembly e Docker. Inizia mappando le implementazioni esistenti e i relativi test prima di valutare se le tre sostituzioni possano essere separate. Il lavoro sarà considerato completato quando saranno definiti un ambito di migrazione concordato, i requisiti di compatibilità e la validazione per la ricerca, l’elaborazione dei docset e l’hosting locale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I’ve been using DevDocs for years—it’s a lifesaver when AI fails on niche cases. I have a lot of respect for the work done so far, but the current Ruby/JS stack feels like it’s holding the project back from being as fast and straight-forward as it could be
What i am asking is if I can rewrite the core server and processing logic in C? Specifically:
-
The Search Engine: Moving the indexing and fuzzy matching from JS to a C codebase that is compiled to a wasm module to kill the memory lag
-
The HTML Pipeline: Replacing the Ruby/Nokogiri filters with a fast C-based parser for cleaning docsets
-
The Local Server: Swapping the Ruby/Sinatra backend for a lightweight C static server to remove the heavy runtime requirements for local hosting
Due to such changes around 30% of the project may be reduced including the definite removal of something as useless as docker, which will be replaced with simple statically-compiled servers for each OS that people can just download (or build themselves since C is available on all platforms) and launch the server without any unnecessary dependencies
I'm happy to handle the heavy lifting and resolve any issues that pop up with this new setup. Are you guys open to adding this C-based paradigm to the official repo? I truly believe this would make the project much leaner and easier to maintain long-term
I truly hope that you will accept this crazy request to rebuild the core of the project in a language that most of your contributors probably dont use and I hope I get the chance to work with you on this
- Lingua principale
- Ruby
- Stelle
- 39.5k
- Fork
- 2.6k
- Merge medio
- 2g 9h
- PR unite (30g)
- 13
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di freeCodeCamp/devdocs
-
class Data in Ruby 3.2 Apertadocs/improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
freeCodeCamp/devdocs#1989 · 4 commenti · 4 reazioni ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
freeCodeCamp/devdocs#2731 ·
-
feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
freeCodeCamp/devdocs#2712 ·
-
feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
freeCodeCamp/devdocs#2683 · 1 commento ·
-
Unit test frontend code Apertafeature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
freeCodeCamp/devdocs#2673 ·
Tutte le issue di freeCodeCamp/devdocs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
simp/pupmod-simp-simp#395 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
simp/pupmod-simp-rsyslog#219 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
simp/pupmod-simp-pupmod#256 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
simp/pupmod-simp-sudo#150 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100