Представьте что вы получили 500 кредитных заявок. В каждой — паспорт, банковская выписка, справка о доходах, налоговая форма. Всё в PDF. Имена файлов:
upload1.pdf,upload2.pdf... Чтобы обработать их вручную — нужна неделя и несколько сотрудников. Чтобы обработать автоматически старым способом — нужно написать отдельный парсер под каждый тип документа, и молиться чтобы шрифт не поменялся. Эта статья о том как индустрия шла к решению этой задачи — и к чему пришла.
Рубрика «Vectorization»
От OCR до ADE: как машины научились не просто читать, а понимать документы
2026-03-10 в 12:15, admin, рубрики: ai-агенты, computer vision, llm, ocr, python, rag, Vectorization, Компьютерное зрение, машинное обучение, обработка документовСумачечая производительность LINQ в .Net7
2022-11-06 в 11:04, admin, рубрики: .net, algorithms, C#, linq, linux, MacOS, performance optimization, sql, unity, Vectorization, микросервисы, Разработка под Linux
Исторически так сложилось, что LINQ взыскал сомнительную репутацию за его слабую производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.
Приводим данные и код в порядок: данные и разметка, часть 2
2016-05-12 в 13:46, admin, рубрики: c/c++, c++, Intel Advanced Vector Extensions, Intel Math Kernel Library, Modern Code, parallel computing, Vectorization, Блог компании Intel, Программирование
В этой серии из двух статей о производительности и памяти описываются базовые принципы и приводятся советы для разработчиков по повышению производительности программного обеспечения. Эти статьи затрагивают, в частности, работу памяти и компоновку. В первой части было рассказано об использовании регистров и о применении алгоритмов блокирования для повышения многократного использования данных. В этой части статьи сначала описывается компоновка данных для обычного распараллеливания — программирования для общей памяти с потоками, а затем распределенные вычисления по сетям MPI. В статье описываются понятия, связанные с распараллеливанием: векторизация (инструкции SIMD) и работа с общей памятью (многопоточная архитектура), а также вычисления с распределенной памятью. И наконец, в этой статье сравниваются компоновки данных «массив структур» (AOS) и «структура массивов» (SOA).
Читать полностью »
Приводим данные и код в порядок: оптимизация и память, часть 1
2016-05-04 в 13:30, admin, рубрики: c/c++, c++, Intel Advanced Vector Extensions, Intel Math Kernel Library, Modern Code, parallel computing, Vectorization, Блог компании Intel, Программирование, метки: Intel Advanced Vector Extensions, Intel Math Kernel Library, Modern Code, Parallel Computing, VectorizationВ этой серии из двух статей говорится о том, как структура данных и памяти влияет на производительность. Предлагаются определенные действия для повышения производительности программного обеспечения. Даже простейшие действия, показанные в этих статьях, позволят добиться существенного прироста производительности. Многие статьи, посвященные оптимизации производительности программ, рассматривают распараллеливание нагрузки в следующих областях: распределенная память (например, MPI), общая память или набор команд SIMD (векторизация), но на самом деле распараллеливание необходимо применять во всех трех областях. Эти элементы очень важны, но память также важна, а про нее часто забывают. Изменения архитектуры программ и применение параллельной обработки влияют на память и на производительность.

