|
|
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
Есть целочисленный двумерный вектор X[12,8]. Его надо сравнить с 224 такими-же векторами (шаблонами) и найти идентичный. Пытался оценить среднее количество операций сравнения... (типа X[i,j]==Y[i,j]) ммм... выходит что-то около 10 000. Как-бы уменьшить количество сравнений? C уважением Lord Mayton ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:29:25 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
Идентичный вектор - один или их много? Насколько сильно отличаются матрицы? Они приходят извне или строятся самостоятельно? Вопрос скорее в Программирование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:37:30 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
TimmИдентичный вектор - один или их много? Насколько сильно отличаются матрицы? Они приходят извне или строятся самостоятельно? Вопрос скорее в Программирование Он один. Нет. Не сильно. Я-бы сказал, что шаблоны очень похожи друг на друга. Они приходят из внешнего файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:42:19 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
mayton TimmИдентичный вектор - один или их много? Насколько сильно отличаются матрицы? Они приходят извне или строятся самостоятельно? Вопрос скорее в Программирование Он один. Нет. Не сильно. Я-бы сказал, что шаблоны очень похожи друг на друга. Они приходят из внешнего файла. Гы. проверил сколько работает полный перебор. 16 мсек. Че парица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:50:36 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
Timm Гы. проверил сколько работает полный перебор. 16 мсек. Че парица? 16 мсек - это что. Время сравнения одной матрицы с 224 другими? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:56:32 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
mayton Timm Гы. проверил сколько работает полный перебор. 16 мсек. Че парица? 16 мсек - это что. Время сравнения одной матрицы с 224 другими? да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:07:52 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
TimmГы. проверил сколько работает полный перебор. 16 мсек. Че парица? Нееет, под это дело надо явно добавить новый элемент языка, Matrix, поддерживающий сравнение столбцов в нескольких потоках, использующий хэширование элементов при загрузке, желательно - в нулевом кольце защиты. Чтобы работало быстрее. А, да - еще оно должно использовать прямое чтение из файла путем обращения к контроллеру винчестера. А пока такого чуда в Яве нету - это плохой язык :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:34:28 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
Timm16 мсек - это что. Время сравнения одной матрицы с 224 другими? Это число умножится на 2000, и мы получим время кодирования одного кадра. Это порядка 3 секунд. В каждом видеоролике - где-то 15 мин = 900 сек. = 13 500 кадров (при скорости записи презентации 15 fps). Тоесть для кодирования целого ролика мне понадобится 13 500 * 3 = 40 500 секунд = приблизительно 11 часов. Многовато получается. Хотелось-бы побыстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:36:44 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
mayton Timm16 мсек - это что. Время сравнения одной матрицы с 224 другими? Это число умножится на 2000, и мы получим время кодирования одного кадра. Это порядка 3 секунд. В каждом видеоролике - где-то 15 мин = 900 сек. = 13 500 кадров (при скорости записи презентации 15 fps). Тоесть для кодирования целого ролика мне понадобится 13 500 * 3 = 40 500 секунд = приблизительно 11 часов. Многовато получается. Хотелось-бы побыстрее. 2000 итераций - 547 мсек. Ява по моему не совсем (даже совсем не) подходит для написания видео кодеков. Такие вещи серьезно оптимизируют, используя ассемблер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:50:37 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
mayton Timm16 мсек - это что. Время сравнения одной матрицы с 224 другими? Это число умножится на 2000, и мы получим время кодирования одного кадра. Это порядка 3 секунд. В каждом видеоролике - где-то 15 мин = 900 сек. = 13 500 кадров (при скорости записи презентации 15 fps). Тоесть для кодирования целого ролика мне понадобится 13 500 * 3 = 40 500 секунд = приблизительно 11 часов. Многовато получается. Хотелось-бы побыстрее. Эээ... видеокодер на Яве?! Интересное требование у вашего заказчика. Один из вариантов я уже предложил - реализовать некую хэш-функцию, которая будет вычисляться при загрузке вектора. И сравнивать по хэшу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:54:41 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
TimmЯва по моему не совсем (даже совсем не) подходит для написания видео кодеков. Такие вещи серьезно оптимизируют, используя ассемблер. Подпишусь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:55:38 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
Timm mayton[quot Timm]16 мсек - это что. Время сравнения одной матрицы с 224 другими? Ява по моему не совсем (даже совсем не) подходит для написания видео кодеков. Такие вещи серьезно оптимизируют, используя ассемблер. Это не настолько значимая задача, чтобы я писал ее на ассемблере. Просто возникла проблема быстрого создания компактных презентаций для обучения студентов. И я ей занимаюсь. Зашедший ...сравнение столбцов в нескольких потоках, использующий хэширование элементов при загрузке, желательно - в нулевом кольце защиты. Чтобы работало быстрее. А, да - еще оно должно использовать прямое чтение из файла путем обращения к контроллеру винчестера. Ну.. это вы загнули. Особенно про нулевое кольцо защиты. И файлы мне напрямую читать не надо. Тоесть читать-то их надо, но здесь скорость чтения не будет узким горлом. А по поводу хеширования - это мысль. Я даже об этом не подумал. Ведь поиск можно свалить на механизмы HashTable. Главное правильно сформировать ключик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:57:32 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
mayton Timm[quot mayton][quot Timm]16 мсек - это что. Время сравнения одной матрицы с 224 другими? Ява по моему не совсем (даже совсем не) подходит для написания видео кодеков. Такие вещи серьезно оптимизируют, используя ассемблер. Это не настолько значимая задача, чтобы я писал ее на ассемблере. Просто возникла проблема быстрого создания компактных презентаций для обучения студентов. И я ей занимаюсь. MS PowerPoint. Не парьтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 14:01:40 |
|
||
|
Быстрое сравнение матриц
|
|||
|---|---|---|---|
|
#18+
Я нарисовал метод преобразования матрицы (буква "A") в набор строковых ключиков. 01234567ключ0x000x00110x1811110x3C11110x6611110x6611110x661111110x7E11110x6611110x660x000x00 Для всей матрицы - 0000183C6666667E666600 Дальше дело техники. З.Ы. Надо еще как-то подкрутить настройки хеша, чтоб коллизий было меньше. Пошел писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 14:13:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34170331&tid=2147334]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
194ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 445ms |

| 0 / 0 |
