diff options
author | Yuxuan 'fishy' Wang <yuxuan.wang@reddit.com> | 2020-01-18 12:55:51 -0800 |
---|---|---|
committer | Duru Can Celasun <dcelasun@apache.org> | 2020-01-18 20:55:51 +0000 |
commit | 397645ac24874b6f54d88b2700e56be090753825 (patch) | |
tree | fa59900d864e2c15e4a04f3a8857c9166b9f3b36 /CHANGES.md | |
parent | a5ec666e1ba76fe7385ed56f484c9dfdd5b6bfc9 (diff) | |
download | thrift-397645ac24874b6f54d88b2700e56be090753825.tar.gz |
THRIFT-5069: Make TDeserializer resource pool friendly
Client: go
This change improves performance when using TDeserializer with a
resource pool. See https://issues.apache.org/jira/browse/THRIFT-5069 for
more context.
Also add TSerializerPool and TDeserializerPool, which are thread-safe
versions of TSerializer and TDeserializer. Benchmark result shows that
they are both faster and use less memory than the plain version:
$ go test -bench Serializer -benchmem
goos: darwin
goarch: amd64
BenchmarkSerializer/baseline-8 577558 1930 ns/op 512 B/op 6 allocs/op
BenchmarkSerializer/plain-8 452712 2638 ns/op 2976 B/op 16 allocs/op
BenchmarkSerializer/pool-8 591698 2032 ns/op 512 B/op 6 allocs/op
PASS
Diffstat (limited to 'CHANGES.md')
-rw-r--r-- | CHANGES.md | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/CHANGES.md b/CHANGES.md index e179a6375..1dddab99e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,10 +7,16 @@ - [THRIFT-4990](https://issues.apache.org/jira/browse/THRIFT-4990) - Upgrade to .NET Core 3.1 (LTS) - [THRIFT-4981](https://issues.apache.org/jira/browse/THRIFT-4981) - Remove deprecated netcore bindings from the code base - [THRIFT-5006](https://issues.apache.org/jira/browse/THRIFT-5006) - Implement DEFAULT_MAX_LENGTH at TFramedTransport +- [THRIFT-5069](https://issues.apache.org/jira/browse/THRIFT-5069) - In Go library TDeserializer.Transport is now typed \*TMemoryBuffer instead of TTransport ### Java - [THRIFT-5022](https://issues.apache.org/jira/browse/THRIFT-5022) - TIOStreamTransport.isOpen returns true for one-sided transports (see THRIFT-2530). + +### Go + +- [THRIFT-5069](https://issues.apache.org/jira/browse/THRIFT-5069) - Add TSerializerPool and TDeserializerPool, which are thread-safe versions of TSerializer and TDeserializer. + ## 0.13.0 ### New Languages |