scalac-profiling icon indicating copy to clipboard operation
scalac-profiling copied to clipboard

Macro data seems to be counted incorrectly under show-profiles

Open DSlug opened this issue 1 year ago • 2 comments

expandedNodes and expansionNanos are always 0 in the output generated when the show-profiles flag is enabled.

Example code:

import io.circe.generic.semiauto._
import io.circe.generic.auto._
object Main {
  case class T(f1: Either[List[List[List[Int]]],Option[String]])
  def main(args: Array[String]): Unit = deriveCodec[T]
}

Output:

[info] time spent in macroExpand     : 180 spans, ()344.558ms (88.6%)
[info] Macro data per call-site:
[info] Map(
[info]   NoPosition -> MacroInfo(expandedMacros = 6, expandedNodes = 0, expansionNanos = 0L),
[info]   source-testproj/src/main/scala/Main.scala,line-7,offset=198 -> MacroInfo(
[info]     expandedMacros = 58,
[info]     expandedNodes = 0,
[info]     expansionNanos = 0L
[info]   )
[info] )
[info] Macro data per file:
[info] HashMap(
[info]   Main.scala -> MacroInfo(expandedMacros = 58, expandedNodes = 0, expansionNanos = 0L),
[info]   <no source file> -> MacroInfo(expandedMacros = 6, expandedNodes = 0, expansionNanos = 0L)
[info] )
[info] Macro data in total:
[info] MacroInfo(expandedMacros = 64, expandedNodes = 0, expansionNanos = 0L)

This is occurring in both 2.12 and 2.13 for me.

DSlug avatar Jan 24 '24 22:01 DSlug