Aviv Palivoda added the comment: > * hashobj.readfile(filename: str) > * hashobj.readfileobj(file) where file is an object with a read() method > which returns bytes strings
I changed the API to the one Victor suggested. > For readfile() it might make more sense to implement it directly in C and let > OpenSSL's BIO layer handle IO internally. It's more efficient and you can > release the GIL around the whole operation. The readfile method use the openSSL BIO and releases the GIL around the all operation. > I suggest to look at copyfile() and copyfileobj() functions of the shutil > module. For example, copyfileobj() has an optional parameter for the buffer > size. You should probably uses that to avoid complex heuristic to guess the > optimal buffer size. Added a block_size optional argument to the readfileobj(). > In readfile(), you know that it's a regular file which exists on the file > system. So you can directly uses _Py_fstat() to get st_blksize Currently using constant block size in readfile(). From the discussion in issue 26488 I am not sure if this should be changed. ---------- Added file: http://bugs.python.org/file42356/17436-2.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17436> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com