Choose a version:
23% The original file has 1541642 bytes (1,505.5k) and is available from the project website.
There you can find the official minified version, too, which brings down the size to 348523 bytes (340.4k, 23%).

After GZIP compression these minified files vary in size:
Boot
  119504 bytes (116.7k)
CDN
jsdelivr
  119504 bytes (116.7k)
CDN
cdnjs
  99516 bytes (97.2k)
CDN
gzip -6 (default)
  98221 bytes (95.9k)
local copy
gzip -9
  97898 bytes (95.6k)
local copy
7zip -mx=9 -tgzip
  94773 bytes (92.6k)
local copy
libdeflate -12
  94650 bytes (92.4k)
local copy
pigz -11 -n
  94570 bytes (92.4k)
local copy
zultra
  94512 bytes (92.3k)
local copy
kzip -s0 -rn -b1
  94457 bytes (92.2k)
local copy
Zopfli
  94397 bytes (92.2k)
local copy
Zopfli (defluff)
  94395 bytes (92.2k)
local copy

perma-link to the smallest file on my server:
http://minime.stephan-brumme.com/files/ember/ember-1.7.0.min.js (or via HTTPS)

You will automatically get the smallest Ember 1.7.0 file, ETag caching is available and
if your browser doesn't support GZIP decompression then the uncompressed version will be sent.

Currently best Zopfli settings

Save 5119 bytes by using my Ember 1.7.0 Zopfli version instead of the best available CDN (5.42% smaller than cdnjs, 94397 vs. 99516 bytes):
You can use my super-compressed files for whatever purpose you like as long as you respect the library's original license agreement.
There are no restrictions from my side - but please avoid hot-linking if you run a high-traffic website.

These command-line settings yielded the best compression ratio so far (Linux version of zopfli-krzymod):
zopfli --i100000 --mb8 --mls64 --bsr15 --lazy --ohh

(found March 28, 2017)
Description Value Parameter
iterations 100000  --i100000
maximum blocks 8  --mb8
maximum length score 64  --mls64
block splitting recursion 15  --bsr15
lazy matching in LZ77 yes  --lazy
optimized Huffman headers yes  --ohh
initial random W for iterations 1  --rw1
initial random Z for iterations 2  --rz2

Even Smaller Files Thanks To Defluff

Zopfli's output can be further optimized by the defluff tool.
In this particular case, defluff saves 2 more bytes (94395 bytes).

Verify file integrity

After decompression, my uncompressed files are identical to the original ones:

MD5:
curl --silent --compressed https://builds.emberjs.com/tags/v1.7.0/ember.min.js --location | md5sum
dbf9a08b703c005bcf89dd2a4b2d06d5  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.7.0.min.zopfli.js.gz | md5sum
dbf9a08b703c005bcf89dd2a4b2d06d5  -

SHA1:
curl --silent --compressed https://builds.emberjs.com/tags/v1.7.0/ember.min.js --location | sha1sum
b5157ee8fee792ef7ceaef59a25fdfd43bf64615  -
curl --silent --compressed https://minime.stephan-brumme.com/files/ember/ember-1.7.0.min.zopfli.js.gz | sha1sum
b5157ee8fee792ef7ceaef59a25fdfd43bf64615  -

All listed CDNs deliver identical contents:
CDN Size (compressed) MD5 (uncompressed) Timestamp
Boot 119504 bytes dbf9a08b703c005bcf89dd2a4b2d06d5 March 19, 2015 @ 18:21
jsdelivr 119504 bytes dbf9a08b703c005bcf89dd2a4b2d06d5 September 14, 2014 @ 22:10
cdnjs 99516 bytes dbf9a08b703c005bcf89dd2a4b2d06d5 September 15, 2014 @ 14:45

Note: only the MD5 hashes are shown to keep things simple.

Other Versions

Available Ember versions at minime.stephan-brumme.com:

