Last active
August 29, 2015 14:21
-
-
Save clarkgrubb/7ea9f5dac59a67b1b338 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cat cat.js | |
#!/usr/bin/env node | |
var fs = require('fs'); | |
var readline = require('readline'); | |
var rl = readline.createInterface({ | |
input: process.stdin, | |
output: process.stdout, | |
terminal: false | |
}); | |
rl.on('line', function(line) { | |
console.log(line); | |
}); | |
$ cat cat.py | |
#!/usr/bin/env python | |
import json | |
import sys | |
for line in sys.stdin: | |
sys.stdout.write(line) | |
$ time ./cat.js < enron-events-sentiment.json > tmp.json | |
real 0m12.893s | |
user 0m7.640s | |
sys 0m3.818s | |
$ time ./cat.py < enron-events-sentiment.json > tmp.json | |
real 0m4.504s | |
user 0m0.660s | |
sys 0m2.634s | |
$ strace ./cat.js < enron-events-sentiment.json > tmp.json 2> /tmp/strace.node.out | |
$ strace ./cat.py < enron-events-sentiment.json > tmp.json 2> /tmp/strace.python.out | |
$ sed 's/(.*$//' < /tmp/strace.node.out | sort | uniq -c | sort -nr > /tmp/calls.node.out | |
$ sed 's/(.*$//' < /tmp/strace.python.out | sort | uniq -c | sort -nr > /tmp/calls.python.out | |
$ cat /tmp/calls.node.out | head -10 | |
518149 write | |
63942 futex | |
31934 read | |
31918 epoll_wait | |
185 brk | |
128 mmap | |
62 munmap | |
43 mprotect | |
21 fstat | |
20 ioctl | |
$ cat /tmp/calls.python.out | head -10 | |
402090 write | |
380763 read | |
353 open | |
151 brk | |
134 fstat | |
126 stat | |
89 close | |
88 mmap | |
68 rt_sigaction | |
51 munmap | |
$ strace -T ./cat.js < enron-events-sentiment.json > tmp.json 2> /tmp/strace.time.node.out | |
$ sed 's/(.*</ /' < /tmp/strace.time.node.out | sed 's/>$//' | awk '{sum [$1] += $2} END {for (i in sum) printf "%s %.6f\n", i, sum[i]}' | sort -nr -k2,2 | head -10 | |
write 6.251365 | |
futex 1.743357 | |
epoll_wait 0.432010 | |
read 0.202860 | |
execve 0.003136 | |
brk 0.002673 | |
munmap 0.001824 | |
mmap 0.001328 | |
mprotect 0.000406 | |
open 0.000362 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment