From 6b76bac75ff1abbd3c7291ae581af0d90c158ad9 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Wed, 6 Mar 2013 18:07:29 -0500 Subject: [PATCH] Stop calling fsync in CompilerFilter `self.infile.flush()` is sufficient to ensure that the input is flushed from the Python process to the filesystem. We were also calling `os.fsync(self.infile)`, which flushes the file to disk. This is overly conservative for a temporary file. On my system this change saves ~50 ms per filter execution. --- compressor/filters/base.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/compressor/filters/base.py b/compressor/filters/base.py index 7b53d1f..641cf6b 100644 --- a/compressor/filters/base.py +++ b/compressor/filters/base.py @@ -1,5 +1,4 @@ from __future__ import absolute_import -import os import logging import subprocess @@ -102,7 +101,6 @@ class CompilerFilter(FilterBase): self.infile = NamedTemporaryFile(mode="w") self.infile.write(self.content.encode('utf8')) self.infile.flush() - os.fsync(self.infile) options["infile"] = self.infile.name else: self.infile = open(self.filename)