Skip to content

Instantly share code, notes, and snippets.

@h1994st
Last active January 8, 2016 15:47
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 h1994st/9ff20244fc76f28cbb6a to your computer and use it in GitHub Desktop.
Save h1994st/9ff20244fc76f28cbb6a to your computer and use it in GitHub Desktop.
Firefox Dependency Tree
           +---------------+
           |     id=0      |
           +---------------+
           ^       ^       ^
          /        |        \
    w=201/    w=101|         \w=1
        /          |          \
    +-----+     +-----+     +-----+
    |id=3 |     |id=5 |     |id=7 |
    +-----+     +-----+     +-----+
       ^                       ^
       |                       |
    w=1|                    w=1|
       |                       |
    +-----+                 +-----+
    |id=11|                 |id=9 |
    +-----+                 +-----+

Comments in source code:

  // we create 5 fake dependency streams per session,
  // these streams are never opened with HEADERS. our first opened stream is 0xd
  // 3 depends 0, weight 200, leader class (kLeaderGroupID)
  // 5 depends 0, weight 100, other (kOtherGroupID)
  // 7 depends 0, weight 0, background (kBackgroundGroupID)
  // 9 depends 7, weight 0, speculative (kSpeculativeGroupID)
  // b depends 3, weight 0, follower class (kFollowerGroupID)
  //
  // streams for leaders (html, js, css) depend on 3
  // streams for folowers (images) depend on b
  // default streams (xhr, async js) depend on 5
  // explicit bg streams (beacon, etc..) depend on 7
  // spculative bg streams depend on 9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment