Размер буфера журнала что это и какой выбрать
Как выбрать размер буфера журнала?
Как увеличить размер буфера журнала в Oracle 12c?
Буфер журнала в SGA внутренне разделен на блоки размером блока журнала. Размер буфера журнала определяется параметром инициализации log_buffer.
…
Настройка буфера журнала повторного выполнения.
Версия БД | Значение по умолчанию | Расчет |
---|---|---|
9i и 10gR2 | 512 КБ или 128 КБ * CPU_COUNT, в зависимости от того, что больше | По умолчанию 512 КБ или 128 КБ * CPU_COUNT |
Что такое буферы журналов?
Размер буфера логгера — это функция разработчика, которая есть на устройствах Android. Размер буфера — это просто время, необходимое для анализа звуков, поступающих в ваш телефон. Например, если вы записываете звук на свой телефон, телефону требуется некоторое время, чтобы услышать входящие звуки.
Что такое буфер журнала в db2?
Этот параметр позволяет вам указать объем кучи базы данных (определяемый параметром dbheap), который будет использоваться в качестве буфера для записей журнала перед записью этих записей на диск.
Что такое размер буфера журнала?
Размер буфера логгера — это функция разработчика, которая есть на устройствах Android. Размер буфера — это просто время, необходимое для анализа звуков, поступающих в ваш телефон. Например, если вы записываете звук на свой телефон, телефону требуется некоторое время, чтобы услышать входящие звуки.
Как вы улучшите производительность записи журнала повторов?
Шаги по настройке производительности журнала повторов просты:
Что делает увеличение размера буфера?
Увеличение размера буфера даст больше времени для записи звука без искажений. Важно найти правильный размер буфера для вашего сеанса, так как он может варьироваться в зависимости от количества дорожек, плагинов, аудиофайлов и т. Д. … Установите минимальный размер буфера, чтобы уменьшить задержку.
Какой размер буфера хороший?
При отслеживании следует уменьшить размер буфера как минимум до 256 выборок, чтобы уменьшить задержку, которую вы слышите при мониторинге. Недостатком меньшего размера буфера является то, что это увеличивает нагрузку на ваш процессор и заставляет процессоры работать тяжелее.
Должен ли я включать подробное ведение журнала WIFI?
Включить подробное ведение журнала Wi-Fi: увеличивает уровень ведения журнала Wi-Fi для каждой беспроводной сети (SSID), к которой вы подключаетесь, в соответствии с относительной мощностью принимаемого сигнала (RSSI). Дополнительные сведения о журналах см. В разделе Запись и просмотр журналов с помощью Logcat.
Как избежать журнала транзакций в DB2?
Если вы хотите предотвратить ситуацию «переполнение журнала транзакций», вызванную длительной незафиксированной транзакцией, вы можете указать параметр конфигурации базы данных «num_log_span».
Что такое циклическое ведение журнала в DB2?
Циклическое ведение журнала — это поведение по умолчанию при создании новой базы данных. (Для параметров конфигурации базы данных logarchmeth1 и logarchmeth2 установлено значение OFF.) С этим типом ведения журнала разрешены только полные автономные резервные копии базы данных. … Активные журналы находятся в каталоге пути журналов базы данных.
Стоит ли включать 4x MSAA?
Просто перейдите на экран параметров разработчика и включите параметр Force 4x MSAA. Это заставит Android использовать 4-кратное мультисэмпловое сглаживание в играх OpenGL ES 2.0 и других приложениях. Это требует большей мощности графики и, вероятно, разрядит вашу батарею немного быстрее, но в некоторых играх это улучшит качество изображения.
Какие бывают уровни журнала?
Понимание уровней ведения журнала
Уровень | Значение |
---|---|
Ошибка | 40,000 |
Предупреждать | 30,000 |
Информация | 20,000 |
Отлаживать | 10,000 |
Как увеличить размер буфера?
Как увеличить буфер памяти, используемый командной строкой
Что такое размер буфера в Android?
Размер буфера — это просто время, необходимое для анализа звуков, поступающих в ваш телефон. Например, если вы записываете звук на свой телефон, телефону требуется некоторое время, чтобы принять входящие звуки. Это время называется размером буфера.
Какой размер буфера лучше всего подходит для Android?
Размер буфера. Общее правило состоит в том, что размер буфера в 10 МБ на ядро ЦП позволяет вести трассировку продолжительностью около 20 секунд. Например, если устройство имеет два четырехъядерных процессора (всего 8 ядер), подходящее значение для передачи в программу systrace составляет 80 000 КБ (80 МБ).
Какой размер буфера лучше?
Большой размер буфера является основной причиной возникновения проблемы с задержкой, но при микшировании и мастеринге вам необходимо запускать несколько плагинов одновременно, вам следует выбрать больший размер буфера, например 512 или 1024.
Что означает размер буфера?
Размер буфера — это время, необходимое вашему компьютеру для обработки любого входящего аудиосигнала. … Установка подходящего размера буфера улучшит согласованность вашей DAW и уменьшит ваше разочарование сообщениями об ошибках.
Какой должен быть размер буфера логгера?
В разделе «Отладка» установите для параметра «Размер буфера регистратора» значение 64 КБ на буфер журнала для повышения производительности. Еще ниже, если в вашем ПЗУ 32 КБ или лучше, 8 КБ. Некоторые аудиоустройства Bluetooth плохо работают с функцией абсолютной громкости Bluetooth в Android. Например, звук слишком громкий или отсутствие регулировки громкости.
Что такое 4x MSAA?
Просто перейдите на экран параметров разработчика и включите параметр Force 4x MSAA. Это заставит Android использовать 4-кратное мультисэмпловое сглаживание в играх OpenGL ES 2.0 и других приложениях. Это требует большей мощности графики и, вероятно, разрядит вашу батарею немного быстрее, но это улучшит качество изображения в некоторых играх.
Что делает увеличение размера буфера?
Увеличение размера буфера даст больше времени для записи звука без искажений. Важно найти подходящий размер буфера для вашего сеанса, поскольку он может варьироваться в зависимости от количества дорожек, плагинов, аудиофайлов и т. Д.
Что делает размер буфера логгера?
Размер буфера регистратора — это функция разработчика, которая есть на устройствах Android. Размер буфера — это просто время, необходимое для анализа звуков, поступающих в ваш телефон. Например, если вы записываете звук на свой телефон, телефону требуется некоторое время, чтобы услышать входящие звуки.
Каким должен быть размер буфера ASIO?
Итак, какой размер буфера лучше всего подходит для вашей системы? Ответить на это непросто. Если вы в основном играете на софт-синтезаторах и софт-сэмплерах или записываете электрогитару, задержка ASIO или WDM / KS в 6 мс (256 сэмплов при 44,1 кГц), вероятно, будет достаточно низкой, чтобы быть незаметной и не увеличит нагрузку на процессор много.
Что такое нестандартный размер буфера?
Использовать настраиваемый размер буфера / размер буфера
Это тесно связано с битрейтом. … Его повышение может повысить качество движения, но за свою цену; если есть внезапное изменение сцены и большое движение, он может заполнить этот буфер со скоростью, превышающей средний максимальный битрейт.
Что означает размер буфера ввода-вывода?
Буферы ввода-вывода временно хранят аудиоданные перед отправкой их другим адресатам на вашем Mac. Увеличение размера буфера ввода-вывода снижает нагрузку на ЦП вашего Mac. Однако большие размеры буфера ввода-вывода увеличивают задержку при записи.
Что такое буфер и для чего он нужен?
Буфер — это раствор, который может противостоять изменению pH при добавлении кислотных или основных компонентов. Он способен нейтрализовать небольшие количества добавленной кислоты или основания, таким образом поддерживая относительно стабильный pH раствора. Это важно для процессов и / или реакций, требующих определенных и стабильных диапазонов pH.
Что такое размер буфера в TensorFlow?
Согласно документации TensorFlow, методы предварительной выборки и отображения tf. вклад данные. Класс набора данных, оба имеют параметр с именем buffer_size. … Тензор, представляющий максимальное количество элементов, которые будут буферизированы при предварительной выборке.
Стоит ли включать 4x MSAA?
Форсировать 4x MSAA
Обратите внимание, что этот режим не является нормальной настройкой для вашего телефона, и включение его на длительное время может сократить срок службы телефона, поэтому его не рекомендуется использовать в играх более 2 часов за раз.
Что такое Force GPU рендеринг?
Принудительный рендеринг на GPU
Это будет использовать графический процессор вашего телефона (GPU), а не программный рендеринг для некоторых 2D-элементов, которые еще не используют эту опцию. Это означает более быстрый рендеринг пользовательского интерфейса, более плавную анимацию и большую передышку для вашего процессора.
Зачем нужен буфер?
Буфер — это раствор, который может противостоять изменению pH при добавлении кислотных или основных компонентов. Он способен нейтрализовать небольшие количества добавленной кислоты или основания, таким образом поддерживая относительно стабильный pH раствора. Это важно для процессов и / или реакций, требующих определенных и стабильных диапазонов pH.
Размер буфера журнала что это и какой выбрать
Здравствуйте, уважаемые форумчане
Периодически сталкиваюсь с задачами потокового чтения/записи файлов. Выбираю разные подходы и размеры буферов. И в последнее время всё чаще возникала мысль написать что-то более-менее универсальное.
Так вот возникла подходящая задача, в рамках которой я напишу и буду использовать такую штукенцию. Остаётся открытым вопрос оптимального размера буфера для чтения/записи
Rouse_ говорит, что для чтения оптимальный размер буфера 256кб. По его тестам буфер меньше или больше негативно влияет на производительность
кто то говорит 16кб, кто то говорит 32кб
в TCustomZlibStream (ZLib, Delphi 7) используется буфер в 64кб
← →
Sha © ( 2013-01-25 12:58 ) [2]
Зависит от алгоритма обработки считанных данных.
Если будешь обрабатывать данные очень быстро, то и 64k будет достаточно.
Что касается FileMapping, то даже размер мапы в 64k способен обеспечить примерно ту же производительность, что и IOCompletionPort.
← →
QAZ10 ( 2013-01-25 13:08 ) [4]
> Rouse_ говорит, что для чтения оптимальный размер буфера 256кб
это зависит от диска, и размера файла
можеш сам затестить каким нить HD Tune pro и лучше на голом разделе без фрагментации
а так да, в основном 256 самый срост у него меньше всего провалов по скорости
← →
Sha © ( 2013-01-25 13:36 ) [6]
> DevilDevil © (25.01.13 13:07) [3]
блок 64k, IOCompletionPort
← →
Дмитрий С © ( 2013-01-25 13:38 ) [7]
← →
Sha © ( 2013-01-25 13:43 ) [8]
> QAZ10 (25.01.13 13:08) [4]
Я правильно понял, мы говорим о работе с файлом, которого нет в кеше?
HD хранит в своем железном буфере данные, над которыми прошла головка.
Важно успевать их забирать, пока их не затерли новые данные.
Причем тут размер файла?
← →
Sha © ( 2013-01-25 13:45 ) [9]
> Дмитрий С © (25.01.13 13:38) [7]
> Для некоторых задач я загружал 100-200 метровые файлы полностью в память для обработки.
Ну и что?
Я полностью обрабатываю файлы за то же время.
> Я полностью обрабатываю файлы за то же время.
Не думаю, что не загружая в память быстрее обработал бы: в задаче была необходимость очень много раз обращаться к разным участкам файла.
← →
Sha © ( 2013-01-25 13:50 ) [11]
> Дмитрий С © (25.01.13 13:47) [10]
значит, твоя задача отличается от задачи автора вопроса
← →
QAZ10 ( 2013-01-25 13:50 ) [12]
> Причем тут размер файла?
вроде непричем, а есть 🙂 а кроме железного буфера есть еще виндовый
← →
Sha © ( 2013-01-25 13:56 ) [13]
Мы ведь не файлах меньше железного буфера?
Ясен пень винда будет влиять. Но не это не первая скрипка.
← →
brother © ( 2013-01-25 14:07 ) [14]
имхо нужно учитывать геометрию диска.
буфера должны быть третьего размера! ну и геометрия чтоб тоже была 🙂 С пиатницой Всех
← →
Sha © ( 2013-01-25 14:25 ) [17]
считаешь, есть магический размер, пригодный для любого алгоритма?
> Sha © (25.01.13 14:25) [17]
дело не в алгоритме, а оптимальности для железа/драйверов/ОС
← →
QAZ10 ( 2013-01-25 14:36 ) [19]
← →
картман © ( 2013-01-25 14:43 ) [20]
> нублин затесть и так и так и по другому
и собирай статистику, да программно подстраивай размер под текущие систему и задачи
> нублин затесть и так и так и по другому
зачем городить велосипеды, когда с такой задачей справлялись до меня уже сотни программистов. я хочу перенять опыт
← →
Sha © ( 2013-01-25 15:21 ) [22]
> DevilDevil © (25.01.13 14:35) [18]
> > Sha © (25.01.13 14:25) [17]дело не в алгоритме, а оптимальности
> для железа/драйверов/ОС
понятно, что есть зависимость
1. от железа, например, для рейда буфер должен быть больше, чем для отдельного диска,
2. от алгоритма и от используемых возможностей ОС
> я хочу перенять опыт
развернутый ответ в пятницу? )
← →
QAZ10 ( 2013-01-25 16:23 ) [24]
← →
QAZ10 ( 2013-01-25 16:55 ) [26]
дык при записи такой же буфер оптимален как и на чтение только запись полюбому будет медленней раза в два
я поэтому и создал ветку
чтобы не гадать на кофейной гуще, а знать наверняка что к чему
спросить так сказать у людей, имеющих опыт в данной области
← →
QAZ10 ( 2013-01-25 17:03 ) [28]
вот бери 256 и иди работай 🙂
← →
Павиа ( 2013-01-25 17:15 ) [29]
Бери 1 MByte на чтение и запись. И не парь мозги. На ближайшие лет 10 хватит.
> QAZ10 (25.01.13 17:03) [28]
> Павиа (25.01.13 17:15) [29]
← →
QAZ10 ( 2013-01-25 18:18 ) [31]
> DevilDevil © (25.01.13 18:10) [30]
ну началось.
ты про кэшь проца чтоли? можеш про него забыть и теоретически и практически ибо он тебе неподвластен, также как и кэш самого диска
и вроде как речь шла о тормозах именно с диском а не с алгоритмом?
> QAZ10 (25.01.13 18:18) [31]
← →
Pavia © ( 2013-01-25 18:40 ) [33]
← →
Дмитрий С © ( 2013-01-25 19:04 ) [34]
А разве сама ОС не закеширует какое-то количество файла при чтении или записи?
P.S. Может между делом кто-нибудь подскажет как во FreePascal сделать Flush записанному файлу (os linux)?
← →
Rouse_ © ( 2013-01-25 19:10 ) [35]
вот это жалко 🙂
но я попробую у себя в тестах и 64кб и 256кб
← →
Pavia © ( 2013-01-25 19:42 ) [37]
> Я говорил про 256 Кб потому что делал тестирование на нескольких
> сотнях рабочих станций,
Ключевое слово делал. Да было 256, сейчас чаще всего 512. А 1024 я посоветовал на будущее.
← →
Rouse_ © ( 2013-01-25 19:48 ) [38]
> Pavia © (25.01.13 19:42) [37]
>
> > Я говорил про 256 Кб потому что делал тестирование на
> нескольких
> > сотнях рабочих станций,
>
> Ключевое слово делал. Да было 256, сейчас чаще всего 512.
>
Ну если на последние два месяца что изменилось тогда ой 🙂 Тестирование производилось от буфера в 2^12 (4 Кб) с изменением кратности до 2^25 (32 мегабайта). Пик производительности был на 2^18 (256 Кб), дальше производительность падала.
← →
Pavia © ( 2013-01-25 20:10 ) [39]
> дальше производительность падала.
Там падение не такое большое. А вот прирост может оказаться большим.
← →
Rouse_ © ( 2013-01-25 20:12 ) [40]
> Pavia © (25.01.13 20:10) [39]
Ну у меня это ничем не подтвердилось.
> DevilDevil © (25.01.13 12:38)
>
> Периодически сталкиваюсь с задачами потокового чтения/записи
> файлов. Выбираю разные подходы и размеры буферов. И в последнее
> время всё чаще возникала мысль написать что-то более-менее
> универсальное.
>
Советую оформить буферизованный ввод-вывод в виде класса-наследника TStream (по-умному декоратора, обертки), тогда можно будет сделать буферизованный ввод-вывод для любого другого класса-потока, в. том числе и TFileStream. Размер буфера можно сделать свойством или передавать в конструктор. Максимальный размер буфера я бы выбрал 64к, минимальный 4к.
← →
QAZ10 ( 2013-01-25 20:52 ) [42]
← →
brother © ( 2013-01-26 04:00 ) [43]
Розыч, прокомментируй [14] об этом размышления были?
> DVM © (25.01.13 20:37) [41]
я решил воспользоваться более тонкими материями, более низким уровнем
ибо вызов Read/Write на каждый чих может негативно сказаться на производительности
к тому же логика работы буферезированого записывателя отличается от логики буферизированого читателя. а у TStream есть оба метода + определённый обвес типа Seek, Position, Size, всё в типах int64
вот например как можно будет записать TRect:
var
R: TRect;
begin
.
if (DataWriter.Margin >= sizeof(TRect)) then
begin
// обычная запись в буфер данных
PRect(DataWriter.Current)^ := R;
inc(integer(DataWriter.Current), sizeof(TRect));
dec(DataWriter.Margin, sizeof(TRect));
end else
begin
// умная функция с распределённой записью
DataWriter.Write(@R, sizeof(TRect));
end;
end;
> DevilDevil © (26.01.13 09:29) [44]
> я решил воспользоваться более тонкими материями, более низким
> уровнем
> ибо вызов Read/Write на каждый чих может негативно сказаться
> на производительности
Ты только представь разницу между скоростями на которых работает процессор и жесткий диск. Она огромна. Это имхо не то место где можно получить выигрыш. Зато получим выигрыш в удобстве использования. Плюс не привязываемся к файлам. Ну это если ты действительно хочешь сделать нечто универсальное.
> к тому же логика работы буферезированого записывателя отличается
> от логики буферизированого читателя. а у TStream есть оба
> метода + определённый обвес типа Seek, Position, Size, всё
> в типах int64
Без проблем можно реализовать обе логики в одном или двух классах, перекрыв соответствующие методы. На практике TStream оказывается много удобнее, чем что-то свое, т.к. поддерживается всеми и VCL и сторонним кодом.
> DevilDevil © (26.01.13 09:29) [44]
> ибо вызов Read/Write на каждый чих может негативно сказаться
> на производительности
Как доделаешь, предлагаю в качестве эксперимента сравнить скорость работы твоего кода и класса построенного на базе TStream (у меня есть такой, да и в интернете есть проверенные). Думаю, существенной разницы мы не увидим.
> вот например как можно будет записать TRect:
На мой взгляд, запись всех необходимых типов удобнее оформить в виде class helper для TStream, тогда все стримы, в том числе и наш буферизованный получают возможность писать/читать нужные нам типы данных.
Если же у нас совсем древняя версия Delphi и class helper-ы не поддерживаются, тогда имеет смысл опять таки воспользоваться паттерном декоратор и в класс такого декоратора добавить все нужные нам методы. Опять таки все стримы получают возможность писать/читать наши типы данных.
Лучше чуть-чуть пожертвовать скоростью, зато потом получить чистый и наглядный код, удобный в поддержке и очень гибкий в использовании. Это к теме универсальности.
> DVM © (26.01.13 10:16) [45]
ты рассуждаешь как типичный программист
лично моя особенность в том, что я выжимаю очень хорошую производительность на ресурсоёмких задачах
и добиваюсь потому, что оптимизирую все слабые места
← →
Rouse_ © ( 2013-01-26 13:20 ) [49]
> brother © (26.01.13 04:00) [43]
> Розыч, прокомментируй [14] об этом размышления были?
Были, искал инфу и где-то в технических блогах на MSDN нашел упоминания об этом, там утверждалось что наибольшая производительность будет если размер буфера кратен размеру файлового кластера.
> DevilDevil © (26.01.13 11:09) [48]
> ты рассуждаешь как типичный программист
ясное дело, я и есть программист, по крайней мере мне так кажется 🙂
> лично моя особенность в том, что я выжимаю очень хорошую
> производительность на ресурсоёмких задачах
> и добиваюсь потому, что оптимизирую все слабые места
>
Вряд ли слабым местом при работе именно с файлами окажется TStream, но дело твое конечно.
> DVM © (26.01.13 13:42) [50]
придумай пока пожалуйста достойную задачу
варианты кстати сюда можно выкладывать )
← →
Аббат Пиккола ( 2013-01-26 14:23 ) [52]
Как-то я задался подобным вопросом при разработке одного обработчика файлов изображений. Тогда экспериментально выяснил, что после 32 кбайт улучшения скорости не происходит. Почему бы и в этом случае не определить это экспериментально?
> Аббат Пиккола (26.01.13 14:23) [52]
потому что у меня нет такого огромного количества разнообразного оборудования, чтобы после тестов на котором придти к однозначному мнению по вопросу
← →
brother © ( 2013-01-26 16:07 ) [54]
> размер буфера кратен размеру файлового кластера
я о том же, только вот вроде как предела нет)
← →
Rouse_ © ( 2013-01-26 17:29 ) [55]
> brother © (26.01.13 16:07) [54]
> я о том же, только вот вроде как предела нет)
Не понял, предела чему?
← →
QAZ10 ( 2013-01-26 18:11 ) [56]
← →
brother © ( 2013-01-26 18:47 ) [57]
> Не понял, предела чему?
> в технических блогах на MSDN нашел упоминания об этом, там
> утверждалось что наибольшая производительность будет если
> размер буфера кратен размеру файлового кластера.
а о конкретном рекомендуемом размере разговора нет, значит он может быть бооооольшой) (да шутю я)
Удалено модератором
Примечание: не цитируем.
← →
Rouse_ © ( 2013-01-26 20:38 ) [59]
> QAZ10 (26.01.13 18:11) [56]
> это минимальная единица чтения\записи должна быть размером
> в кластер, а не буфер
Слово «кратность», стало быть ты пропустил?
> ну ты загоняешся бро, непотеме 😉
Так, устаю я от тебя. Прими к сведению, лурковский и молодежный сленг у нас не приветствуются.
> а о конкретном рекомендуемом размере разговора нет, значит
> он может быть бооооольшой)
По поводу кратности? Ну в принципе да. Вон Pavia тоже утверждает и мне нет смысла ему не верить, но просто у меня не прошли тесты на озвученных им объемах, поэтому я займу нейтральную позицию.
← →
Аббат Пиккола ( 2013-01-26 21:18 ) [60]
DevilDevil © (26.01.13 14:39) [53]
> Аббат Пиккола (26.01.13 14:23) [52]
потому что у меня нет такого огромного количества разнообразного оборудования, чтобы после тестов на котором придти к однозначному мнению по вопросу
Достаточно проверить на нескольких самых типичных устройствах. Если после размера буфера N на них на всех выигрыш ничтожен или отрицателен, основываться на этом N, пока не выявится что-то новое.
Есть и иной подход. Если все это настолько критично, а устройств предполагается миллин, я бы ввел настройку BufferSize в саму программу и оставил бы все лавры «повышения производительности» тем, кто будет использовать и обслуживать.
← →
Аббат Пиккола ( 2013-01-26 21:20 ) [61]
мне вообще нравятся люди, которые знают что-то наверняка. гадать на кофейной гуще может каждый
← →
Pavia © ( 2013-01-26 22:26 ) [63]
> Хотя, сдается мне, ради каких-то 10% выигрыша все это не
> имеет ровно никакого смысла.
Дело в том что выигрыш и проигрыш при чтении может доходить до 2 раз (±6 db).
И одно дело перекодировать файл 15-30 минут, а другое 3 минуты. (Правда это ещё нестрашно, а вот соседи ещё 2 часа на CD пишут)
> можно просто потребовать.
Не знаю как у Вас, а у нас и наших клиентов экономика плановая. И пока старое не сломается не заменят. Либо морально не устареет, а это 10 лет.
Как итог приходиться планировать скорость алгоритма, специфика работы.
← →
Аббат Пиккола ( 2013-01-26 23:18 ) [64]
> Аббат Пиккола (26.01.13 23:18)
тем не менее для тебя естественно, что размер буфера должен быть кратен размеру страницы. более того кратен 64кб.
ты не тестируешь все возможные размеры буферов от 1 до 3мб с шагом в 1 байт. Всё потому, что какие то дядьки в своё время аргументировали размеры 4кб и 64кб. авторитетные дядьки
← →
Аббат Пиккола ( 2013-01-27 00:53 ) [66]
2 DevilDevil © (27.01.13 00:06) [65]
А на авторитет дядек мне вообще плевать. И меньше всего я принимаю во внимание то, какие люди мне «нравятся». Если человек, который мне мне не нравится, говорит на мой взгляд здравые вещи, я к ним прислушаюсь в любом случае. И даже больше, чем к мнению того, кто мне «нравится».
За то время, которое Вы обсуждаете сабж, я бу уже написал и отладил модуль автонастройки размера буфера.
Как бы я рассуждал?
Сокрость либо не критична вообще либо я собираюсь обрабатывать много файлов. Следовательно, я собираюсь обрабатывать много файлов. А если так. то я могу себе позволить часть файлов обработать неоптимально, чтобы потом обрабатывать остальные оптимально. следовательно, я могу набирать статистику, поигрывая размером буфера. И анализировать результаты. Прямо в процессе использования программы. Сначала грубо, затем все тоньше и тоньше настраивая (это будет требовать все большую выборку) нужный размер под «оптимальный». Если окажется, что он равен сдуру 37.8 кбайт, я не буду удивляться или спорить на эти темы на форумах. Я просто узнаю нечто для себя новое в мире стереотипов, в котором мы живем. Мне это нравится. Разумеется, если я потом об этом факте сообщу, найдется 100500 «авторитетных мнений», объясняющих мне, недостойному, почему это так. Но я не буду уязвлен, ибо скромность аббатам приличествует. 🙂
← →
Аббат Пиккола ( 2013-01-27 01:04 ) [67]
← →
Rouse_ © ( 2013-01-27 01:05 ) [68]
> Аббат Пиккола (27.01.13 00:53) [66]
> Rouse_ © (27.01.13 01:05) [68]
1мб это слишком большой буфер
и грозит он повышенным количеством кэшмисс
а мне оно не нужно )
мне нужен оптимальный размер
офтоп:
кстати морально подготавливайся, скоро я тебя приятно удивлю скоростью. я уже вижу свет в конце тоннеля )
← →
Аббат Пиккола ( 2013-01-27 01:18 ) [71]
Всякая задача либо имеет единственное решение (a), либо имеет множество решений (b), либо вообще не имеет решения (c).
Давайте еще раз определимся с задачей.
1. Вы хотите «раз и навсегда» зафиксировать некотрую цифру в качестве оптимальной путем голосования участников Никейского Собора или решением авторитетнейшего из епископов?
2. Вы хотите дать ряд настроек юзеру, чтобы он выбрал и колеблетесь, какие цифры стоит включить в список?
← →
Аббат Пиккола ( 2013-01-27 01:19 ) [72]
на данный момент использую буферы 256кб и 64кб
И какой быстрее работает?
← →
Аббат Пиккола ( 2013-01-27 01:25 ) [73]
← →
картман © ( 2013-01-27 01:32 ) [74]
> Аббат Пиккола (27.01.13 01:18) [71]
> Всякая задача либо имеет единственное решение (a), либо
> имеет множество решений (b)
в любом случае мне нужно решение, основанное на архитектуре диска/ОС/памяти (или хотя бы большого опыта), а не на основе чьих-либо фантазий
> картман © (27.01.13 01:32) [74]
← →
картман © ( 2013-01-27 11:53 ) [76]
← →
QAZ10 ( 2013-01-27 11:54 ) [77]
← →
Pavia © ( 2013-01-27 12:47 ) [78]
> 1мб это слишком большой буфери грозит он повышенным количеством
> кэшмисс
Про, кэшмисс я бы не заикался. Пробовал я тестировать на него. Система кэшев сложнее чем система работы с жёстким. В результате получил противоречивые данные. С одной стороны, результаты коррелируют с результатами других тестов с другой авторитетное мнение что это не кэш промахи, а ЦПУ слабый.
> на данный момент использую буферы 256кб и 64кб
Запись я не тестировал. Но побочным результатом тестом на чтение было то, что 64 КБайта для записи не является эффективным.
← →
Kerk © ( 2013-01-27 13:10 ) [79]
Не могу удержаться. Надеюсь, юмор не слишком тонок 🙂
http://ic.pics.livejournal.com/kit58/2089172/510456/510456_original.jpg
> Pavia © (27.01.13 12:47) [78]
> С одной стороны, результаты коррелируют с результатами других
> тестов с другой авторитетное мнение что это не кэш промахи, а ЦПУ слабый.
распиши поподробнее пожалуйста
> Запись я не тестировал. Но побочным результатом тестом на
> чтение было то, что 64 КБайта для записи не является эффективным.
← →
QAZ10 ( 2013-01-27 15:04 ) [81]
← →
Аббат Пиккола ( 2013-01-27 15:14 ) [82]
А можно полюбопытствовать о цели самой программы?
Обычно откровенная информация на эту тему многое сразу проясняет.
← →
картман © ( 2013-01-27 15:24 ) [83]
> QAZ10 (27.01.13 15:04) [81]
меня интересовал опыт человека относительно кэшмисс
> Аббат Пиккола (27.01.13 15:14) [82]
> А можно полюбопытствовать о цели самой программы? Обычно
> откровенная информация на эту тему многое сразу проясняет.
← →
Аббат Пиккола ( 2013-01-27 15:45 ) [85]
для любых задач связанных с потоковым чтением и записью данных
А можно ссылочку на авторитет, который утверждает, что в такой постановке задача вообще решаема?
← →
Аббат Пиккола ( 2013-01-27 15:47 ) [86]
Честно говоря я перестал понимать, чего именно Вы хотите. Что за такое «потоковое чтение»? А что, бывает какое-то другое чтение?
← →
картман © ( 2013-01-27 15:57 ) [87]
> Аббат Пиккола (27.01.13 15:47) [86]
> Честно говоря я перестал понимать, чего именно Вы хотите.
> Что за такое «потоковое чтение»? А что, бывает какое-то
> другое чтение?
Например чтение XML из документов «Office Open XML»
тогда нужно потоком читать файлы в формате Zip
нужные XML-«записи» потоком декодировать из сжатого формата в расжатый
расжатые XML тоже нужно (можно) читать потоком, ибо XML по размеру вполне могут превышать гигабайты
ну и наконец если алгоритм рассчитан на кодировку например utf8, то в случае иной кодировки (utf16, windows-1251) нужно опять таки декодировать данные в нужную кодировку
Можно не париться и сразу всё разворачивать ОЗУ. Но на больших объёмах, ты рискуешь лишить пользователя памяти, производительности (файл подкачки) или вообще выдать EOutOfMemory.
С другой стороны можно организовать потоковое буферизированое чтение и эффективно обойтись минимальным потреблением ОЗУ хотя бы на этапе чтения данных
← →
Аббат Пиккола ( 2013-01-27 16:11 ) [89]
В спектре слов максимум на слове «авторитет» детектед.
Интересно, а как найти авторитет, который бы помог с выбором нужного авторитета? Или на этой стадии уже вполне рабочей следует считать методику «гадания на кофейной гуще»?
Хотя нет. Я, кажется, понял. Для того чтобы избежать дурной бесконечности авторитетов, неминуемо ведущей нас в индуктивную пропасть, можно их организовать в иерархию. Авторитеты более низкого уровня получат легитимность от авторитетов более высокого уровня. На самом верху будет сидеть главный авторитет, придающий легитимность всем нижестоящим по иерархии. А сам он будет получать легитимность от самого Господа. Ну как Папа Римский. Так задача вроде бы имеет решение. По крайней мере мне, как аббату, такое решение знакомо.
← →
Аббат Пиккола ( 2013-01-27 16:14 ) [90]
«нужные XML-записи» в зипе это что такое?
← →
Аббат Пиккола ( 2013-01-27 16:28 ) [91]
Извиняюсь за оффтоп [89]
← →
Pavia © ( 2013-01-27 18:08 ) [93]
> Pavia © (27.01.13 18:08) [93]
ну так оптимальный размер буфера по прежнему кратен 64кб
В общем уговорили, сделал буфер в 256кб и на запись, и на чтение 🙂
Готов к тестированию
Как раз можно будет поиграться с размером буфера на разном оборудовании, если здешним участникам будет интересно