From 397645ac24874b6f54d88b2700e56be090753825 Mon Sep 17 00:00:00 2001 From: Yuxuan 'fishy' Wang Date: Sat, 18 Jan 2020 12:55:51 -0800 Subject: 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 --- CHANGES.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CHANGES.md') 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 -- cgit v1.2.1