> Вообще то, эффективнее всего работать не кусками влезающими в оперативку, а с
> кусочками влезающими в кеш процессора.Аксиома: если математика несложная, а картинка большая - основное время работы с ней что так что эдак уйдет на выгруз из оперативы источника и вгруз в оперативу результата.
Кэш как таковой кэш ничего с этим сделать не может. Ваша мысль имеет право только в допущении что все упирается в процессор, а не оперативку. Но процессоры сейчас быстрые и оперативку обгоняют сильно, по поводу чего и есть кэши. Так что какие-то такие соображения могут иметь смысл только для каких-то очень частных случаев, когда математика применяемая к кускам картинки очень крутая, обращается к пикселам много раз подряд и это - какой-то существенный процент времени по сравнению с IO с оперативой. А если вы жуете всю картинку - то вы ее всю прочтете и запишете в оперативу. Что с кэшом, что без. И таки при лопатинге 2.5 гигз кэш во многих случаях погоды вообще не сделает. Лучшее что там может закешироваться - сам алгоритм, но никак не данные которые он жевал.
Да, я развлекался с компрессором данных. И когда у меня source и destination уместились в кэш, на повторных сжатиях и распаковках выигрыш получился офигительный. На однократной профита не наступает - в конечном итоге источник придется взять оперативки, а результат записать в оперативку. Что с кэшом, что без. Куда такой профит прикрутить - я толком и не придумал. Ну, можно бенчмарки накручивать, наверное. Если 7z b меряет 20000 MIPS, то подмухлевав в таком духе можно получить и все 100000 если не больше. Проблема в том что в реальных сценариях это никто не увидит.
> Насколько я знаю, видео все и всегда обрабатывают как раз такими кусочками.
Хотелось бы пруфца на столь храброе заявление. Желательно в исходниках.