Backstory: I decided to crowdsource static site generator recommendations, so the following are actual real world suggested-to-me results. I then took those and sorted them by language/server and, just for a decent relative metric, their Github Watcher count. If you want a heap of other projects (including other languages like Haskell and Python) Nanoc has the mother of all site generator lists. If you recommend another one, by all means add a comment.
L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns
Compress 1K bytes with Zippy ............. 3,000 ns = 3 ยตs
Send 2K bytes over 1 Gbps network ....... 20,000 ns = 20 ยตs
SSD random read ........................ 150,000 ns = 150 ยตs
Read 1 MB sequentially from memory ..... 250,000 ns = 250 ยตs
Re: On layout & web performance by Kelly Norton
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>#lazyweb Is there any documentation about which jQuery functions/effects trigger layout? re: kellegous.com/j/2013/01/26/lโฆ
โ Dave Rupert (@davatron5000) January 28, 2013
getWidthOrHeight()
used in jQuery.fn.width/height
clientLeft
- 3180 jQuery.event.mousehooks.filter
... | |
// test for font-face version to load via Data URI'd CSS | |
// Basically, load WOFF unless it's android's default browser, which needs TTF, or ie8-, which needs eot | |
var fonts = ns.files.css.fontsWOFF, | |
ua = win.navigator.userAgent; | |
// android webkit browser, non-chrome | |
if( ua.indexOf( "Android" ) > -1 && ua.indexOf( "like Gecko" ) > -1 && ua.indexOf( "Chrome" ) === -1 ){ | |
fonts = ns.files.css.fontsTTF; | |
} |
A current list of styleguide genorators useful for creating your own "bootstrap".
module.exports = function(grunt) { | |
// Configuration | |
grunt.initConfig({ | |
pkg: grunt.file.readJSON('package.json'), | |
concat: { | |
dist: { | |
src: [ | |
'source/js/libs/*.js', // All JS in the libs folder |
Note: Some older devices such as the Galaxy S III did not get the Chromium based browser with | |
the update to Android 4.2 or later. When Samsung later introduced the Galaxy S3 Neo it did get | |
the new browser. | |
Note: With the Android 4.3 release and version 1.5 of the Chromium browser, Samsung did not | |
enable WebAudio API for the Note 3. All other devices did get the WebAudio API. | |
Note: Samsung did not update the browser version with the upgrade from Android 4.3 to 4.4, | |
but did add getUserMedia and WebRTC functionality. |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
,elem.offsetTop
,elem.offsetWidth
,elem.offsetHeight
,elem.offsetParent
Originally based on the stock Android browser (AOSP), 2012.
"It was around early 2013 when we made [the decision to move to Chromium]. We shipped our first Chromium-based browser in one of the Galaxy S4 models released later in 2013." (Source)
- v1.0 preloaded in Galaxy S4
- v1.5 preloaded in Galaxy Note 3