Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading content…
Loading…
Transcript

{repo--base-url}/{group-id}/{artifact-id}/{version}/{artifact-id}-{version}.{type}

http://repo.bodar.com/com/googlecode/totallylazy/totallylazy/631/totallylazy-631.jar

GWT

  • Compiler is slow 30 seconds for 4.6K loc
  • Acceptance Tests are slow 20 mins for IE Selenium build
  • We replaced 4.6k with 800 lines of MVC code (inc templates)

In-memory

Testing

Libraries

SimpleWeb

  • Cold JVM start <30 ms
  • Walm JVM start <2 ms

Containers

Jetty

Tomcat

  • Deployed War 2+ seconds
  • Embedded web.xml static port 1 second
  • Embedded dynamic port Cold <30ms
  • Embedded dynamic port Walm <3ms
  • Deployed War 2+ seconds
  • Embedded mode ???

Java 6

HttpServer

  • Cold JVM start <20ms
  • Warm JVM start <1ms

Contract Tests

Lucene

Hibernate

Write them

in code

3.3 to 3.4 FilexxxDirectory

take 30x longer to create

NOT...

  • Fit
  • Fitness
  • Concordion

200 line HBM file -> 1.3 seconds to load SessionFactory!

Fast / Production Quality Dummies

Spring

Refactoring

Scala

byte code size

1+ year Annotated -> 1.3 seconds to create context

5+ year Xml -> 14 seconds (In tests use default-lazy-init to reduce time)

Java

Compile + Jar

Examples

  • 5+ year 150k app: 45 mins to <3 minutes
  • 3+ year 92K app: 20 mins to <3 minutes
  • 1+ year 15k app: 12+ seconds
  • 6 month 20k app: 15 seconds
  • 2 year 13k library: 8 seconds

Compiler + Language

Greenfield only?

Incremental vs

Clean

See

Crazy Fast Build Times

Or when 10 seconds starts to make you nervous

Measure

Ivy

Maven

Contract

Transative?

Ant

Tools

Daniel Worthington-Bodart

dan.bodart@springer.com

http://joinit.springer.com

buildr

wget/curl

Make

sbt

Why?

1999 - Ten

Minute Build

"A shorter build doesn't

give you time to

drink your coffee."

-

Windows / Mac / Linux

15%

OS / Hardware

HD / SSD / RAM

Learn more about creating dynamic, engaging presentations with Prezi