microsoft / microsoft/vscode-cpptools

Settings for using ramdrive for storing temporal IntelliSence data

Aperta
#13,890 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

docs Language Service performance
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Feature Request

Some data for current project can be placed directly on ramdrive (standard feature in Linux, in Windows more complicated but ImDisk/AIM can make them free). Many developers today have more than 32Gb RAM in notebooks, and >64Gb on desktop.

What need to be implemented

  1. Locating data which can be placed in ramdrives (candidates .browse.VS.db , may be some ipch files)
  2. Some mechanism for controlling livecycle of that data (it can be populated when loading project and deleted from ramdrive when unloading project. This will affect speed of IntelliSence readiness, but extend SSD lifetime ) and ability for disabling it for very large projects (for Chromium source this data won't fit RAM, but many other projects will)

Today cache has no mechanism for removing old data (https://github.com/microsoft/vscode-cpptools/discussions/10637) but ramdrives with deleting cache data after unloading project will help resolve this.

This feature also will increase the lifespan of SSD drives, and may be some other components of will use ramdrive for speedup

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando i dati della cache IntelliSense menzionati nella issue, in particolare .browse.VS.db e gli eventuali file ipch, quindi traccia il modo in cui il caricamento e lo scaricamento dei progetti li gestiscono attualmente. Il lavoro sarebbe completo con un'opzione ramdrive configurabile, la pulizia durante il ciclo di vita e un modo per disabilitarla per i progetti i cui dati sono troppo grandi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript, vscode
Ambito
devtools
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.