Decisione di progettazione per un editor di testo multipiattaforma ottimizzato per la velocità

0

Nel progettare un editor di testo multipiattaforma ottimizzato per la velocità - ho sentito atom.io utilizza node.js, sarebbe lento? Ho sentito che il testo sublime utilizza il C ++, sarebbe un grande sforzo essere multipiattaforma e creare GUI? Sto cercando di scoprire alcuni dei modi migliori per ottenere prestazioni, multipiattaforma, facilità di creazione di GUI e buona manutenzione.

    
posta william007 14.12.2018 - 16:31
fonte

1 risposta

1

Le applicazioni Atom, VS Code e Electron scambiano generalmente molto tempo di sviluppo per i cicli della CPU e la memoria sul sistema dell'utente finale. Ho trovato entrambi i suddetti editor piuttosto lenti sui laptop di fascia medio-bassa e non sono particolarmente gentili con la batteria.

Tuttavia, funzionano in modo accettabile sulle workstation degli sviluppatori e in genere le persone preferiscono utilizzarli, quindi devono essere sufficientemente efficienti per lo scopo aziendale.

Da un punto di vista del software, i tempi di risposta dell'editor dipendono da un gran numero di fattori e scalano con il numero di moduli che devono essere informati su ogni sequenza di tasti. Se si desidera eseguire l'evidenziazione della sintassi, il completamento del codice, il rientro automatico, l'integrazione dell'analisi statica e così via, sarà importante mantenere vincolato l'I / O del thread dell'interfaccia utente. Dovrebbe passare quasi tutto il suo tempo ad aspettare che l'utente faccia qualcosa. Architettare il resto dell'editor per spostare le attività legate all'elaborazione sui thread di lavoro che possono riportare in modo asincrono i loro risultati all'interfaccia utente sarà molto importante. Voglio anche richiamare specificamente l'importanza di avere una buona strategia per ri-analizzare il testo modificato. Dovrebbe ridimensionarsi con la quantità di testo che è stata cambiata, piuttosto che la lunghezza del documento (come sarebbe se si ripetesse il parser ad ogni battitura)

Queste preoccupazioni domineranno la performance percepita del tuo editor molto più della lingua in cui lo scrivi.

    
risposta data 15.12.2018 - 08:40
fonte

Leggi altre domande sui tag