Ho un programma Go che scrive stringhe in un file. Ho un ciclo che è iterato 20000 volte e in ogni iterazione sto scrivendo circa 20-30 stringhe in un file. Volevo solo sapere qual è il modo migliore per scriverlo in un file.Write Operation Cost [Go lang]
Approccio 1: Tenere aperto il puntatore del file all'inizio del codice e scrivere per ogni corda. Rende le operazioni di scrittura 20000 * 30.
Approccio 2: Usa bytes.Buffer Go e memorizzare tutto nel buffer e scriverlo al end.Also in questo caso dovrebbe essere il puntatore del file aperto dall'inizio del codice o alla fine della codice. è importante?
Sto assumendo che l'approccio 2 dovrebbe funzionare meglio. Qualcuno può confermarlo con una ragione. In che modo scrivere allo stesso tempo è meglio che scrivere periodicamente. Perché il puntatore del file sarà comunque aperto. Sto usando f.WriteString(<string>)
e buffer.WriteString(<some string>)
buffer è di tipo bytes.Buffer
e f
è il puntatore del file aperto.
questo è ciò che ['bufio'] (https://golang.org/pkg/bufio/) è per. – JimB