design question: lexer in goroutine?
I maintainer di solito rispondono entro 1 giorno
@julienschmidt ci sta già lavorando.
Dal 16/11/2019.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
While looking through the code, I noticed that the lexer runs its main loop its own goroutine:
func lex(input string) (*lexer, error) {
...
l := &lexer{
input: input,
items: make(chan item),
}
go l.run()
return l, nil
}
Items are then received from the unbuffered channel l.items , thus making the code run fully sequential again.
Is there any other good reason to run it in it's own goroutine? If not, the overhead for synchronization and context switches could be avoided.
- Lingua principale
- Go
- Stelle
- 197
- Fork
- 52
- Merge medio
- 23h 9m
- PR unite (30g)
- 23
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi 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 google/gonids
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
google/gonids#252 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
OSS-Fuzz issue 577089414Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
unquoted pcre values failAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
google/gonids#251 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
google/gonids#250 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
OSS-Fuzz issue 385865975Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di google/gonids
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
blinklabs-io/dingo#5636 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
JetBrains/youtrack-cli#130 ·
I maintainer di solito rispondono entro 1 giorno
-
kind/bug needs-triage sig/release
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
kubernetes/kubernetes#143392 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
I maintainer di solito rispondono entro 1 giorno
-
stage-fail
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
siyuan-note/bazaar#2405 ·
I maintainer di solito rispondono entro 1 giorno