profile
viewpoint

fhartwig/gearbox 11

A simple bittorrent client written in rust

fhartwig/libpnet 1

Cross-platform, low level networking using the Rust programming language.

fhartwig/punch 1

A simple command line time tracking tool

fhartwig/adhocracy3.mercator 0

Adhocracy customizations for advocate-europe

fhartwig/bson-rs 0

Encoding and decoding support for BSON in Rust

fhartwig/bytes 0

Utilities for working with bytes

fhartwig/cabal 0

Official upstream development repository for Cabal and cabal-install

fhartwig/cargo 0

The Rust package manager

fhartwig/cpython 0

The Python programming language

fhartwig/critbit 0

A Haskell implementation of crit-bit trees.

delete branch pubnative/mysqldriver-go

delete branch : reduce-allocs

delete time in 2 months

push eventpubnative/mysqldriver-go

Florian Hartwig

commit sha 31336c0885b9f9ef44eac56a3e6ce1acac2a4ad5

Avoid string allocations in `NullBool` and `NullInt` methods (#11)

view details

push time in 2 months

PR merged pubnative/mysqldriver-go

Avoid string allocations in `NullBool` and `NullInt` methods

Right now NullInt and NullBool get a byte slice from the underlying DB connection buffer, convert it to a string and then parse that string into an int/bool. The conversion from []byte to string requires a memory allocation, which we can avoid by parsing the int/bool directly from the []byte. atoi and parseBool are copied from Go's standard library and modified to work on byte slices instead of strings while preserving the existing behaviour (including errors etc.). Both methods are pretty simple and neither one has had any meaningful changes in the last few years, so I think the maintenance burden of copying them into our code base is pretty small.

+96 -8

0 comment

3 changed files

fhartwig

pr closed time in 2 months

push eventpubnative/mysqldriver-go

Florian Hartwig

commit sha 0afa01d2c43b7442f912b0e1b44e6eeeb12185b2

Remove TODO

view details

push time in 2 months

PR opened pubnative/mysqldriver-go

Avoid string allocations in `NullBool` and `NullInt` methods

Right now NullInt and NullBool get a byte slice from the underlying DB connection buffer, convert it to a string and then parse that string into an int/bool. The conversion from []byte to string requires a memory allocation, which we can avoid by parsing the int/bool directly from the []byte. atoi and parseBool are copied from Go's standard library and modified to work on byte slices instead of strings while preserving the existing behaviour (including errors etc.). Both methods are pretty simple and neither one has had any meaningful changes in the last few years, so I think the maintenance burden of copying them into our code base is pretty small.

+96 -8

0 comment

3 changed files

pr created time in 2 months

push eventpubnative/mysqldriver-go

Florian Hartwig

commit sha 3b870746cac3195cf03d80ea7dcf316531ff3b8b

optimise row methods

view details

push time in 2 months

create barnchpubnative/mysqldriver-go

branch : reduce-allocs

created branch time in 2 months

more