text / tests / benchmarks / fileread.py

The default branch has multiple heads

#!/usr/bin/env python

import sys

def string(name):
    print len(open(name).read())

def lazystring(name):
    fp = open(name)
    n = 0
    d = True
    bs = 128 * 1024
    read = fp.read
    while d:
        d = len(read(bs))
        n += d
    print n

def lazytext(name):
    fp = open(name)
    n = 0
    d = True
    bs = 128 * 1024
    read = fp.read
    while d:
        s = read(bs)
        d = len(s.decode('utf-8', 'replace'))
        n += d
    print n

def text(name):
    print len(open(name).read().decode('utf-8', 'replace'))

if sys.argv[1] == 'bs':
    string(sys.argv[2])
if sys.argv[1] == 'lbs':
    lazystring(sys.argv[2])
elif sys.argv[1] == 'lazytext':
    lazytext(sys.argv[2])
elif sys.argv[1] == 'text':
    text(sys.argv[2])
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.