浏览代码

Update README.md

Chris Bannister 9 年之前
父节点
当前提交
b8fbcd61b7
共有 1 个文件被更改,包括 17 次插入3 次删除
  1. 17 3
      README.md

+ 17 - 3
README.md

@@ -30,6 +30,8 @@ Go/Cassandra | 2.0.x | 2.1.x | 2.2.x
 
 
 Gocql has been tested in production against many different versions of Cassandra. Due to limits in our CI setup we only test against the latest 3 major releases, which coincide with the official support from the Apache project.
 Gocql has been tested in production against many different versions of Cassandra. Due to limits in our CI setup we only test against the latest 3 major releases, which coincide with the official support from the Apache project.
 
 
+NOTE: as of Cassandra 3.0 it requires Java 8, currently (06/02/2016) we can not install Java 8 in Travis to run the integration tests. To run on Casdnra >=3.0 enable protocol 4 and it should work fine, if not please report bugs.
+
 
 
 Sunsetting Model
 Sunsetting Model
 ----------------
 ----------------
@@ -58,7 +60,6 @@ Features
   * Round robin distribution of queries to different connections on a host
   * Round robin distribution of queries to different connections on a host
   * Each connection can execute up to n concurrent queries (whereby n is the limit set by the protocol version the client chooses to use)
   * Each connection can execute up to n concurrent queries (whereby n is the limit set by the protocol version the client chooses to use)
   * Optional automatic discovery of nodes
   * Optional automatic discovery of nodes
-  * Optional support for periodic node discovery via system.peers
   * Policy based connection pool with token aware and round-robin policy implementations
   * Policy based connection pool with token aware and round-robin policy implementations
 * Support for password authentication
 * Support for password authentication
 * Iteration over paged results with configurable page size
 * Iteration over paged results with configurable page size
@@ -71,9 +72,22 @@ Features
   * Support for tuple types
   * Support for tuple types
   * Support for client side timestamps by default
   * Support for client side timestamps by default
   * Support for UDTs via a custom marshaller or struct tags
   * Support for UDTs via a custom marshaller or struct tags
+* Support for Cassandra 2.2+ [binary protocol version 4](https://github.com/apache/cassandra/blob/trunk/doc/native_protocol_v4.spec)
 * An API to access the schema metadata of a given keyspace
 * An API to access the schema metadata of a given keyspace
 
 
-Please visit the [Roadmap](https://github.com/gocql/gocql/wiki/Roadmap) page to see what is on the horizion.
+Performance
+-----------
+While the driver strives to be highly performant, there are cases where it is difficult to test and verify. The driver is built
+with maintainability and code readability in mind first and then performance and features, as such every now and then performance
+may degrade, if this occurs please report and issue and it will be looked at and remedied. The only time the driver copies data from
+its read buffer is when it Unmarshal's data into supplied types.
+
+Some tips for getting more performance from the driver:
+* Use the TokenAware policy
+* Use many goroutines when doing inserts, the driver is asynchronous but provides a synchronous api, it can execute many queries concurrently
+* Tune query page size
+* Reading data from the network to unmarshal will incur a large ammount of allocations, this can adversly affect the garbage collector, tune `GOGC`
+* Close iterators after use to recycle byte buffers
 
 
 Important Default Keyspace Changes
 Important Default Keyspace Changes
 ----------------------------------
 ----------------------------------
@@ -200,6 +214,6 @@ For some reason, when you google `golang cassandra`, this project doesn't featur
 License
 License
 -------
 -------
 
 
-> Copyright (c) 2012-2015 The gocql Authors. All rights reserved.
+> Copyright (c) 2012-2016 The gocql Authors. All rights reserved.
 > Use of this source code is governed by a BSD-style
 > Use of this source code is governed by a BSD-style
 > license that can be found in the LICENSE file.
 > license that can be found in the LICENSE file.