File tree 3 files changed +24
-1
lines changed
3 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ module go-linecount
3
3
go 1.15
4
4
5
5
require (
6
+ github.com/cheggaaa/pb/v3 v3.0.5
6
7
github.com/edsrzf/mmap-go v1.0.0
7
8
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d // indirect
8
9
)
Original file line number Diff line number Diff line change
1
+ github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM =
2
+ github.com/VividCortex/ewma v1.1.1 /go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA =
3
+ github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo =
4
+ github.com/cheggaaa/pb/v3 v3.0.5 h1:lmZOti7CraK9RSjzExsY53+WWfub9Qv13B5m4ptEoPE =
5
+ github.com/cheggaaa/pb/v3 v3.0.5 /go.mod h1:X1L61/+36nz9bjIsrDU52qHKOQukUQe2Ge+YvGuquCw =
1
6
github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw =
2
7
github.com/edsrzf/mmap-go v1.0.0 /go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M =
8
+ github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys =
9
+ github.com/fatih/color v1.7.0 /go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4 =
10
+ github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU =
11
+ github.com/mattn/go-colorable v0.1.2 /go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE =
12
+ github.com/mattn/go-isatty v0.0.8 /go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s =
13
+ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY =
14
+ github.com/mattn/go-isatty v0.0.12 /go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU =
15
+ github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54 =
16
+ github.com/mattn/go-runewidth v0.0.7 /go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI =
17
+ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 /go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY =
18
+ golang.org/x/sys v0.0.0-20200116001909-b77594299b42 /go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs =
3
19
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d h1:MiWWjyhUzZ+jvhZvloX6ZrUsdEghn8a64Upd8EMHglE =
4
20
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d /go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs =
Original file line number Diff line number Diff line change 5
5
"bytes"
6
6
"flag"
7
7
"fmt"
8
+ "github.com/cheggaaa/pb/v3"
8
9
mp "github.com/edsrzf/mmap-go"
9
10
"log"
10
11
"os"
@@ -26,14 +27,18 @@ func main() {
26
27
}
27
28
}()
28
29
30
+ fi , _ := f .Stat ()
31
+ bar := pb .Full .Start64 (fi .Size ())
32
+
29
33
//mmap
30
34
np , err := mp .Map (f , mp .RDONLY , 0 )
31
35
defer np .Unmap ()
32
36
if err != nil {
33
37
panic (err )
34
38
}
35
39
36
- s := bufio .NewScanner (bytes .NewReader (np ))
40
+ reader := bar .NewProxyReader (bytes .NewReader (np ))
41
+ s := bufio .NewScanner (reader )
37
42
38
43
startTime := time .Now ()
39
44
count := 0
@@ -42,6 +47,7 @@ func main() {
42
47
}
43
48
44
49
endTime := time .Now ()
50
+ bar .Finish ()
45
51
spent := endTime .Sub (startTime )
46
52
fmt .Printf ("Line count:%d \n " , count )
47
53
fmt .Printf ("Time:%d sec\n " , int (spent .Seconds ()))
You can’t perform that action at this time.
0 commit comments