diff options
| author | JF Bastien <jfb@chromium.org> | 2015-06-15 16:33:16 +0200 |
|---|---|---|
| committer | JF Bastien <jfb@chromium.org> | 2015-06-15 16:33:16 +0200 |
| commit | 92d6871982d235d90e846688277f5fe7c1c543a9 (patch) | |
| tree | 1473b63b1a66bc145a5d78dee9f45707d6618b43 /BinaryEncoding.md | |
| parent | 90ce54fd91e14864b4aafcf0c2f2ecf2b28ceea2 (diff) | |
| parent | 204b7b8d399122ef12a5a1376f205195238fd295 (diff) | |
| download | nanowasm-design-92d6871982d235d90e846688277f5fe7c1c543a9.tar.gz | |
Merge.
Diffstat (limited to 'BinaryEncoding.md')
| -rw-r--r-- | BinaryEncoding.md | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/BinaryEncoding.md b/BinaryEncoding.md index d2f8fca..3aad2a6 100644 --- a/BinaryEncoding.md +++ b/BinaryEncoding.md @@ -18,7 +18,7 @@ Reducing download size, is achieved through three layers: * We can do better than generic compression because we are aware of the AST structure and other details: * For example, macro compression that - [deduplicates AST trees](https://github.com/WebAssembly/spec/issues/58#issuecomment-101863032) + [deduplicates AST trees](https://github.com/WebAssembly/design/issues/58#issuecomment-101863032) can focus on AST nodes + their children, thus having `O(nodes)` entities to worry about, compared to generic compression which in principle would need to look at `O(bytes*bytes)` entities. Such macros would allow the @@ -43,14 +43,14 @@ Yes: * Large reductions in payload size can still significantly decrease the compressed file size. * Experimental results from a - [polyfill prototype](https://github.com/WebAssembly/polyfill) show the + [polyfill prototype](https://github.com/WebAssembly/polyfill-prototype-1) show the gzipped binary format to be about 20-30% smaller than the corresponding gzipped asm.js. * A binary format that represents the names of variables and functions with raw indices instead of strings is much faster to decode: array indexing vs. dictionary lookup. * Experimental results from a - [polyfill prototype](https://github.com/WebAssembly/polyfill) show that + [polyfill prototype](https://github.com/WebAssembly/polyfill-prototype-1) show that decoding the binary format is about 23× faster than parsing the corresponding asm.js source (using [this demo](https://github.com/lukewagner/AngryBotsPacked), comparing @@ -123,8 +123,9 @@ conflict-avoidance practices surrounding string names: * To avoid (over time) large index-space declaration sections that are largely the same between modules, finalized versions of standards would define named baseline index spaces that modules could optionally use as a starting point to further refine. - * For example, to use all of [the MVP](MVP.md) plus [SIMD](EssentialPostMVPFeatures.md#fixed-width-simd) - the declaration could be "base" followed by the list of SIMD opcodes used. + * For example, to use all of [the MVP](MVP.md) plus + [SIMD](PostMVP.md#fixed-width-simd) the declaration could be "base" + followed by the list of SIMD opcodes used. * This feature would also be most useful for people handwriting the [text format](TextFormat.md). * However, such a version declaration does not establish a global "version" for the module or affect anything outside of the initialization of the index spaces; decoders would |
