t

firrtl.options

BufferedCustomFileEmission

trait BufferedCustomFileEmission extends CustomFileEmission

A buffered version of CustomFileEmission

This is especially useful for serializing large data structures. When emitting Strings, it makes it much easier to avoid materializing the entire serialized String in memory. It also helps avoid materializing intermediate datastructures in memory. Finally, it reduces iteration overhead and helps optimize I/O performance.

It may seem strange to use Array[Byte] in an otherwise immutable API, but for maximal performance it is best to use the JVM primitive that file I/O uses. These Arrays should only used immutably even though the Java API technically does allow mutating them.

Self Type
BufferedCustomFileEmission with Annotation
Source
StageAnnotations.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BufferedCustomFileEmission
  2. CustomFileEmission
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def baseFileName(annotations: AnnotationSeq): String

    Output filename where serialized content will be written

    Output filename where serialized content will be written

    The full annotation sequence is a parameter to allow for the location where this annotation will be serialized to be a function of other annotations, e.g., if the location where information is written is controlled by a separate file location annotation.

    annotations

    the annotation sequence at the time of emission

    Attributes
    protected
    Definition Classes
    CustomFileEmission
  2. abstract def getBytesBuffered: Iterable[Array[Byte]]

    A buffered version of getBytes for more efficient serialization

    A buffered version of getBytes for more efficient serialization

    If you only need to serialize an Iterable[String], you can use the String.getBytes method. It's also helpful to create a view which will do the .map lazily instead of eagerly, improving GC performance.

    def getBytesBuffered: Iterable[Array[Byte]] = myListString.view.map(_.getBytes)
  3. abstract def suffix: Option[String]

    Optional suffix of the output file

    Optional suffix of the output file

    Attributes
    protected
    Definition Classes
    CustomFileEmission

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toany2stringadd[BufferedCustomFileEmission] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (BufferedCustomFileEmission, B)
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toArrowAssoc[BufferedCustomFileEmission] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def ensuring(cond: (BufferedCustomFileEmission) => Boolean, msg: => Any): BufferedCustomFileEmission
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toEnsuring[BufferedCustomFileEmission] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (BufferedCustomFileEmission) => Boolean): BufferedCustomFileEmission
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toEnsuring[BufferedCustomFileEmission] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): BufferedCustomFileEmission
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toEnsuring[BufferedCustomFileEmission] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): BufferedCustomFileEmission
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toEnsuring[BufferedCustomFileEmission] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. final def filename(annotations: AnnotationSeq): File

    Method that returns the filename where this annotation will be serialized.

    Method that returns the filename where this annotation will be serialized.

    annotations

    the annotations at the time of serialization

    Definition Classes
    CustomFileEmission
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  16. final def getBytes: Iterable[Byte]

    A method that can convert this annotation to bytes that will be written to a file.

    A method that can convert this annotation to bytes that will be written to a file.

    If you only need to serialize a string, you can use the getBytes method:

    def getBytes: Iterable[Byte] = myString.getBytes
    Definition Classes
    BufferedCustomFileEmissionCustomFileEmission
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def replacements(file: File): AnnotationSeq

    Optionally, a sequence of annotations that will replace this annotation in the output annotation file.

    Optionally, a sequence of annotations that will replace this annotation in the output annotation file.

    A non-empty implementation of this method is a mechanism for telling a downstream Stage how to deserialize the information that was serialized to a separate file. For example, if a FIRRTL circuit is serialized to a separate file, this method could include an input file annotation that a later stage can use to read the serialized FIRRTL circuit back in.

    Definition Classes
    CustomFileEmission
  24. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toStringFormat[BufferedCustomFileEmission] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  2. def [B](y: B): (BufferedCustomFileEmission, B)
    Implicit
    This member is added by an implicit conversion from BufferedCustomFileEmission toArrowAssoc[BufferedCustomFileEmission] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from CustomFileEmission

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromBufferedCustomFileEmission to any2stringadd[BufferedCustomFileEmission]

Inherited by implicit conversion StringFormat fromBufferedCustomFileEmission to StringFormat[BufferedCustomFileEmission]

Inherited by implicit conversion Ensuring fromBufferedCustomFileEmission to Ensuring[BufferedCustomFileEmission]

Inherited by implicit conversion ArrowAssoc fromBufferedCustomFileEmission to ArrowAssoc[BufferedCustomFileEmission]

Ungrouped