Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mattn/go-sqlite3
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.14.40
Choose a base ref
...
head repository: mattn/go-sqlite3
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.14.41
Choose a head ref
  • 5 commits
  • 1 file changed
  • 1 contributor

Commits on Apr 6, 2026

  1. reduce sqlite bind overhead

    mattn committed Apr 6, 2026
    Configuration menu
    Copy the full SHA
    61c5b98 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1385 from mattn/perf/reduce-bind-overhead

    Reduce sqlite bind overhead
    mattn authored Apr 6, 2026
    Configuration menu
    Copy the full SHA
    4a311ff View commit details
    Browse the repository at this point in the history
  3. reduce CGO call overhead for exec and bind paths

    - Add _sqlite3_exec_no_args() C function that combines prepare+step+finalize
      into a single CGO crossing for parameterless exec (most common case)
    - Add _sqlite3_reset_clear() C function that combines sqlite3_reset and
      sqlite3_clear_bindings into a single CGO crossing
    - Use semaphore channel instead of result struct channel in context-aware
      exec/Next paths to reduce allocations
    - Use time.AppendFormat with stack buffer to avoid heap allocation in
      time.Time binding
    - Optimize bindNamedIndices to reuse a single buffer instead of 3
      separate C.CString allocations
    - Remove intermediate bindIndices slice allocation in named parameter
      binding path
    - Pass explicit query length to sqlite3_prepare_v2 to avoid C-side strlen
    
    benchstat (n=8):
    
      BenchmarkExec:   -29.44% sec/op, -50% B/op, -33% allocs/op
      BenchmarkQuery:  -9.83% sec/op
      BenchmarkParams: -6.38% sec/op
      geomean:         -6.72% sec/op
    mattn committed Apr 6, 2026
    Configuration menu
    Copy the full SHA
    4954048 View commit details
    Browse the repository at this point in the history
  4. fix build with SQLITE_ENABLE_UNLOCK_NOTIFY

    Move extern declarations for _sqlite3_*_blocking functions before
    _sqlite3_exec_no_args which references them. Remove unused
    _sqlite3_prepare_v2_nolen function.
    mattn committed Apr 6, 2026
    Configuration menu
    Copy the full SHA
    89f4bbe View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1386 from mattn/perf/reduce-cgo-overhead

    reduce CGO call overhead for exec and bind paths
    mattn authored Apr 6, 2026
    Configuration menu
    Copy the full SHA
    8d12439 View commit details
    Browse the repository at this point in the history
Loading