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: nuodb/nuodb-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: pds/work
Choose a base ref
...
head repository: nuodb/nuodb-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 12 files changed
  • 3 contributors

Commits on May 26, 2026

  1. Update to version 4.1.0

    madscientist committed May 26, 2026
    Configuration menu
    Copy the full SHA
    0ac4ee6 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2026

  1. Add an initial set of performance benchmarks (#199)

    * Add an initial set of performance benchmarks
    
    * make it work with pre-existing dbs too
    
    * Add whether cython is enabled
    
    ---------
    
    Co-authored-by: Martin Gallwey <mgy5@3ds.com>
    TheDistributor and Martin Gallwey authored Jul 31, 2026
    Configuration menu
    Copy the full SHA
    2f58da6 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2026

  1. Speed up Cursor.fetchall by draining batches directly (#196)

    * Optimize result fetching via block-draining and check inlining
    
    Accelerate data retrieval pathways in the Cursor class by optimizing row
    iteration and reducing interpreter overhead on high-frequency method loops.
    
    Detailed changes:
    - fetchone: Inline the `_check_closed()` state verification directly into the
      method body. This removes function-call stack overhead for every individual
      row retrieved.
    - fetchall: Refactor the loop to slice and drain the current in-memory result
      batch in bulk using `list.extend()` instead of sequentially invoking
      `fetchone()` row by row.
    - fetchall: Directly request the next network payload batch via
      `fetch_result_set_next` once the in-memory collection is exhausted, updating
      total `rownumber` tracking as a single block operation.
    - fetchall: Add a defensive guard clause against unallocated result sets to
      ensure strict DB-API compatibility.
    
    * merge fetchmany and fetchall
    
    ---------
    
    Co-authored-by: Martin Gallwey <mgy5@3ds.com>
    TheDistributor and Martin Gallwey authored Aug 4, 2026
    Configuration menu
    Copy the full SHA
    c758ba1 View commit details
    Browse the repository at this point in the history
  2. Reduce per-row overhead in session recv and putValue dispatch (#195)

    * Optimize network I/O buffering and parameter type dispatch
    
    Streamline the data-ingestion pipeline and outbound parameter encoding loop by
    eliminating high-overhead memory copies, optimizing primitive type comparisons,
    and increasing TCP window throughput.
    
    Detailed changes:
    - session: Request an opportunistic 1 MiB socket receive buffer (SO_RCVBUF) to
      minimize fragmented kernel reads across heavy wire payload streams.
    - session: Rewrite `__readFully` to pre-allocate a single message-sized
      bytearray. Populate it directly using zero-copy `sock.recv_into()` on a
      slicing memoryview, replacing an iterative chunk concatenation loop.
    - encodedsession: Update `recv()` and input stream targets to return and use
      raw mutable bytearray buffers directly, cutting down an extra copy.
    - encodedsession: Refactor `putValue` to use rapid pointer-level exact type
      comparisons (`type(v) is X`) for common database primitives (int, str, float,
      bool) before falling back to heavier hierarchy-aware `isinstance()` checks
      for the long tail.
    
    * Remove silly comment
    
    ---------
    
    Co-authored-by: Martin Gallwey <mgy5@3ds.com>
    TheDistributor and Martin Gallwey authored Aug 4, 2026
    Configuration menu
    Copy the full SHA
    ef860b2 View commit details
    Browse the repository at this point in the history
Loading