From 1d87ecd2b7bc7a7dc082ba97b4cfbf6a6ea0e028 Mon Sep 17 00:00:00 2001 From: Mikhail Knyazhev Date: Mon, 12 May 2025 01:42:37 +0300 Subject: [PATCH 1/2] optimize data reset --- data/buffer.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/data/buffer.go b/data/buffer.go index ab2e726..d25ac25 100644 --- a/data/buffer.go +++ b/data/buffer.go @@ -31,9 +31,6 @@ func NewBuffer(size int) *Buffer { } func (v *Buffer) Reset() { - for i := 0; i < v.Size(); i++ { - v.buf[i] = 0 - } v.buf = v.buf[:0] v.pos = 0 } From 149799b3ead017db0dc7b75624ffcecf5fc45a83 Mon Sep 17 00:00:00 2001 From: Mikhail Knyazhev Date: Mon, 12 May 2025 02:24:12 +0300 Subject: [PATCH 2/2] optimize data reset --- .github/workflows/ci.yml | 2 +- .github/workflows/codeql.yml | 38 ------------------------------------ .golangci.yml | 3 +-- data/buffer.go | 15 +++++++++----- go.mod | 2 +- 5 files changed, 13 insertions(+), 47 deletions(-) delete mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7782cd2..8ee8f92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go: [ '1.22.11' ] + go: [ '1.23.8' ] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index ddee4f0..0000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,38 +0,0 @@ - -name: "CodeQL" - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - schedule: - - cron: '16 8 * * 1' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'go' ] - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - category: "/language:${{matrix.language}}" diff --git a/.golangci.yml b/.golangci.yml index 248ffc5..c468e41 100755 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,6 +1,6 @@ run: - go: "1.22.11" + go: "1.23.8" concurrency: 4 timeout: 5m tests: false @@ -205,7 +205,6 @@ linters: - nilerr - errorlint - bodyclose - - exportloopref - gosec - lll fast: false diff --git a/data/buffer.go b/data/buffer.go index d25ac25..c864f40 100644 --- a/data/buffer.go +++ b/data/buffer.go @@ -31,7 +31,12 @@ func NewBuffer(size int) *Buffer { } func (v *Buffer) Reset() { - v.buf = v.buf[:0] + l := len(v.buf) + if l > 5e6 { + v.buf = v.buf[:0:5e6] + } else { + v.buf = v.buf[:0] + } v.pos = 0 } @@ -148,12 +153,12 @@ func (v *Buffer) WriteAt(b []byte, off int64) (int, error) { off = 0 } - if len(b)+int(off) > v.Size() { - v.buf = append(v.buf[:off], b...) - } else { - copy(v.buf[off:], b[:]) + if add := len(b) + int(off) - v.Size(); add > 0 { + v.buf = append(v.buf, make([]byte, add)...) } + copy(v.buf[off:], b[:]) + return len(b), nil } diff --git a/go.mod b/go.mod index c251de1..d8beeaa 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module go.osspkg.com/ioutils -go 1.22.11 +go 1.23.8 require ( go.osspkg.com/casecheck v0.3.0