Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Добрый день, подскажите пожалуйста как оптимизировать данный код. Т.к. на листе "222" 12 000 записей а на листе СводМи 800. Если делать так, то все происходит очень медленно... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 10:45 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, Избавиться от Activate прежде всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 10:46 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#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. кстати это не вникая в суть задачи, возможно еще можно оптимизировать - не пошагово выполнять копирование, а целиком - процесс копирования диапазона не через копи пасту, а присвоение диапазонов кстати это не вникая в суть задачи, возможно реализация будет быстрее за счет того, что диапа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:05 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
В конце хотел добавить про кошерный Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:14 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Shamanus, а его вставлять в какой части кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:36 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, ну если Вам лениво гуглить Код: plaintext 1. 2. 3. 4. 5. 6. 7. прогнал Ваш код с моей оптимизацией по 1500 записям Ваш код 55 секунд Мой код 32 секунды ну т.е. если учесть процессорную погрешность и особенность версии ОС и Office можно смело сказать почти в 2 раза ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:41 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Shamanus, После оптимизации 2 500 записей обработал за 9 минут. С учетом того что целевой лист содержит 12 000, а откуда копируем 5800 шт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 11:52 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, ещё быстрее было бы - перекинуть данные в массивы и работать с ними. Не вникая в задачу - или преобразовать один из массивов, или создать третий, а в конце выгрузить на лист. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 12:01 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, ну во первых 2500 записей это прогон 6 250 000 циклов сравнения исходя из Вашего кода и времени 11,5 тыс итераций в секунду.... ммм...маловато... у меня получается 1500 записей за 32 секунды это 2 250 000 циклов или 70 тыс итераций в секунду даже исходя из погрешностей и кеширования все равно маловато если скинете исходные данные могу покопаться в Вашем коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 12:49 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Shamanusесли скинете исходные данные могу покопаться в Вашем коде а также желательно скинуть железо, на котором это обрабатывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 12:53 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > а также желательно скинуть железо, на котором это обрабатывается Да не обязательно :) Мне кажется ТС не договаривает что ему нужно в действительности и предлагает оптимизировать его видиние алгоритма. И не желает озвучить полную задачу. А насчет кардинальных ускорений уже предлагали, но ТС продолжает гнуть свою "правильную" линию партии :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 12:56 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Сейчас все скину ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 13:12 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Вот он ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 13:33 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Еще раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 13:39 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: snap2111 > Еще раз ВопросЫ: Данные в столбце ID повторятся могут? Если могут, почему перетираешь ранее найденные данные, если не могут - зачем тогда внутренний цикл по всему массиву данных? Почему бы не воспользоватся функцией ВПР? Код: plaintext Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 14:40 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Игорь Горбонос > Размнож эту формулу Да формула для ячейки C3. Если нужно, подкорректировать пространство таблицы искомых данных - СводМи!$A$3:$V$85 А дальше протяни в сторону и вниз. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 14:43 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, (ID из первой строки уникальны) на данный момент оно так и выполняется - функцией впр, вот только я пытаюсь сделать отчет полностью автоматизированным, это один из этапов его выполнения, там потом много чего с ним делается дальше... Т.е. что бы нажать на кнопочку а оно все построило, без всяких там формул в экселе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 14:50 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, Для таких задач я универсальный код написал, сейчас проверил - быстро нашло 84 совпадения и скопировало данные. Но т.к. Вам надо это в другой процесс встраивать, то ссылку не дам. Одно могу сказать - два цикла не нужно. Хватит одного и поиска. Т.е. цикл по одному листу(222), поиск значения mStr = Cells(qs, 1).Value на листе СводМи по первой колонке, если нашли - копируем диапазон. Тем более, если повторов быть не должно. Можно чуть ускорить, закинув диапазон листа 222 в массив и перебирать массив. Получится лёгкий код и живенько работать будет. Имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:15 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, попробуй так. Протестировал на глаз, нужно ещё доработать. Но зато быстрее работает. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:17 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: snap2111 Код: 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. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:26 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
не успел ответить автору. p.s. очередное подтверждение того, что форум активнее на реальных примерах, а не на гипотетических кодах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:31 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 6,671875 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:33 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Shamanus > не успел ответить автору. Я забыл добавить Код: plaintext 1. 2. 3. 4. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:34 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, правда не успел :) у меня был вариант с сортировкой... но супротив варианта за 3 сек не попрет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:37 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Shamanus, у меня наверное комп в 10 раз слабее - 31 сек. А мой 6! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:40 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Shamanus > у меня был вариант с сортировкой... но супротив варианта за 3 сек не попрет :) Дык три секунды это на тестовых данных от автора топика, там тех данных, кот наплакал :) С сортировкой тоже идея, можно отсортировать и тогда сужать диапазон поиска. Я задал всегда искать по столбцу А, а можно указать диапазон и постоянно его именьшать, что тоже может привести к ускорениям, но нужно замерять на больших объемах, потому что сама сортировка может "съесть" весь выиграш от ускорения поиска по упорядоченным данным. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:43 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Я там чуть с диапазоном не дотянул, ещё 2 столбца добавить надо... Sheets(1).Cells(f.Row, 22)).Copy Sheets(2).Cells(i, 3) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 15:47 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Спасибо всем большое!!!! Буду набираться ума из вышеуказанных кодов. Пока что испытал код Hugo121 (за 30 секунд обработал 345 записей) и код VSVLAD (за 30с - 938 записей). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 16:41 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: snap2111 > Буду набираться ума из вышеуказанных кодов. > Пока что ... (за 30 секунд обработал 345 записей) и ... (за 30с - 938 записей). Научи лучше запускать код, что-бы он выполнялся ровно 30 секунд Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 16:46 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, ))))))))))))) Перед глазами часы с секундной стрелкой, а руки на ктрл+брейк - енд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 16:52 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Ускорил в 2 раза почти, быстрее не получается... Не получается часть массива на лист выгрузить одним махом, приходится во временный перекладывать... Вот как бы сделать вроде Range(Sheets(2).Cells(i + 1, 3), Sheets(2).Cells(i + 1, 23)) = b(f.Row - 2) Пока такая версия: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 18:15 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Hugo121 > приходится во временный перекладывать... А ты попробуй не поэлементно перекладывать, а Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long) сразу строку перебрасывать в новый массив и его присваивать :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 18:25 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, Не, строку я в первой версии уже копировал, думаю так быстрее не будет. Я хотел сперва сразу все данные загнать в два массива, за два хода (это есть), затем сравниваем массивы, и при совпадении выгружаем часть массива на лист, в один приём. Вот это не получается, только перекладыванием во временный. Ещё можно попытаться сформировать итоговый массив, и затем его сразу вывалить... Так наверное тоже должно быть быстро. Хотелось бы VSVLAD догнать, с RangeData, в которых я с трудом пробираюсь... сильно путанно. Но 1 сек. на моей машине впечятляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 18:46 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Ну что мог, сделал, меньше 3-х секунд. Зато всё прозрачно. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 18:58 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Hugo121 > Игорь Горбонос, > Не, строку я в первой версии уже копировал, думаю так быстрее не будет. Я предлагал не строку копировать, а брать из памяти часть массива и копировать содержимое в другую часть памяти(другого массива) Но это не подойдет, т.к. массив хранится постолбцово, а не построчно > Ещё можно попытаться сформировать итоговый массив, и затем его сразу вывалить... Так наверное тоже должно быть > быстро. Согласен > Хотелось бы VSVLAD догнать, с RangeData, в которых я с трудом пробираюсь... сильно путанно. Но 1 сек. на моей > машине впечятляет. :) Там ничего сложного нет, Влад объявляет пользовательский тип данных, который содержит идентификатор, по которому будет поиск и Range всего диапазона в строке, которую нужно будет переносить на другой лист, это один цикл. Во втором цикле идет по всем ID'шникам другого листа и при нахождении совпадения не идет на лист за всей строкой, как мы с тобой, а "вытаскивает её из-за щеки" - из RangeData и делает простое присвоение :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 19:01 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Что-то опять чуть спутал (кодом выше тоже косяк есть) - в конце пишем в диапазон Range(Sheets(2).Cells(2, 3), Sheets(2).Cells(iLastrow, 23)) = c было Range(Sheets(2).Cells(2, 3), Sheets(2).Cells(iLastrowSvod, 23)) = c ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 19:07 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Занесу в особоважныепримеры :), наверняка пригодится. А код от ТС у меня так до конца и не дорабоал, надоело ждать. Я даже статусбар подключил, чтоб видеть, что делается - уууу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 19:17 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Код ещё можно ушустрить, надо отказаться от типа Variant. Тогда можно ещё чуть чуть выжать =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 20:04 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
VSVLAD, ушустрил - отказался от Find! Время - 0,015625 Я сам офигел © Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 20:26 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
f As Range уже не надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 20:29 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Чуть промахнулся, на 1 позицию. В части поиска так надо: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 20:40 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Забыл - тут ещё чуть подогнать можно, на большом объёме может секунду-другую даст: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 21:02 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Ещё поправочка, одну строку есть смысл заменить: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 22:08 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Поторопился, вечно на этом спотыкаюсь... Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 22:14 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Ещё вызов функции UBound() заменить на значение переменной, таким образом: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 22:42 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
VSVLAD, точно. Сделал, но на этом примере не чувствуется, похоже это минимум, что показывает таймер - 0,015625 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2010, 23:30 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
У системного таймера в Windows это минимум 15мс. Поэтому замер даст или 0 или 15. Думаю что код уже оптимизирован дальше некуда... Нужно на реальных данных тестировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 12:11 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
У системного таймера в Windows это минимум 15мс. Поэтому замер даст или 0 или 15. Думаю что код уже оптимизирован дальше некуда... Нужно на реальных данных тестировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 12:12 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
После вставки этого кода tm = Timer - tm MsgBox tm показывает 42990,31 на моих тысячах записей (при выполнении кода VSVLAD) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 12:58 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, попробуйте код последней версии от Hugo121 , скорость должна быстрее быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 14:23 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 15:21 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
Hugo121, Последний код побил все рекорды! С 40 мин. (мой код) до 5,5 сек Hugo! Браво! P.S. Если не сложно можно прокомментировать хотя бы основные шаги, а то много нового ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 15:41 |
|
||
|
Как оптимизировать данный код? Копирование данных
|
|||
|---|---|---|---|
|
#18+
snap2111, здорово. Коротко - я это описал в первом посте Читаем оба диапазона в массивы (за один приём каждый), создаём третий массив, пока пустой. Затем сравниваем массивы по ID. Здесь так же, как и у вас, два цикла, но не по листам, а по массивам. Вот в этом и вся основная разница. Если есть совпадения - перегружаем данные в третий массив в соотв. элемент. В конце третий массив выгружаем на лист, за один приём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2010, 17:21 |
|
||
|
|

start [/forum/topic.php?all=1&fid=60&tid=2159573]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 388ms |

| 0 / 0 |
