Skip to content

Instantly share code, notes, and snippets.

@geoff-nixon
Last active January 1, 2016 13:49
Show Gist options
  • Save geoff-nixon/8153394 to your computer and use it in GitHub Desktop.
Save geoff-nixon/8153394 to your computer and use it in GitHub Desktop.
Performance stats with GitHub linguist.

Selected Repos (i.e., don't fail without patch)

    Key: [-head-] {+with patch+}

==================================================

Whole Directory


bash -c 'time -p linguist .' 2>&1

real [-142.18-]{+229.29+}
user [-117.94-]{+197.03+}
sys [-14.81-]{+21.67+}

Each Repo, 4 jobs, no output


bash -c 'time -p ls | xargs -n1 -P4 linguist 1>&2 2>/dev/null' 2>&1

real [-78.76-]{+98.22+}
user [-274.19-]{+340.77+}
sys [-25.29-]{+30.62+}

Each Repo, 4 jobs, no output (disabled blob helper)


real [-70.39-]{+69.21+}
user [-244.93-]{+242.89+}
sys [-24.05-]{+23.02+}

'tongue'


real 34.96
user 110.33
sys 20.78



All Repos - includes ones that fail w/o patch

          Key: [-head-] {+'tongue'+}

=======================================================

real [-815.10-]{+178.53+}
user [-2661.64-]{+468.21+}
sys [-232.43-]{+116.95+}

'tongue' (single job only)

========================= real 629.78
user 413.51
sys 119.85



Test repo set:

==================

1.8M AckMate ggreer/AckMate
8.2M Alcatraz mneorr/Alcatraz
136K Apple-ID-AppleScript aaronfreimark/Apple-ID-AppleScript
25M BridgeSupport mobiruby/BridgeSupport
5.0M Chameleon BigZaphod/Chameleon
2.9M CoffeeScriptRedux michaelficarra/CoffeeScriptRedux
16M DTCoreText Cocoanetics/DTCoreText
4.5M DTDownload Cocoanetics/DTDownload
4.1M DTFoundation Cocoanetics/DTFoundation
2.1M DTMarkdownParser Cocoanetics/DTMarkdownParser
99M Data-URL-Toolkit sveinbjornt/Data-URL-Toolkit
292K EPUBQLGenerator MaddTheSane/EPUBQLGenerator
50M GateOne liftoff/GateOne
124K GuerrillaMail flashmob/GuerrillaMail
1.9M ImageAlpha pornel/ImageAlpha
11M ImageOptim pornel/ImageOptim
152K JSDev douglascrockford/JSDev
896K JSLint douglascrockford/JSLint
360K Knwl.js loadfive/Knwl.js
2.2M LLJS mbebenita/LLJS
308M Nimrod Araq/Nimrod
12M PDCurses-emscripten coolwanglu/PDCurses-emscripten
1.8M PageKite-Mac-OS-X-GUI sveinbjornt/PageKite-Mac-OS-X-GUI
456K QLColorCode n8gray/QLColorCode
600K QLPrettyPatch atnan/QLPrettyPatch
148K RQ douglascrockford/RQ
4.6M Rebel github/Rebel
320K SMJobBlessXPC atnan/SMJobBlessXPC
128K STPathTextField sveinbjornt/STPathTextField
136K STPrivilegedTask sveinbjornt/STPrivilegedTask
7.7M SVGKit MaddTheSane/SVGKit
47M Semantic-UI Semantic-Org/Semantic-UI
948K Sloth sveinbjornt/Sloth
780K SnapDragon sveinbjornt/SnapDragon
6.3M SyntaxHighlighter alexgorbatchev/SyntaxHighlighter
2.0G The-Nature-of-Code shiffman/The-Nature-of-Code
8.6M The-Nature-of-Code-Examples shiffman/The-Nature-of-Code-Examples
1.1M XCPretty mneorr/XCPretty
392K You-Dont-Know-JS getify/You-Dont-Know-JS
68K adc-download michaeltyson/adc-download
1.4M ajaxterm2 mattlaue/ajaxterm2
52M angular.js angular/angular.js
11M anyterm berenm/anyterm
66M appscript abarnert/appscript
14M autoconf git.sv.gnu.org/autoconf
27M automake git.savannah.gnu.org/automake
1.8M autosetup msteveb/autosetup
176K autosetup-jam msteveb/autosetup-jam
98M avian ReadyTalk/avian
216K awesome-php sindresorhus/awesome-php
1.2M bash-it revans/bash-it
152K bashprof sstephenson/bashprof
716K bashstrap barryclark/bashstrap
368K bats sstephenson/bats
64K bcut bagder/bcut
548K bin Orc/bin
452K bindfs mpartel/bindfs
491M bitrig-ports bitrig/bitrig-ports
1.2M blahtexml gvanas/blahtexml
5.8M blocksruntime mackyle/blocksruntime
356K books whatwg/books
35M bootstrap twbs/bootstrap
118M brackets adobe/brackets
37M brackets-shell adobe/brackets-shell
2.6M brainfuck FabianM/brainfuck
2.2M breathe michaeljones/breathe
140K bs mxcl/bs
8.1M bundler bundler/bundler
3.3M c-ares bagder/c-ares
908K chalk sindresorhus/chalk
124K chrome-ssb-osx lhl/chrome-ssb-osx
2.7M clang-tools-extra llvm.org/git/clang-tools-extra
127M clangor kripken/clangor
83M cmake cmake.org/cmake.git
12M coderay rubychan/coderay
15M coffee-script jashkenas/coffee-script
196K colors.js Marak/colors.js
35M compiler-rt llvm.org/git/compiler-rt
5.4M creduce jsonn/creduce
38M curl bagder/curl
39M d3 mbostock/d3
5.8M darwinbuild git.macosforge.org/darwinbuild
1.3M dash git.kernel.org/pub/scm/utils/dash/dash
488K ddcli ddribin/ddcli
9.1M devscripts anonscm.debian.org/collab-maint/devscripts
1.7M discount Orc/discount
17M djvulibre git.code.sf.net/p/djvu/djvulibre-git
31M doxygen doxygen/doxygen
5.9M dragonegg llvm.org/git/dragonegg
12M duffy rjhansen/duffy
7.5M encoding whatwg/encoding
4.7M escodegen Constellation/escodegen
224K escope Constellation/escope
21M escudo esrille/escudo
2.1M esgoggles keeyipchan/esgoggles
5.4M esidl esrille/esidl
764K eslevels mazurov/eslevels
9.8M esmangle Constellation/esmangle
148K esmorph ariya/esmorph
9.6M esprima ariya/esprima
184K esrefactor ariya/esrefactor
112K esshorten Constellation/esshorten
168K estraverse Constellation/estraverse
140K esutils Constellation/esutils
424K execjs sstephenson/execjs
7.4M fakechroot fakechroot/fakechroot
1.5M fakeroot mackyle/fakeroot
4.1M fay faylang/fay
372K fcpp bagder/fcpp
472K fetch whatwg/fetch
2.0M figures whatwg/figures
9.2M file glensc/file
23M fish-shell fish-shell/fish-shell
984K free-programming-books vhf/free-programming-books
168K fsevents-tools ggreer/fsevents-tools
180K gem-compiler luislavena/gem-compiler
8.0M ghcjs ghcjs/ghcjs
64M ghcjs-hterm ghcjs/ghcjs-hterm
84M git git/git
764K git-hg offbytwo/git-hg
44M github-services github/github-services
760K gsdjvu git.code.sf.net/p/djvu/gsdjvu-git
5.9M gumbo-parser google/gumbo-parser
3.4M haskell-platform haskell/haskell-platform
6.0M highlight.js isagalaev/highlight.js
68K hlink mxcl/hlink
48M homebrew mxcl/homebrew
16M homebrew-cask phinze/homebrew-cask
432K homesick technicalpickles/homesick
656K hterm macton/hterm
2.3M http_parser.rb tmm1/http_parser.rb
160K ibrik Constellation/ibrik
872K intern theintern/intern
2.6M istanbul gotwarlost/istanbul
45M iv Constellation/iv
188K javascript whatwg/javascript
168K jekyll-hook developmentseed/jekyll-hook
4.1M jemalloc jemalloc/jemalloc
5.2M js-yaml nodeca/js-yaml
168K jshint-stylish sindresorhus/jshint-stylish
22M klee llvm.org/git/klee
30M libarchive libarchive/libarchive
1.2M libclc llvm.org/git/libclc
38M libcxx llvm.org/git/libcxx
7.3M libcxxabi llvm.org/git/libcxxabi
31M libdmg-hfsplus planetbeing/libdmg-hfsplus
10M libffi atgreen/libffi
30M libgit2 libgit2/libgit2
3.4M libsodium jedisct1/libsodium
77M libtool git.savannah.gnu.org/libtool
4.5M libuninameslist fontforge/libuninameslist
129M libv8 cowboyd/libv8
244K linenoise msteveb/linenoise
17M linguist github/linguist
6.1M lld llvm.org/git/lld
9.7M m4 git.sv.gnu.org/m4
81M mantisbt mantisbt/mantisbt
844K markdoc github.com/mantisbt/ADOdb.git
1.5M marked github.com/mantisbt/PHPMailer
476K markup zacharyvoase/markdoc
592K mathiasbynens-dotfiles chjj/marked
72K mdoc.su github/markup
184K misc-scripts cnst/mdoc.su
7.1M mruby g-nix/misc-scripts
3.3M mruby-web-irb mruby/mruby
5.3M multimarkdown xxuejie/mruby-web-irb
632K mvcli cowboyd/mvcli
656K ndialog Orc/ndialog
8.5M nghttp2 tatsuhiro-t/nghttp2
2.3M ninja martine/ninja
108K node-applescript TooTallNate/node-applescript
7.1M node-gyp TooTallNate/node-gyp
70M node-webkit rogerwang/node-webkit
636K nsrllookup rjhansen/nsrllookup
948K nsrlsvr rjhansen/nsrlsvr
8.6M old-rubyjs superchris/rubyjs
44M opal opal/opal
109M openembedded-core git.openembedded.org/openembedded-core
57M openh264 cisco/openh264
1.4M osaka basvodde/osaka
384K osxiconutils sveinbjornt/osxiconutils
716K osxutils vasi/osxutils
55M pdf.js mozilla/pdf.js
111M pdf2htmlEX coolwanglu/pdf2htmlEX
13M pickled-vim technicalpickles/pickled-vim
1.2M pngquant pornel/pngquant
18M polly llvm.org/git/polly
7.7M poolalloc llvm.org/git/poolalloc
244M popcorn-js mozilla/popcorn-js
2.3M prism LeaVerou/prism
17M prose prose/prose
1.1M pty.js chjj/pty.js
212K purdypatch atnan/purdypatch
12M pygments.rb tmm1/pygments.rb
2.1M qlmarkdown toland/qlmarkdown
2.1M qlstephen whomwah/qlstephen
6.9M ragel git.complang.org/ragel
2.8M rdiscount davidfstr/rdiscount
1.7M reMarked.js leeoniya/reMarked.js
12M redis antirez/redis
396K reposado wdas/reposado
304K resty micha/resty
392K resumehub.com resume/resumehub.com
128K roffit bagder/roffit
3.5M rouge jayferd/rouge
219M rubinius rubinius/rubinius
7.5M rubyjs rubyjs/core-lib
5.4M scratchbox2 gitorious.org/scratchbox2/scratchbox2
124K serial whatwg/serial
6.2M shellinabox code.google.com/p/shellinabox
164K shql tnm/shql
70M shumway mozilla/shumway
180K spark holman/spark
1.1M spindly bagder/spindly
784K starter prose/starter
180K streams whatwg/streams
1.7M striptease mackyle/striptease
2.6M sudo-osx-update mackyle/sudo-osx-update
132K symlinks brandt/symlinks
14M therubyracer cowboyd/therubyracer
40M tigerbrew mistydemeo/tigerbrew
47M togetherjs mozilla/togetherjs
2.4M toland-dotfiles toland/dotfiles
4.9M toybox gfto/toybox
16M traceur-compiler google/traceur-compiler
2.0M tty.js chjj/tty.js
23M tup gittup/tup
148K unique-random sindresorhus/unique-random
692K vimfiles gmarik/vimfiles
240K vimpager rkitover/vimpager
488K vundle gmarik/vundle
20M webcl-validator KhronosGroup/webcl-validator
512K websocketd joewalnes/websocketd
74M xapian xapian/xapian
1.6M xar mackyle/xar
5.2M xz git.tukaani.org/xz.git
440K xz-embedded git.tukaani.org/xz-embedded.git
20M yeoman yeoman/yeoman
240K z rupa/z
16M zeromq2-x zeromq/zeromq2-x
796K zopfli pornel/zopfli
6.6G total

Fail repos (always).

========================

1.2G OpenEmu OpenEmu/OpenEmu
103M Platypus sveinbjornt/Platypus
84M Textual Codeux/Textual
1.1G bitrig bitrig/bitrig
2.0M commando nodesocket/commando
7.2M djview git.code.sf.net/p/djvu/djview-git
715M edg4x-rose rose-compiler/edg4x-rose
198M emscripten kripken/emscripten
1.9G freebsd freebsd/freebsd
2.4G gcc mirrors/gcc
255M ghostpdl git.ghostscript.com/ghostpdl
210M graphviz ellson/graphviz
34M iTerm2 gnachman/iTerm2
16M jimtcl repo.or.cz/jimtcl
12M jscocoa parmanoir/jscocoa
1.5G linux torvalds/linux
80M lldb llvm.org/git/lldb
267M llvm llvm.org/git/llvm
258M llvm-test-suite llvm.org/git/test-suite
5.1M lnt llvm.org/git/lnt
14M macemu cebix/macemu
253M matplotlib matplotlib/matplotlib
2.9G netbsd jsonn/src
199M node joyent/node
552M opencv Itseez/opencv
69M openssl git.openssl.org/openssl
44M osxfuse osxfuse/osxfuse
234M pepper.js google/pepper.js
137M perian MaddTheSane/perian
213M phantomjs ariya/phantomjs
1.5G pkgsrc jsonn/pkgsrc
14M poppler git.freedesktop.org/git/poppler/poppler
170M qemu qemu/qemu
654M rose rose-compiler/rose
170M ruby ruby/ruby
431M rust mozilla/rust
1.0G servo mozilla/servo
133M v8 v8/v8
7.0G webkit WebKit/webkit
210M webruby xxuejie/webruby
80M xpwn planetbeing/xpwn
26G total
1.2G OpenEmu OpenEmu/OpenEmu
103M Platypus sveinbjornt/Platypus
84M Textual Codeux/Textual
1.1G bitrig bitrig/bitrig
152M clang llvm.org/git/clang
2.0M commando nodesocket/commando
7.2M djview git.code.sf.net/p/djvu/djview-git
715M edg4x-rose rose-compiler/edg4x-rose
198M emscripten kripken/emscripten
1.9G freebsd freebsd/freebsd
2.4G gcc mirrors/gcc
255M ghostpdl git.ghostscript.com/ghostpdl
210M graphviz ellson/graphviz
34M iTerm2 gnachman/iTerm2
16M jimtcl repo.or.cz/jimtcl
12M jscocoa parmanoir/jscocoa
1.5G linux torvalds/linux
80M lldb llvm.org/git/lldb
267M llvm llvm.org/git/llvm
258M llvm-test-suite llvm.org/git/test-suite
5.1M lnt llvm.org/git/lnt
14M macemu cebix/macemu
253M matplotlib matplotlib/matplotlib
2.9G netbsd jsonn/src
199M node joyent/node
552M opencv Itseez/opencv
69M openssl git.openssl.org/openssl
44M osxfuse osxfuse/osxfuse
234M pepper.js google/pepper.js
137M perian MaddTheSane/perian
213M phantomjs ariya/phantomjs
1.5G pkgsrc jsonn/pkgsrc
14M poppler git.freedesktop.org/git/poppler/poppler
170M qemu qemu/qemu
654M rose rose-compiler/rose
170M ruby ruby/ruby
431M rust mozilla/rust
1.0G servo mozilla/servo
133M v8 v8/v8
7.0G webkit WebKit/webkit
210M webruby xxuejie/webruby
80M xpwn planetbeing/xpwn
26G total

Fail repos (sometimes):

===========================

linguist . fails if called in a parent directory.
linguist . (from within repo) or linguist clang is ok.

152M clang llvm.org/git/clang
122M webcl-clang-dev KhronosGroup/webcl-clang-dev

Fails when blob helper is disabled.

========================================

(Disproportionately Mac-centric projects... AppleScript? MacRoman text?)

888K Appify-UI subtleGradient/Appify-UI
2.9M ManDrake sveinbjornt/ManDrake
876K RubyBackupBouncer lifepillar/RubyBackupBouncer
10M appledoc Cocoanetics/appledoc
36M charlock_holmes brianmario/charlock_holmes
8.3M cocoasudo performantdesign/cocoasudo
125M fontforge fontforge/fontforge
2.1M macgap maccman/macgap
34M pyinstaller pyinstaller/pyinstaller
53M solarized altercation/solarized
29M xctool facebook/xctool
548M total

Time to failure on fails:

=============================

OpenEmu
-!> Error: OpenEmu
real 1.44
user 1.24
sys 0.19

Platypus
-!> Error: Platypus
real 0.56
user 0.52
sys 0.03

Textual
-!> Error: Textual
real 2.36
user 2.28
sys 0.07

bitrig
-!> Error: bitrig
real 26.69
user 23.51
sys 1.41

commando
-!> Error: commando
real 0.30
user 0.25
sys 0.04

djview
-!> Error: djview
real 0.38
user 0.32
sys 0.04

edg4x-rose
-!> Error: edg4x-rose
real 5.27
user 3.75
sys 1.01

emscripten
-!> Error: emscripten
real 0.59
user 0.29
sys 0.20

freebsd
-!> Error: freebsd
real 17.68
user 13.11
sys 2.72

gcc
-!> Error: gcc
real 23.83
user 18.35
sys 3.64

ghostpdl
-!> Error: ghostpdl
real 3.37
user 2.76
sys 0.36

graphviz
-!> Error: graphviz
real 0.96
user 0.66
sys 0.18

iTerm2
-!> Error: iTerm2
real 5.05
user 4.57
sys 0.27

jimtcl
-!> Error: jimtcl
real 0.33
user 0.28
sys 0.04

jscocoa
-!> Error: jscocoa
real 0.94
user 0.78
sys 0.09

linux
-!> Error: linux
real 79.20
user 71.41
sys 4.06

lldb
-!> Error: lldb
real 5.93
user 5.29
sys 0.32

llvm
-!> Error: llvm
real 14.10
user 12.18
sys 0.95

llvm-test-suite
-!> Error: llvm-test-suite
real 0.97
user 0.56
sys 0.28

lnt
-!> Error: lnt
real 0.41
user 0.31
sys 0.05

macemu
-!> Error: macemu
real 0.38
user 0.27
sys 0.07

matplotlib
-!> Error: matplotlib
real 4.12
user 3.68
sys 0.22

netbsd
-!> Error: netbsd
real 14.85
user 2.91
sys 9.26

node
-!> Error: node
real 1.18
user 0.46
sys 0.45

opencv
-!> Error: opencv
real 2.90
user 2.38
sys 0.31

openssl
-!> Error: openssl
real 0.57
user 0.38
sys 0.12

osxfuse
-!> Error: osxfuse
real 0.58
user 0.39
sys 0.12

pepper.js
-!> Error: pepper.js
real 0.91
user 0.49
sys 0.26

perian
-!> Error: perian
real 0.45
user 0.26
sys 0.14

phantomjs
-!> Error: phantomjs
real 13.81
user 10.96
sys 1.24

pkgsrc
-!> Error: pkgsrc
real 8.77
user 4.78
sys 2.97

poppler
-!> Error: poppler
real 0.93
user 0.75
sys 0.09

qemu
-!> Error: qemu
real 5.77
user 5.03
sys 0.40

rose
-!> Error: rose
real 4.63
user 3.13
sys 0.96

ruby
-!> Error: ruby
real 2.38
user 1.50
sys 0.25

rust
-!> Error: rust
real 15.70
user 13.42
sys 1.14

servo
-!> Error: servo
real 17.05
user 13.98
sys 1.64

v8
-!> Error: v8
real 7.35
user 6.06
sys 0.48

webkit
-!> Error: webkit
real 20.10
user 6.77
sys 9.63

webruby
-!> Error: webruby
real 0.75
user 0.31
sys 0.27

xpwn
-!> Error: xpwn
real 0.37
user 0.28
sys 0.06

real 314.45
user 241.10
sys 46.29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment