Если я правильно понимаю вашу проблему, вы можете отобразить ее в цикле for с 1 по 256.
newData1 = load('Sub21.mat')
for n=1:256
plot(newdata(n,:,1)) %Plotting n of 256, all 150000 and 1st of the 11 lines
hold on;
plot(newdata(n,:,2))
hold on;
plot(newdata(n,:,3))
hold on;
.
.
.
plot(newdata(n,:,11))
hold on;
xlabel('milisec')
ylabel('voltage')
legend('name1','name2', .... , 'name11')
end
% or maybe two for loops
for n=1:256
for m=1:11
plot(newdata(n,:,m)) %Plotting n of 256, all 150000 and m of the 11 lines
hold on;
end
end
Вы можете использовать подзаговор, чтобы не получить 256 цифр.
Можете ли вы отправить некоторые данные?
Действительно, это не имеет большого значения.
Конечно, если вы используете действительно маленькие буферы, вам, возможно, придется сделать несколько дополнительных вызовов через слои, чтобы получить байты ( хотя поток, вероятно, выполняет хотя бы некоторую буферизацию - я не знаю, каковы его значения по умолчанию). И конечно, если вы используете действительно большие буферы, вы потратите немного памяти и внесете некоторую фрагментацию. Поскольку вы, очевидно, здесь делаете IO, каждый раз, когда вы получаете выгоду от настройки буферов, будет доминировать время IO.
Как правило, я иду с степенью двойки между 2048 (2k) и 8192 ( 8k). Просто убедитесь, что вы знаете, что делаете, если у вас есть буфер, равный или превышающий 85 000 байт (тогда это «большой объект» и подчиняется другим правилам GC ).
Фактически , важнее, чем размер буфера, как долго вы его держите. Для объектов вне кучи больших объектов GC очень хорошо справляется с очень недолговечными объектами (коллекции Gen 0 быстрыми) или очень долгоживущими объектами (Gen 2). Объекты, которые живут достаточно долго, чтобы добраться до Быт 1 или 2 перед освобождением, сравнительно более дорогостоящи и, как правило, стоят гораздо больше времени, чем беспокойство, чем размер буфера.
И последнее замечание: если вы считаете, что у вас есть производительность проблема из-за размера используемых вами буферов, test it. Это маловероятно, но кто знает, может быть, у вас есть странное слияние версии ОС, сетевого оборудования и выпуска драйверов, что имеет некоторую странную проблему с буферами определенного размера.
GC очень хорошо справляется с очень недолговечными объектами (коллекции Gen 0 быстры) или очень долгоживущими объектами (Gen 2). Объекты, которые живут достаточно долго, чтобы добраться до Быт 1 или 2 перед освобождением, сравнительно более дороги и, как правило, стоят гораздо больше времени, чем беспокойство, чем размер буфера.И последнее замечание: если вы считаете, что у вас есть производительность проблема из-за размера используемых вами буферов, test it. Это маловероятно, но кто знает, может быть, у вас есть странное слияние версии ОС, сетевого оборудования и выпуска драйверов, что имеет некоторую странную проблему с буферами определенного размера.
GC очень хорошо справляется с очень недолговечными объектами (коллекции Gen 0 быстры) или очень долгоживущими объектами (Gen 2). Объекты, которые живут достаточно долго, чтобы добраться до Быт 1 или 2 перед освобождением, сравнительно более дороги и, как правило, стоят гораздо больше времени, чем беспокойство, чем размер буфера.И последнее замечание: если вы считаете, что у вас есть производительность проблема из-за размера используемых вами буферов, test it. Это маловероятно, но кто знает, может быть, у вас есть странное слияние версии ОС, сетевого оборудования и выпуска драйверов, что имеет некоторую странную проблему с буферами определенного размера.
и, как правило, гораздо больше стоит потратить время на то, чтобы беспокоиться о том, насколько велик размер буфера.И последнее замечание: если вы думаете, что у вас проблемы с производительностью из-за размера используемых вами буферов, протестируйте . Это маловероятно, но кто знает, может быть, у вас есть странное слияние версии ОС, сетевого оборудования и выпуска драйверов, что имеет некоторую странную проблему с буферами определенного размера.
и, как правило, гораздо больше стоит потратить время на то, чтобы беспокоиться о том, насколько велик размер буфера.И последнее замечание: если вы считаете, что у вас проблемы с производительностью из-за размера используемых вами буферов, протестируйте . Это маловероятно, но кто знает, может быть, у вас есть странное слияние версии ОС, сетевого оборудования и выпуска драйверов, что имеет некоторую странную проблему с буферами определенного размера.
Мой анекдотический опыт заключался в том, что это действительно зависит от того, что вы делаете, но обычно все, что находится в диапазоне 1024-4096 байт (1-4KB, то есть степень двойки), даст мне сравнимый результат. производительность (с 4KB «лучшим» числом, которое я видел).
По сути, вы хотите, чтобы буфер был достаточно большим, чтобы вы не бесполезно читали данные из потока, но не настолько велики, чтобы уменьшить отдачу. Если ваш буфер слишком велик (~ МБ), то вы увеличите потери в кеше памяти, что может привести к снижению производительности. Конечно, это сильно варьируется в зависимости от фактического H / W (скорость шины, размер кэша и т. Д.), Но мне кажется, что случаи, когда буфер 4 МБ был медленнее, чем буфер 4 КБ (оба случая имели длительный срок службы, поэтому GC не был проблема).
Как отмечает Джонатан,