File size: 906 Bytes
9c6594c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0
# DeepSpeed Team
import time
from .constants import *
from .base_file_writer import BaseFileWriter
class PyFileWriter(BaseFileWriter):
def __init__(self, file_path):
super(PyFileWriter, self).__init__(file_path)
self._fp = open(file_path, 'wb')
def close(self):
self._incr_stats(CLOSE_COUNT_KEY)
self._fp.close()
def fileno(self):
self._incr_stats(FILENO_COUNT_KEY)
return INVALID_FD # self._fp.fileno()
def flush(self):
self._incr_stats(FLUSH_COUNT_KEY)
self._fp.flush()
def write(self, buffer):
st = time.time()
self._fp.write(buffer)
self._incr_stats(WRITE_SEC_KEY, time.time() - st)
self._incr_stats(WRITE_COUNT_KEY)
self._incr_stats(WRITE_BYTES_KEY, len(buffer))
return len(buffer)
|