3.0.0,
2.18.2, 2.18.1, 2.18.0,
2.17.2, 2.17.1, 2.17.0,
2.16.2, 2.16.1, 2.16.0,
2.15.3, 2.15.2, 2.15.1, 2.15.0,
2.14.1, 2.14.0,
2.13.4, 2.13.3, 2.13.2, 2.13.1, 2.13.0,
2.12.2, 2.12.1, 2.12.0,
2.11.3, 2.11.2, 2.11.1, 2.11.0,
2.10.2, 2.10.1, 2.10.0,
2.9.1, 2.9.0,
2.8.3, 2.8.2, 2.8.1, 2.8.0,
2.7.3, 2.7.2, 2.7.1, 2.7.0,
2.6.2, 2.6.1, 2.6.0,
2.5.1, 2.5.0,
2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0,
2.3.1, 2.3.0,
2.2.2, 2.2.1, 2.2.0,
2.1.2, 2.1.1, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0,
1.13.13, 1.13.12, 1.13.11, 1.13.10, 1.13.9, 1.13.8, 1.13.7, 1.13.6, 1.13.5, 1.13.4, 1.13.3, 1.13.2, 1.13.1, 1.13.0,
1.12.2, 1.12.1, 1.12.0,
1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.11.0,
1.10.1, 1.10.0,
1.9.1, 1.9.0,
1.8.1, 1.8.0,
1.7.1, 1.7.0,
1.6.1, 1.6.0,
1.5.1, 1.5.0,
1.4.0,
1.3.2, 1.3.1, 1.3.0,
1.2.2, 1.2.1, 1.2.0,
1.0.1, 1.0.0

The project site contains an overview how well these versions were compressed.
Other interesting projects are AngularJS, BackboneJS, Bootstrap, D3, Dojo, jQuery, Knockout, lodash, React, Socket.IO, ThreeJS, UnderscoreJS and Vue.

Changelog

Best Zopfli parameters so far:
Size Improvement Parameters Found
94397 bytes -2 bytes zopfli --i100000 --mls64 --bsr15 --lazy --ohh March 28, 2017 @ 09:57
94399 bytes -1 byte zopfli --i100000 --mls512 --bsr20 --lazy --ohh July 22, 2016 @ 17:57
94400 bytes -1 byte zopfli --i10000 --mls512 --bsr20 --lazy --ohh November 21, 2015 @ 10:53
94401 bytes -12 bytes zopfli --i10000 --mls1024 --bsr11 --lazy --ohh October 1, 2015 @ 20:15
94413 bytes -11 bytes zopfli --i10000 --mls32768 --bsr12 --lazy --ohh October 1, 2015 @ 20:14
94424 bytes -2 bytes zopfli --i1000 --mls8 --bsr15 --lazy --ohh October 1, 2015 @ 20:11
94426 bytes -1 byte zopfli --i1000 --mls1024 --bsr11 --lazy --ohh October 1, 2015 @ 18:24
94427 bytes -36 bytes zopfli --i1000 --mls32768 --bsr12 --lazy --ohh October 1, 2015 @ 18:06
94463 bytes zopfli --i100 --mls32768 --bsr12 --lazy --ohh October 1, 2015 @ 16:38

If there are multiple parameter sets yielding the same compressed size, only the first one found is shown.

Most recent activity on July 20, 2020 @ 12:50.

Heatmaps

This Zopfli heatmap visualizes how compression changes when modifying the --bsr and --mls parameter.
Cell's contents is the best filesize achieved (in bytes, hover with mouse over cells to see number of iterations).

Good parameters are green, bad are red. The best and worst are bold as well.
The brightness of the blue background color indicates how many iterations were processed:
10,000 or 100,000.
bsr \ mls
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
bsr \ mls
2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
94409 94414 94408 94481 94407 94408 94410 94412 94409 94412 94481 94481 94481 94408 94417
94407 94409 94408 94405 94409 94415 94403 94411 94402 94403 94403 94411 94420 94421 94412
94404 94407 94402 94402 94406 94402 94403 94401 94403 94401 94409 94412 94408 94420 94414
94406 94409 94407 94402 94419 94401 94402 94406 94511 94403 94407 94415 94415 94426 94413
94403 94407 94401 94403 94403 94402 94403 94409 94399 94403 94402 94411 94409 94408 94419
94405 94407 94401 94402 94406 94406 94403 94402 94402 94402 94402 94412 94408 94418 94410
94406 94407 94403 94402 94406 94403 94403 94402 94403 94401 94401 94412 94407 94420 94410
94407 94405 94407 94403 94401 94403 94403 94402 94399 94401 94403 94412 94408 94420 94414
94408 94405 94403 94403 94406 94402 94404 94407 94403 94401 94402 94410 94410 94410 94413
94406 94407 94405 94406 94419 94404 94402 94409 94402 94403 94403 94413 94410 94420 94409
94405 94407 94402 94405 94407 94400 94402 94402 94403 94403 94402 94413 94408 94420 94408
94428 94407 94408 94403 94401 94397 94401 94406 94403 94408 94404 94415 94409 94420 94409
94407 94409 94402 94407 94406 94406 94403 94402 94404 94401 94409 94410 94408 94421 94410
94405 94406 94402 94402 94401 94403 94403 94404 94401 94409 94407 94412 94407 94420 94411
94404 94408 94403 94406 94401 94397 94403 94402 94399 94402 94402 94415 94407 94420 94409
94404 94401 94402 94404 94406 94402 94403 94408 94401 94403 94403 94409 94407 94424 94415
94407 94408 94402 94401 94401 94411 94404 94404 94399 94403 94403 94411 94407 94420 94422
94403 94408 94403 94401 94408 94401 94403 94404 94403 94400 94409 94412 94407 94420 94410
94404 94419 94401 94402 94406 94401 94401 94405 94399 94400 94401 94412 94408 94421 94410
94404 94407 94401 94406 94406 94403 94402 94472 94399 94403 94403 94411 94409 94426 94414
94406 94407 94401 94402 94419 94403 94402 94404 94399 94403 94406 94411 94409 94422 94412
94407 94406 94403 94402 94401 94403 94404 94401 94399 94402 94401 94413 94408 94424 94411
94402 94401 94402 94403 94419 94402 94403 94401 94399 94403 94409 94412 94409 94420 94409

