From Mexico.purplecow.org
(Difference between revisions)
(doneski) |
Current revision (23:18, 12 October 2010) (view source) m |
||
Line 29: | Line 29: | ||
== A graph == | == A graph == | ||
+ | |||
[[image:rubygempie.png]] | [[image:rubygempie.png]] | ||
[[Category: Tech]] | [[Category: Tech]] |
Current revision
System call breakdown for ruby's "gem" command
Overview
Called with no parameters - the sole actual work is to print usage information. It takes a long time, so let's have a look at what happens:
A quick truss
$ truss gem >rubygem.truss 2>&1 $ grep -c open rubygem.truss 656 $ grep -c stat rubygem.truss 1372 $ wc -l rubygem.truss 4836 rubygem.truss
Breakdown
Oh dear! So what is it actually doing?
- brk: 701
- close: 553
- stat: 1371
- llseek: 535
- read: 889
- open: 656
- write: 22 (That's actually printing the usage information)
- other: 234 (mainly mmap)