Fast check for NaN in NumPy

Ray’s solution is good. However, on my machine it is about 2.5x faster to use numpy.sum in place of numpy.min: In [13]: %timeit np.isnan(np.min(x)) 1000 loops, best of 3: 244 us per loop In [14]: %timeit np.isnan(np.sum(x)) 10000 loops, best of 3: 97.3 us per loop Unlike min, sum doesn’t require branching, which on modern … Read more

[] and {} vs list() and dict(), which is better? [closed]

In terms of speed, it’s no competition for empty lists/dicts: >>> from timeit import timeit >>> timeit(“[]”) 0.040084982867934334 >>> timeit(“list()”) 0.17704233359267718 >>> timeit(“{}”) 0.033620194745424214 >>> timeit(“dict()”) 0.1821558326547077 and for non-empty: >>> timeit(“[1,2,3]”) 0.24316302770330367 >>> timeit(“list((1,2,3))”) 0.44744206316727286 >>> timeit(“list(foo)”, setup=”foo=(1,2,3)”) 0.446036018543964 >>> timeit(“{‘a’:1, ‘b’:2, ‘c’:3}”) 0.20868602015059423 >>> timeit(“dict(a=1, b=2, c=3)”) 0.47635635255323905 >>> timeit(“dict(bar)”, setup=”bar=[(‘a’, 1), (‘b’, … Read more

IPC performance: Named Pipe vs Socket

Best results you’ll get with Shared Memory solution. Named pipes are only 16% better than TCP sockets. Results are get with IPC benchmarking: System: Linux (Linux ubuntu 4.4.0 x86_64 i7-6700K 4.00GHz) Message: 128 bytes Messages count: 1000000 Pipe benchmark: Message size: 128 Message count: 1000000 Total duration: 27367.454 ms Average duration: 27.319 us Minimum duration: … Read more