Due to the Monte Carlo design of my search algorithm, not all parameters have reached the same number of iterations yet:
Iterations Min. Bytes Reduction Coverage
100 94463 bytes 100%
1,000 94407 bytes -56 bytes 100%
10,000 94400 bytes -7 bytes 100%
100,000 94397 bytes -3 bytes 6.67%
1,000,000
10,000,000

KZIP has far less options available for tuning/optimization. I only played around with the number of blocks (parameter -n):
Blocks Min. Bytes Compared To Best Zopfli Compared To Best KZIP
94469 bytes +72 bytes (+0.08%) +12 bytes
94457 bytes +60 bytes (+0.06%)
94505 bytes +108 bytes (+0.11%) +48 bytes
94553 bytes +156 bytes (+0.17%) +96 bytes
94520 bytes +123 bytes (+0.13%) +63 bytes
94550 bytes +153 bytes (+0.16%) +93 bytes
94488 bytes +91 bytes (+0.10%) +31 bytes
94522 bytes +125 bytes (+0.13%) +65 bytes
94480 bytes +83 bytes (+0.09%) +23 bytes

Non-DEFLATE Algorithms

Archivers based on completely different compression algorithms often produce superior results.
Unfortunately, browsers only support gzip compression at the moment.
However, support for Brotli is constantly growing - but your browser doesn't support it.
Algorithm Program Parameters Size Compared To Best Zopfli
ZPAQ (Wikipedia) zpaq zpaq -method 69 66516 bytes -27881 bytes (-29.54%)
RAR (proprietary) RAR rar a -m5 -md64m -mc63:128t -mt1 70600 bytes -23797 bytes (-25.21%)
PPMd (Wikipedia) 7zip 7za a -mx=9 -m0=ppmd 74732 bytes -19665 bytes (-20.83%)
Burrows-Wheeler transform (Wikipedia) bzip2 bzip2 -9 80135 bytes -14262 bytes (-15.11%)
Brotli (Wikipedia) brotli brotli -q 11 82752 bytes -11645 bytes (-12.34%)
LZMA2 (Wikipedia) xz xz -9 84956 bytes -9441 bytes (-10.00%)
Zstandard (Wikipedia) zstd zstd -19 87510 bytes -6887 bytes (-7.30%)

Detailled Analysis

I wrote a DEFLATE decoder in Javascript. Click the button below to start a client-side analysis of the smallest gzipped files (may take a second):


Notes: pigz is a fast open source multi-threaded implementation of gzip written by one of the original authors of gzip.
However, when using compression level 11, pigz actually switches to the slower Zopfli algorithm and isn't multi-threaded anymore.
KrzyMOD's extensions to Zopfli offer the highest level of configuration and is therefore used for my brute-force search.
Ken Silverman wrote the closed-source KZIP compression program and Jonathon Fowler ported it to Linux.
Defluff was created by Joachim Henke; DeflOpt is a tool by Ben Jos Walbeehm.

website made by Stephan Brumme in 2015 and still improving in 2024.
all timestamps are displayed in central european time. see my changelog.
no flash, not even images or external css files - and everything squeezed into a single html file.
which was handsomely compressed before releasing it into the wild internet - obviously.

please visit my homepage and my blog, too.
email: minime (at) stephan-brumme.com

All trademarks are property of their respective owners. You know, the boring legal stuff.