import timeit
print timeit.timeit('numpy.searchsorted(numpy.cumsum(x), 10)',
'import numpy; x = numpy.ones(1000)',
number=1000)
print timeit.timeit('''
running_sum = 0
index = -1
for entry in my_array.flat:
index += 1
running_sum += entry
if running_sum > threshold:
break
if running_sum < threshold:
index = -1 #if the sum never reaches the threshold''',
'import numpy; my_array = numpy.ones(1000); threshold=10', number=1000)
aW1wb3J0IHRpbWVpdAoKcHJpbnQgdGltZWl0LnRpbWVpdCgnbnVtcHkuc2VhcmNoc29ydGVkKG51bXB5LmN1bXN1bSh4KSwgMTApJywKICAgICAgICAgICAgICAgICAgICAnaW1wb3J0IG51bXB5OyB4ID0gbnVtcHkub25lcygxMDAwKScsCiAgICAgICAgICAgICAgICAgICAgbnVtYmVyPTEwMDApCgpwcmludCB0aW1laXQudGltZWl0KCcnJwpydW5uaW5nX3N1bSA9IDAKaW5kZXggPSAtMQpmb3IgZW50cnkgaW4gbXlfYXJyYXkuZmxhdDoKICAgIGluZGV4ICs9IDEKICAgIHJ1bm5pbmdfc3VtICs9IGVudHJ5CiAgICBpZiBydW5uaW5nX3N1bSA+IHRocmVzaG9sZDoKICAgICAgICBicmVhawppZiBydW5uaW5nX3N1bSA8IHRocmVzaG9sZDoKICAgIGluZGV4ID0gLTEgI2lmIHRoZSBzdW0gbmV2ZXIgcmVhY2hlcyB0aGUgdGhyZXNob2xkJycnLAonaW1wb3J0IG51bXB5OyBteV9hcnJheSA9IG51bXB5Lm9uZXMoMTAwMCk7IHRocmVzaG9sZD0xMCcsIG51bWJlcj0xMDAwKQ==