Commit Graph

124 Commits (b2bc1cd315a213a0822dc63643a57b1c5b263743)

Author SHA1 Message Date
Ben Johnson e25d61e4bd
TagSet writer & reader. 2017-01-05 09:34:36 -07:00
Ben Johnson 2c34b24f5c
Implemented SeriesList 2017-01-05 09:34:36 -07:00
Ben Johnson 6523675c20
Implemented RHH hash map. 2017-01-05 09:34:35 -07:00
Mark Rushakoff 0551d87ddb Update godoc for pkg 2016-12-30 18:03:01 -08:00
Cameron Sparr fa2b78d67e Optimize string escaping & unescaping
benchmarks pre-commit:

go test ./pkg/escape/... -bench=. -benchmem
BenchmarkStringEscapeNoEscapes-8         10000000          122 ns/op     0 B/op      0 allocs/op
BenchmarkStringUnescapeNoEscapes-8       300000000         5.69 ns/op    0 B/op      0 allocs/op
BenchmarkManyStringEscape-8               1000000          1073 ns/op    320 B/op    8 allocs/op
BenchmarkManyStringUnescape-8             1000000          1557 ns/op    288 B/op    8 allocs/op
PASS
ok      github.com/influxdata/influxdb/pkg/escape    6.304s

benchmarks post-commit:

go test ./pkg/escape/... -bench=. -benchmem
BenchmarkStringEscapeNoEscapes-8         100000000         17.5 ns/op    0 B/op      0 allocs/op
BenchmarkStringUnescapeNoEscapes-8       300000000         5.70 ns/op    0 B/op      0 allocs/op
BenchmarkManyStringEscape-8               3000000          451 ns/op     224 B/op    6 allocs/op
BenchmarkManyStringUnescape-8             2000000          944 ns/op     304 B/op    9 allocs/op
PASS
ok      github.com/influxdata/influxdb/pkg/escape    8.727s
2016-11-24 10:25:35 +00:00
Cameron Sparr 3fe0ffd5ad String escape unit tests 2016-11-18 16:02:52 +00:00
Joe LeGasse 743946fafb models: Add FieldIterator type
The FieldIterator is used to scan over the fields of a point, providing
information, and delaying parsing/decoding the value until it is needed.
This change uses this new type to avoid the allocation of a map for the
fields which is then thrown away as soon as the points get converted
into columns within the datastore.
2016-10-03 16:30:21 -06:00
Jason Wilder f632b41f6a Update godoc 2016-09-26 12:19:15 -06:00
Jason Wilder 7f96d78b79 Make encoder re-usable
This allows encoders to be re-used and maintained in a pool to
avoid allocating new ones on every compactions and write of an encoded
block.  The pool used is not a sync.Pool to ensure that the encoders
will not be garbage collected.
2016-09-26 12:19:15 -06:00
Jason Wilder 25508fa05f Add pool.Bytes for re-using byte slices
This adds a new pool type that allows byte slices
to be re-used across clients.  A sync.Pool can't be used in some
cases because the the slices not in use end up getting garbage
collected due to frequent GCs.
2016-09-26 12:19:15 -06:00
Jason Wilder b692ef4f48 Rename throttle package to limiter 2016-07-18 12:00:58 -06:00
Jason Wilder c2370b437b Limit in-flight wal writes/encodings
A slower disk can can cause excessive allocations to occur when
writing to the WAL because the slower encoding and compression occurs
before taking the write lock.  The encoding/compression grabs a large
byte slice from a pool and ultimately waits until it can acquire the
write lock.

This adds a throttle to limit how many inflight WAL writes can be queued
up to prevent OOMing the processess with slower disks and heavy writes.
2016-07-17 23:53:12 -06:00
Jason Wilder 84c776bf2a Skip allocating string in unescapeString 2016-05-27 10:30:08 -06:00
Jason Wilder 4b32760dac Use stdlib func instead of scanning slices 2016-04-20 16:08:58 -06:00
Jason Wilder fde5576d64 Avoid allocations when no escape chars present 2016-04-20 16:00:26 -06:00
aviau 287b7173db
include missing license for equal.go 2016-04-06 17:08:13 -04:00
Ben Johnson d9a6a7340f add canonical paths 2016-02-10 11:30:52 -07:00
Jonathan A. Sternberg 3dd6aa17f3 Test the merge iterator for every type instead of just floats 2016-02-10 09:40:26 -07:00
Ben Johnson cde973f409 refactor query engine 2016-02-10 09:40:24 -07:00
Philip O'Toole a8c285d265 Correctly name pkg README
[ci skip]
2015-12-17 11:24:58 -08:00
Steffen Windoffer d36a610a06 Complete lint for pkg/slices 2015-11-09 20:21:03 +01:00
David Howden 7491564f9d Added tests for esape.Unescape 2015-10-16 10:14:47 +11:00
Cory LaNou 7284e314e5 add pkg files 2015-09-16 16:41:56 -05:00
Cory LaNou bdc54cf5d2 helpers -> pkg + readme 2015-09-04 13:30:43 -05:00