com.twitter.algebird

TopKMonoid

class TopKMonoid[T] extends Monoid[TopK[T]]

A top-k monoid that is much faster than SortedListTake equivalent to: (left ++ right).sorted.take(k) but doesn't do a total sort You should STRONGLY prefer this to SortedTakeListMonoid which is deprecated and slow If you can handle the mutability, mutable.PriorityQueueMonoid is even faster.

NOTE!!!! This assumes the inputs are already sorted! resorting each time kills speed

Linear Supertypes
Monoid[TopK[T]], Semigroup[TopK[T]], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TopKMonoid
  2. Monoid
  3. Semigroup
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TopKMonoid(k: Int)(implicit ord: Ordering[T])

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def assertNotZero(v: TopK[T]): Unit

    Definition Classes
    Monoid
  8. def build(ts: Iterable[T]): TopK[T]

  9. def build(t: T): TopK[T]

  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  17. def isNonZero(v: TopK[T]): Boolean

    Definition Classes
    Monoid
  18. def merge(bigger: TopK[T], smaller: TopK[T]): TopK[T]

    Attributes
    protected
  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. def nonZeroOption(v: TopK[T]): Option[TopK[T]]

    Definition Classes
    Monoid
  21. final def notify(): Unit

    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  23. def plus(left: TopK[T], right: TopK[T]): TopK[T]

    Definition Classes
    TopKMonoidSemigroup
  24. def sum(vs: TraversableOnce[TopK[T]]): TopK[T]

    Definition Classes
    Monoid
  25. def sumOption(iter: TraversableOnce[TopK[T]]): Option[TopK[T]]

    override this if there is a faster way to do this sum than reduceLeftOption on plus

    override this if there is a faster way to do this sum than reduceLeftOption on plus

    Definition Classes
    Semigroup
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. lazy val zero: TopK[T]

    Definition Classes
    TopKMonoidMonoid

Inherited from Monoid[TopK[T]]

Inherited from Semigroup[TopK[T]]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped