⚡️ Speed up function _double by 23%
          #21
        
          
      
                
     Open
            
            
          
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
📄 23% (0.23x) speedup for
_doubleinsrc/deepgram/extensions/telemetry/proto_encoder.py⏱️ Runtime :
13.8 microseconds→11.3 microseconds(best of81runs)📝 Explanation and details
The optimization inlines the
_varintfunction directly into_key, eliminating function call overhead. Since_keygenerates protobuf wire format keys using(field_number << 3) | wire_type, the resulting values are typically small (most field numbers are < 16, so keys are usually ≤ 0x7F).Key changes:
_varint((field_number << 3) | wire_type)with inlined varint encoding logicif value <= 0x7F: return bytes((value,))for single-byte encodingWhy it's faster:
_varintfor every key generationThe 22% speedup is particularly effective for test cases with small field numbers (like the annotated tests using field_number=1 and field_number=13), where the fast-path single-byte encoding provides maximum benefit. This optimization excels in typical protobuf usage patterns where field numbers stay low.
✅ Correctness verification report:
🌀 Generated Regression Tests and Runtime
🔎 Concolic Coverage Tests and Runtime
codeflash_concolic_7zeygj7s/tmpmx0pv4o_/test_concolic_coverage.py::test__doubleTo edit these changes
git checkout codeflash/optimize-_double-mh4j30jdand push.