Skip to content

Releases: twitter/algebird

Bringing Aggregator Goodness to 0.8 branch

04 Dec 23:43
Compare
Choose a tag to compare

Similar to the 0.7.2 release, this is identical to the 0.8 release except that it has many Aggregators and Folds added.

See: https://github.com/twitter/algebird/blob/0.8.2/algebird-core/src/main/scala/com/twitter/algebird/Aggregator.scala#L55

There are now Aggregators for count, size, max, maxBy, min, minBy, forall, exists, sortedTake, sortedReverseTake, toSet, toList, uniqueCount and a few more.

Also, by an enrichment (for binary compatibility), you can .join two aggregators to aggregate a sequence (or a Scalding TypedPipe) without passing over it twice.

If you are not operating in parallel, the Fold type is just as useful. You can toFold and Aggregator, which can also be joined.

Aggregate away!

More Aggregators for Ye Olde 0.7 branch

04 Dec 22:19
Compare
Choose a tag to compare

This is identical to the 0.7 release except that it has many Aggregators and Folds added.

See: https://github.com/twitter/algebird/blob/0.7.2/algebird-core/src/main/scala/com/twitter/algebird/Aggregator.scala#L55

There are now Aggregators for count, size, max, maxBy, min, minBy, forall, exists, sortedTake, sortedReverseTake, toSet, toList, uniqueCount and a few more.

Also, by an enrichment (for binary compatibility), you can .join two aggregators to aggregate a sequence (or a Scalding TypedPipe) without passing over it twice.

If you are not operating in parallel, the Fold type is just as useful. You can toFold and Aggregator, which can also be joined.

Aggregate away!

Now with 2.11 support!

10 Sep 02:48
Compare
Choose a tag to compare
  • Removes deprecated monoid: #342
  • Use some value classes: #340
  • WIP: Algebird 210 211: #337
  • Use Builder in Seq/List Monoids: #338
  • Add a commment to close 334: #339
  • Make trait public that should never have been private: #335
  • Fix some issues with Successible/Predessible: #332
  • Add Applicative and Functor as superclasses of Monad: #330
  • Updated Maven section to updated version 0.7.0: #329

Heuristic based aggregator, simplify the space saver

03 Jul 19:09
Compare
Choose a tag to compare
  • simplification for spacesaver. before buckets were kept in an option str...: #308
  • Dynamic Summer, may use heuristics to decide not to keep a tuple in a buffer for aggregation.: #314
  • Was a missing call to the update if we had flushed. Now we just do it as...: #324
  • Bump to 2.10.4 in travis: #323
  • Feature/auto formatter ran: #321
  • Little commit fixing up some spacing per our norms:: #319
  • provider methods for java: #317
  • Serializable adaptive matrix: #318
  • Clean up comments: #315
  • make distribution immutable now that it contains mutable counters: #313
  • a monoid that keeps track of the monoid usage: #311

More focus on performance

18 Apr 23:22
Compare
Choose a tag to compare
  • make constructors for SpaceSaver subclasses public so that deserializers..: #289
  • Restoring optimized SketchMapMonoid#sumOption: #293
  • Newer caliper hll benchmark: #297
  • hll optimization: #299
  • Optimize the storage backend used in sketch map: #301
  • migrate async summers from Summingbird: #296
  • add sumOption to EventuallySemiGroup: #306
  • Heavyhitters no longer attempts lazy storage in SketchMap: #305
  • Async Maps performance improvements: #302
  • Make the AsyncListSum be immutable again: #309

Version 0.5.0

06 Mar 21:39
Compare
Choose a tag to compare
  • Remove handling that doesn't seem needed/wanted for longs: #287
  • Add average() for DecayedValue: #286
  • SketchMapParams can support being constructed with both width/depth and eps/delta: #285
  • undo the undo of the interval fixes: #283
  • Fix priority queue bug found by scalacheck: #280
  • Adds type parameters to Intersection for more precision: #279
  • Make resolver consistent with scalding: #276
  • remove Math use in test: #275
  • Remove extends function from algebird: #274
  • remove unnecessary implicit requirement: #272
  • Fix SketchMapMonoid zero: #269
  • Make SketchMapMonoid params public: #265
  • Add Predecessible and methods to Interval: #262
  • Implement StreamSummary data structure for finding frequent/top-k items: #259

Version 0.4.0

06 Feb 19:46
Compare
Choose a tag to compare
  • Make SketchMap1 the only SketchMap implementation: #256
  • Use semigroup in StateWithError: #255
  • Don't iterate through everything in unit monoid: #253
  • Factor as much logic as possible into SketchmapMonoid1: #251
  • Moving Trampoline flatMap implementation into trait: #249
  • Integrate Caliper: #248
  • Adds append method to MonoidAggregator and RingAggregator: #246
  • Make the map monoid more performant for mutable maps: #245
  • Make BFHash take on non negative values only: #243
  • Fixed DecayedValue: #238
  • Updated scaladoc to 0.3.0: #237
  • Add Incrementable and tests: #234
  • Updates sbt runner: #232
  • Upgrade sbt, specs, add a build.properties, and bump travis's target: #231

Successible, Tuple sumOption and more

06 Dec 22:14
Compare
Choose a tag to compare
  • Make a field transient in BloomFilter serialization: #209
  • Add the TunnelMonoid to Util (like async function monoid): #213
  • Make DecayedValueMonoid a class: #223
  • SketchMap performance improvements: #227
  • Add the Option group: #230
  • Add Successible Typeclass for countable things: #234
  • sumOption support on generated tuple Semigroups: #242

Thanks to @jcoveney , @andrewnguyen , @jackcwang1 , @tsdeng and @gmike especially.

Optimize the sums

03 Oct 23:09
Compare
Choose a tag to compare
  • Optimize lots of the Monoids/Semigroups when summing many items: see Semigroup.sumOption #206
  • Add many Aggregators for more convenient aggregation: #194
  • Aggregators compose: #188
  • Added scala.collection.Map (not just immutable.Map) algebras: #199
  • Added Boolean monoids (Or and And): #198

Algebird 0.2.0

17 Jul 21:09
Compare
Choose a tag to compare

This release closes up the following issues:

  • Adds algebird-bijection module: #181
  • Build cleanups: #180
  • MapAlgebra.sparseEquiv: #182
  • Remove isNonZero from Semigroup, add to Monoid: #183
  • add MapAlgebra.mergeLookup: #185

The new release's API documentation can be found here:

http://twitter.github.io/algebird/#package

Thanks to all of our wonderful contributors!