powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Насчет производительности
25 сообщений из 83, страница 2 из 4
Насчет производительности
    #39213214
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дожили - матрицы умножать разучились
...
Рейтинг: 0 / 0
Насчет производительности
    #39213234
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, тыб не вбрасывал - а код написал. Тут - каждый философ.

P.S. Show me your ....en code!
...
Рейтинг: 0 / 0
Насчет производительности
    #39213244
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurytip78кстати, вот
самый лучший алгоритм на данный момент: O(n2.3727)
точно секунда?

не путайте алгоритмы умножения квадратных матриц и прямоугольных.

Пусть у нас есть две прямоугольных матрицы xy и yz . Тогда, асимптотика поиска матрицы r=xy mpl yz составит O(xyz).

там такие и обсуждаются
...
Рейтинг: 0 / 0
Насчет производительности
    #39213257
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78SSпропущено...


не путайте алгоритмы умножения квадратных матриц и прямоугольных.

Пусть у нас есть две прямоугольных матрицы xy и yz . Тогда, асимптотика поиска матрицы r=xy mpl yz составит O(xyz).

там такие и обсуждаются
Что в таком случае значит n ?
...
Рейтинг: 0 / 0
Насчет производительности
    #39213269
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИзопропилmayton,

точно не нужна.
достаточно хранить в памяти вторую матрицу транспонированной
Загадками говоришь.

если вторую матрицу хранить траспонированой, то вместо скалярного произведения строки на столбец
нужно считать скалярное произведение строк

если матрицы хранятся по строкам - строки располагаются в непрерывных участках памяти со всеми профитами
...
Рейтинг: 0 / 0
Насчет производительности
    #39213927
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня как-то изначально не возникало сомнений по поводу транспонирования.

Сложно знаешь ли представить себе табличку в БД в 500 тыс колонок
...
Рейтинг: 0 / 0
Насчет производительности
    #39213993
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСложно знаешь ли представить себе табличку в БД в 500 тыс колонок
я о представлении в памяти и последующих вычислениях


ЗЫ жаль, топикстартер SQL код не предоставил до сих пор
...
Рейтинг: 0 / 0
Насчет производительности
    #39214000
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да тут возможности SQL все просадят нахер.
По хорошему надо бить 500 тыщ строк на 2х250 или 4х125
и пускать в двух или четырех процессах но кто
посоветует как для generic-dbms обеспечить
хотя-бы константное время подготовки этих
данных.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214014
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропиля о представлении в памяти и последующих вычислениях
Тут как-раз нет проблем: обе матрицы 500000х5, т.е. всего 5000000 элементов. А результат 500000х500000 - его сразу на диск писать.
Параллелить тоже не сложно. Можно даже кластером считать.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214020
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима, дорогой мой чел. SQL курсор в общем случае неумеет найти с 250000 по 500000 элемент.
Нету у него Seek. Для этого нужно делать партишионинг что в общем случае усложняет
задачу и вообще ставит под вопрос смыслы. Для чего? Только для умножения?
...
Рейтинг: 0 / 0
Насчет производительности
    #39214037
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы не стал сходу утверждать, что люди, делающие разбор и оптимизацию SQL-запросов в движках SQL-серверов зря едят свой хлеб.
И рассуждения о секционировании и прочих продвинутых техниках - та самая преждевременная оптимизация.

P.S. Тупой запрос поиска "счастливых билетов" отработал "практически мгновенно". Apache Derby без всякого "тьюнингования".
Для семизначных чисел, да - заметно медленнее, но в "предел терпиливого ожидания" всё равно уложился.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214043
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДима, дорогой мой чел. SQL курсор в общем случае неумеет найти с 250000 по 500000 элемент.
Нету у него Seek. Для этого нужно делать партишионинг что в общем случае усложняет
задачу и вообще ставит под вопрос смыслы. Для чего? Только для умножения?
Я про алгоритмическое решение. SQL тут мало уместен, он на реляционные модели заточен, а тут чистое декартово произведение с сохранением полного результата.

