Skip to content

Instantly share code, notes, and snippets.

@jvican
Created July 20, 2017 11:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jvican/6d1dbf2b0d450f1b85e8b417aec842e6 to your computer and use it in GitHub Desktop.
Save jvican/6d1dbf2b0d450f1b85e8b417aec842e6 to your computer and use it in GitHub Desktop.
Gist to test whether unused names have an effect in the first compiler iteration.
# README
To execute `BloatedTest.scala`, run (this is what sbt does):
`time scalac Test.scala -bootclasspath /usr/lib/jvm/java-8-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk/jre/classes:/home/jvican/.sbt/boot/scala-2.12.2/lib/scala-library.jar -classpath /data/rw/code/scala/experiment-performance/target/scala-2.12/classes/home/jvican/.ivy2/cache/io.circe/circe-core_2.12/jars/circe-core_2.12-0.8.0.jar:/home/jvican/.ivy2/cache/io.circe/circe-numbers_2.12/jars/circe-numbers_2.12-0.8.0.jar:/home/jvican/.ivy2/cache/org.typelevel/cats-core_2.12/jars/cats-core_2.12-0.9.0.jar:/home/jvican/.ivy2/cache/org.typelevel/cats-macros_2.12/jars/cats-macros_2.12-0.9.0.jar:/home/jvican/.ivy2/cache/com.github.mpilquist/simulacrum_2.12/jars/simulacrum_2.12-0.10.0.jar:/home/jvican/.ivy2/cache/org.typelevel/macro-compat_2.12/jars/macro-compat_2.12-1.1.1.jar:/home/jvican/.ivy2/cache/org.typelevel/machinist_2.12/jars/machinist_2.12-0.6.1.jar:/home/jvican/.sbt/boot/scala-2.12.2/lib/scala-reflect.jar:/home/jvican/.ivy2/cache/org.typelevel/cats-kernel_2.12/jars/cats-kernel_2.12-0.9.0.jar:/home/jvican/.ivy2/cache/io.circe/circe-generic_2.12/jars/circe-generic_2.12-0.8.0.jar:/home/jvican/.ivy2/cache/com.chuusai/shapeless_2.12/bundles/shapeless_2.12-2.3.2.jar:/home/jvican/.ivy2/cache/io.circe/circe-parser_2.12/jars/circe-parser_2.12-0.8.0.jar:/home/jvican/.ivy2/cache/io.circe/circe-jawn_2.12/jars/circe-jawn_2.12-0.8.0.jar:/home/jvican/.ivy2/cache/org.spire-math/jawn-parser_2.12/jars/jawn-parser_2.12-0.10.4.jar`
To execute `Test.scala`, run:
`time scalac Test.scala`
package test
import java.lang._
import java.applet._
import java.awt._
import java.beans._
import java.io._
import java.lang._
import java.math._
import java.net._
import java.nio._
import java.rmi._
import java.security._
import java.sql._
import java.text._
import java.time._
import java.util._
import javax.accessibility._
import javax.activation._
import javax.activity._
import javax.crypto._
import javax.imageio._
import javax.jws._
import javax.lang._
import javax.management._
import javax.naming._
import javax.net._
import javax.print._
import javax.security._
import javax.xml._
import scala.language._
import scala.collection._
import scala.collection.JavaConverters._
import scala.collection.JavaConversions._
import scala.collection.parallel._
import scala.annotation._
import scala.beans._
import scala.compat._
import scala.concurrent._
import scala.concurrent.duration._
import scala.concurrent.forkjoin._
import scala.concurrent.impl._
import scala.io._
import scala.math._
import scala.reflect.{io => sio, _}
import scala.reflect.macros._
import scala.reflect.macros.internal._
import shapeless._
import shapeless.ops._
import shapeless.syntax._
import shapeless.test._
import io.circe._
import io.circe.generic.auto._
// scalac Test.scala -bootclasspath -classpath 5.34s user 0.07s system 265% cpu 2.040 total
class Test {
println("Hello World")
}
package test
// scalac Test.scala 4.37s user 0.12s system 253% cpu 1.774 total
class Test {
println("Hello World")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment