|
Работа с матрицей
|
|||
---|---|---|---|
#18+
petrav, а теперь в calc_times поменяй вызовы diamond1 с diamond2 и проверь ещё разок. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 17:53 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
mayton Ты серьезно? Кто же тестит на такой мелкой матрице. Виноват, не додумал. Увеличил матрицу до 129*129, заполнил std::rand(). Теперь мой код обгоняет в три раза. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 17:57 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
rdb_dev petrav, а теперь в calc_times поменяй вызовы diamond1 с diamond2 и проверь ещё разок. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 17:59 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
petrav, вполне возможно и именно в 3 раза при использовании 32 разрядного приложения и в 7 раз при использовании 64 разрядного. Проблема производительности в доступе по декрементному указателю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:03 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
JustSomething petrav Заметили? Задачу решил я, а благодарность всем. Вот и помогай людям после такого. Вам выражаю особую благодарность) Спасибо. :) Я пошутил, обращайтесь. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:07 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Можно переделать декремент. Он немножко портит картину доступа к памяти. Пускай суммирование идет слева направо и все. До упора. Справа налево - не надо. Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:21 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
rdb_dev mayton По поводу реализации rdb_dev - она - хорошая. Мне нравится, но для трансформаци по Степанову - не подходит. Она хорошая только в условиях однопоточности. На данный момент средствами объективного контроля я наблюдаю, что твоя реализация плохая во всех смыслах. Без обид. Она не читаемая, сложная, запутанная и плохо оптимизируемая. Попробуй обгони мой код. Думаю это возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:23 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Да и возьмите матрицу хотя-бы в миллион. И еще petrav. Чтобы тест был честным ты должен запускать в шахматном порядке обе функции несколько раз и брать среднее время в финале. Это важно потому-то первая-функция -первопроходец может наблюдать картину кешей L1/L2/L3 отличную от второго запуска. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:30 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
И выровняйте ширину матрицы по кеш-линии. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:32 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
mayton Да и возьмите матрицу хотя-бы в миллион. И еще petrav. Чтобы тест был честным ты должен запускать в шахматном порядке обе функции несколько раз и брать среднее время в финале. Это важно потому-то первая-функция -первопроходец может наблюдать картину кешей L1/L2/L3 отличную от второго запуска. Взял 1024+1*1024+1. Миллион же? Ситуация ещё более усугубилась. Теперь не три, а 3.5 раза отставание. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:45 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Показывай сорцы. И вообще. Ты пользуешся GitHut или BitBucket? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:52 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
mayton Показывай сорцы. И вообще. Ты пользуешся GitHut или BitBucket? Нет. Показываю. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:55 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
mayton И выровняйте ширину матрицы по кеш-линии. В смысле? Выравнивание по умолчанию. 32-ва бита. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 18:59 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
petrav mayton И выровняйте ширину матрицы по кеш-линии. В смысле? Выравнивание по умолчанию. 32-ва бита. Ну х*евое выравнивание. Кеш-линия - 64 байта. Вот посчитай. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 19:02 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Ну и надо чтоб господин rdb_dev пофиксил свой реверсный итератор. А я - сорян ребята. Я очень хочу тут с вами покомпилировать. Но у меня щас prod-дефект. Так что я удаляюсь пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 19:04 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... В смысле? Выравнивание по умолчанию. 32-ва бита. Ну х*евое выравнивание. Кеш-линия - 64 байта. Вот посчитай. Ну я переключился на Релиз 64. Ситуация улучшилась. Теперь отставание в 2.2: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 19:10 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Итак, и снова у меня появились вопросы. Перейдя от теоретической части к практической, и скомпилировав данный код от уважаемого petrav petrav Решение двух пунктов сразу. получила следующее: .... /usr/bin/x86_64-linux-gnu-ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21 /usr/bin/x86_64-linux-gnu-ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status Пошарившись в интернетах, нашла такое: авторЯ не уверен в ваших неверных ошибках перемещения, но очевидная вещь отсутствует, так как у вас нет функции main. Вам необходимо определить точку входа в ваше приложение под названием main, определенное в глобальной области видимости, например: int main() { // TODO: implementation } Хотела уточнить, это дело в компиляторе или мне действительно нужно добавить ф-цию main? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 20:26 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
JustSomething Хотела уточнить, это дело в компиляторе или мне действительно нужно добавить ф-цию main? Ну вообще да, main() желательна. Напишите хотя бы так: Код: plaintext 1. 2.
А оттуда уже всё вызывайте. Но лучше, конечно, прочитать Кернигана и Ритчи. Всего-то 300 страниц. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 20:32 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
JustSomething, переходите на Питон! будет проще! :-) это же тройной вынос мозга получается -> матрицы + (что-то с ними сделать) + С/С++! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 23:45 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
mini.weblab, Вы знаете, я бы может и перешла, кто знает, что больше понравится, но вот эти странные люди как научные руководители говорят писать курсовую на плюсах ну и вот что ты будешь с этим делать?) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 00:52 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
JustSomethingвот что ты будешь с этим делать? Прямо заявить им в наглые глаза, что "я вообще программировать не умею, не хочу и не буду, отвалите". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 00:58 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, так а кто сказал что не хочу и не буду? Не припоминаю что-то чтоб говорила такое) То, что не совсем хорошо получается, это да, не спорю, но это ведь не значит, что на этом конец) Добра Вам и позитива! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 01:04 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
по мотивам, а можно ли транспозицию матрицы сделать через указатели? т.е. мы не трогаем матрицу, а переставляем указатели на элементы матрицы нужным нам образом? примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 02:31 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
Транспозиция это транспонирование? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 10:57 |
|
Работа с матрицей
|
|||
---|---|---|---|
#18+
petrav На данный момент средствами объективного контроля я наблюдаю, что твоя реализация плохая во всех смыслах. Без обид. Она не читаемая, сложная, запутанная и плохо оптимизируемая. Попробуй обгони мой код. Думаю это возможно. Сравни с этим алгоритмом, мне самому лень Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:11 |
|
|
start [/forum/topic.php?fid=57&msg=39961826&tid=2017415]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 143ms |
0 / 0 |