Я выше не совсем понял о чем речь, матрицы давно изучены ... и забыты за ненадобностью.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214069
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЯ бы не стал сходу утверждать, что люди, делающие разбор и оптимизацию SQL-запросов в движках SQL-серверов зря едят свой хлеб.
Буквально на днях, написал запрос (MS SQL), разовый, писал лишь бы правильно ситаксис написать, молотило 18 минут. Вторых 18 минут не было, глянул план, чуть поправил - отработало за несколько секунд. Может не зря хлеб едят, но масло я бы им на хлеб не ложил.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди знающие хлеб и масло это DBA. Это узкие люди. Они свою технологию
шарят а шаг влево шаг вправо - уже плывут и руки вверх. Я говорю так потому
что я - такой-же. Бывший ДБА. Вобщем надо знать что такое HashTables и B+Tree
и основы дисковой оптимизации а все остальное - приложится.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214073
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЛюди знающие хлеб и масло это DBA. Это узкие люди. Они свою технологию
шарят а шаг влево шаг вправо - уже плывут и руки вверх.
Это говорит о том что нынешние технологии далеко не идеальны. Нужны знающие люди чтобы эффективно использовать технологии, а знающих всё досконально людей не бывает. Нельзя быть опытным во всем.
Это хорошо - иначе профи будут просто не нужны, любой бред студента исправит компилятор или оптимизатор.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214076
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TmaytonЛюди знающие хлеб и масло это DBA. Это узкие люди. Они свою технологию
шарят а шаг влево шаг вправо - уже плывут и руки вверх.
Это говорит о том что нынешние технологии далеко не идеальны. Нужны знающие люди чтобы эффективно использовать технологии, а знающих всё досконально людей не бывает. Нельзя быть опытным во всем.
Это хорошо - иначе профи будут просто не нужны, любой бред студента исправит компилятор или оптимизатор.
Это сложный и глубокий вопрос. Сложный и глубокий. Вот я раньше считал
что дев обязан знать весь стек... а сегодня я уже устал. Я не знаю как устроено
облако Amazon S3. Но я его юзаю. Я - пользователь облака. Хотя и разработчик.
Когда я звоню по мобиле я внутренне представляю себе роутинг сот и ретрансляторов
хотя... нахер оно надо если ты просто звонишь. Нафиг знать вообще весь стек технологий
если тебе достаточно тех знаний что есть чтобы заработать котлету в несколько К зелени.

Как то так.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214082
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНафиг знать вообще весь стек технологий если тебе достаточно тех знаний что есть чтобы заработать котлету в несколько К зелени.

Как то так.
все верно, почти, например я давно забыл про умножение матриц, Саша разъяснил 19045164 , но вообще все знать невозможно, слишком много придумано.

PS котлеты из мяса вкуснее :)
...
Рейтинг: 0 / 0
Насчет производительности
    #39214089
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЭто сложный и глубокий вопрос. Сложный и глубокий.
У меня напарник любитель все подряд изучать. Поверхностно знает все. Дай ему любую модную хрень, он на следующий день скажет что тут можно то и это. А спроси можно ли "это вот так" ?, не ответит, т.к. вопрос в глубь. Так и живем - он в ширь, я в глубь.
...
Рейтинг: 0 / 0
Насчет производительности
    #39214108
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TИзопропиля о представлении в памяти и последующих вычислениях
Тут как-раз нет проблем: обе матрицы 500000х5, т.е. всего 5000000 элементов. А результат 500000х500000 - его сразу на диск писать.
Параллелить тоже не сложно. Можно даже кластером считать.

я предположил другой порядок умножения и матрица на выходе 5x5
...
Рейтинг: 0 / 0
Насчет производительности
    #39214110
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T... и забыты за ненадобностью.
как это?
...
Рейтинг: 0 / 0
Насчет производительности
    #39214199
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилmaytonпропущено...

Загадками говоришь.

если вторую матрицу хранить траспонированой, то вместо скалярного произведения строки на столбец
нужно считать скалярное произведение строк

если матрицы хранятся по строкам - строки располагаются в непрерывных участках памяти со всеми профитами

Асимптотика останется прежней. Как я понимаю выигрыш в том, что данные на АЛУ будут поступать быстрее. Какая примерно оценка выигрыша по времени будет за счёт этого ?
...
Рейтинг: 0 / 0
Насчет производительности
    #39214203
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше конечно оценка снизу. Например время выполнения без транспонирования второй матрицы t, а если будем транспонировать то (1-a)*t, где а in [0, 1). Ещё нужно учесть время которое мы потратим на транспонирование матрицы
...
Рейтинг: 0 / 0
Насчет производительности
    #39214213
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryЛучше конечно оценка снизу. Например время выполнения без транспонирования второй матрицы t, а если будем транспонировать то (1-a)*t, где а in [0, 1). Ещё нужно учесть время которое мы потратим на транспонирование матрицы
матрица у него и так транспонированная как уже сказали
а вот то, что для получения одного числа результирующей матрицы нужно 5 млн. пар чисел перемножить и сложить с учётом возможных переполнений и пр. - забыли
...
Рейтинг: 0 / 0
Насчет производительности
    #39214215
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ещё забыли спросить зачем это нужно. Неужели систему линейных алгебраических уравнений решает
...
Рейтинг: 0 / 0
Насчет производительности
    #39214219
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то главная изюминка алгоритма умножения матриц - это что он хорошо распараллеливается.
На языках типа С++, Java это делается легко.
На SQL добиться этого будет достаточно сложно.
...
Рейтинг: 0 / 0
25 сообщений из 83, страница 2 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Насчет производительности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]