Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Есть такая задача, умножить одну матрицу на другую , делаю я эту в БД занимает оно 24 часа, думаю если вот перемножать матрицы на С++,а не SQL даст ли оно выигрыш в производительности, в каждой матрице где то 500 тысяч записей ну и 5 столбиков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:36 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
А разве неквадратные матрицы способны перемножаться?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:42 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimmf28, ты точно матрицы умножаешь? Или другую операцию над ними делаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:43 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА разве неквадратные матрицы способны перемножаться?.. да. одна NxM, другая MxN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:44 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Изопропил, ну да матрицы просто они в виде табличек у меня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:48 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Тогда уж NxM на MxK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:48 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
А по теме - вытянуть матрицы да перемножить самому всяко быстрее выйдет чем чисто через sql. Возможное исключение - какое-нибудь нативное расширение на сервере для таких задач, но в общем случае о таком лучше даже не думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:52 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
wst, то есть в с++ это быстрей будет получаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:53 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimmf28wst, то есть в с++ это быстрей будет получаться? да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 14:58 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Изопропилда. Сильно зависит от кривизны рук перемножающего. Если он их в БД 24 часа перемножает... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 15:08 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovИзопропилда. Сильно зависит от кривизны рук перемножающего. Если он их в БД 24 часа перемножает... теперь не уверен.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 15:20 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
По-любому в БД такое делать точно нельзя. Даже не по соображениям производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 16:07 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
MasterZivПо-любому в БД такое делать точно нельзя. почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 16:22 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Изопропилпочему? Наверное, Зив считает, что СУБД плохо справляются с перемножением и сложением множеств... [src=SQL]select a.x,b.y,sum(a.value*b.value) from a join b on a.y=b.x group by 1,2[/src] Как-то так по-моему... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 16:41 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ага вот так вот почти я и делал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 17:01 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimmf28ага вот так вот почти я и делал так как Сибиряков написал должно работать секунду, а не сутки. Покажи свое "почти так", т.е. текст запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 18:12 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dima Tтак как Сибиряков написал должно работать секунду, а не сутки. а может он всё-таки каждую из 500к умножает на 500к ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 21:21 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Изопропил, потому что мир перевернется и наши потомки будут смеяться нам нами, а предки будут плакать в могилах и спрашивать : "за что же мы боролись?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2016, 22:41 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Dimmf28Есть такая задача, умножить одну матрицу на другую , делаю я эту в БД занимает оно 24 часа, думаю если вот перемножать матрицы на С++,а не SQL даст ли оно выигрыш в производительности, в каждой матрице где то 500 тысяч записей ну и 5 столбиков? Скорее всего ты - большой выдумщик и фантазер. Написать код который быстро считает на С++ это означает что нужно предварительно ПОДГОТОВИТЬ данные для процессинга. Тоесть расположить в памяти строки 1-й матрицы и столбцы второй в таком порядке чтобы они считывались последовательно, были компактны были friendly для кешей L1/L2. А теперь самое интересное. Тебя интересует КАКОЕ время. Время умножения? Или время ПОДГОТОВКИ + время умножения? Не спеши с ответом. Подумай. Это бесконечной длины боян который я всегда спрашиваю у любителей сортировать массивы целых чисел длиной 4Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 00:04 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
mayton, 2x500000x5 float - это 20 мегабайт - слёзы. преждевременная оптимизация, как обычно, не нужна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 00:09 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Изопропил, точно-точно не нужна? А может быть 5xfloat расширить до 8x ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 00:56 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
mayton, точно не нужна. достаточно хранить в памяти вторую матрицу транспонированной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 01:04 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
Изопропилmayton, точно не нужна. достаточно хранить в памяти вторую матрицу транспонированной Загадками говоришь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 01:08 |
|
||
|
Насчет производительности
|
|||
|---|---|---|---|
|
#18+
tip78кстати, вот самый лучший алгоритм на данный момент: O(n2.3727) точно секунда? не путайте алгоритмы умножения квадратных матриц и прямоугольных. Пусть у нас есть две прямоугольных матрицы xy и yz. Тогда, асимптотика поиска матрицы r=xy mpl yz составит O(xyz). Алгоритм будет примерно такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. может что-то с индексами напутал, Dimmf28 проверьте самостоятельно. У меня нет времени(код набирал тут) Таким образом в вашем случае необходимо либо 0,125*10^13, либо 0,125*10^8 операций (поскольку операция умножения в пространстве матриц некоммутативна). Думаю что за 30 минут, в крайнем случае за 60 минут, максимальное из этих двух значений число операций должно быть выполнено на не самой мощной вычислительной машине ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2016, 02:21 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39212588&tid=2018547]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 437ms |

| 0 / 0 |
