Ну, это не возможно. Никакой способ заставить его звонить .width
каждый раз снова. Но можно использовать повышение, конечно:
#include <boost/function_output_iterator.hpp>
#include <boost/lambda/lambda.hpp>
#include <algorithm>
#include <iostream>
#include <iomanip>
int main() {
using namespace boost::lambda;
int a[] = { 1, 2, 3, 4 };
std::copy(a, a + 4,
boost::make_function_output_iterator(
var(std::cout) << std::setw(3) << _1)
);
}
Это делает , создают его собственный функтор, но это происходит позади сцены:)
инструмент: fio
ссылка: http://freshmeat.net/projects/fio/
тест ввода-вывода физического диска:
./fio examples/disk-zone-profile
установить параметр: последовательный r / w: rw = чтение или rw = запись случайный r / w: rw = randread или rw = randwrite
Тестирование операций ввода-вывода и файловой системы - сложная тема. Ни один инструмент для тестирования производительности не подходит для всех ситуаций. Вот небольшой обзор различных инструментов тестирования:
Блочное хранилище:
Файловая система (синтетическая):
Файловая система (рабочая нагрузка):
Университет Стони Брук и IBM Watson Labs опубликовали в «Transaction of Storage» журнальную статью о тестировании файловой системы, в которой они представляют различные тесты производительности, их сильные и слабые стороны: Девятилетнее исследование тестирования файловых систем и хранилищ . В статье четко указывается, что результаты большинства тестов как минимум сомнительны.
Примечание: Связан ли вопрос с программированием? Может, нет, но, может быть, это так. Я провожу много времени, оценивая производительность ввода-вывода разрабатываемых мной систем. По крайней мере, для меня вопросы о том, как тестировать эти вещи, сильно связаны с программированием. Пожалуйста: не закрывайте все вопросы, которые с вашей точки зрения не связаны с разработкой / программированием. Точка зрения других разработчиков может быть иной.
вам нужно указать, что именно вы тестируете, иначе эталонные показатели будут только вводить в заблуждение. Существуют различные аспекты производительности ввода-вывода, которые нужно выбрать для оптимизации, и различные параметры, с которыми нужно играть.
Параметры вашей системы:
Ваши тестовые параметры: