|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
user7320Я удалил ненужный цикл и вообще заменил его функцией. Вы же на сказали, для каких задач этот массив нужен. Если вам постоянно нужны два миллиона строк с возрастающих числом на конце, то это одно. А если время от времени строка с числом на конце - то функция с параметром (в виде лямбды-делегата) лучший выход. не можете решить конкретную задачу - максимально быстро получить 2.000.000 объектов индексированных строк.( а по сути рещить проблему сложения строк и конверсии числа в строку ) - так и напишите не можу решить элементарных вещей. а задача - происходит пиковая нагрузка. и нужно за короткое время принять сообщения. нужно что бы кажое сообщение не переплелось с другим. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 10:53 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
beg-in-er, А можно показать как легко и непринужденно уменьшить время исполнения второго цикла хотя бы в 10 раз, безо всяких оптимальных решений, когда время выполнения второго цикла "будет по времени практически такое же, что и исполнение первого цыкла". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 13:47 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
Без unsafe. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 13:56 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
enigmaticbeg-in-er, А можно показать как легко и непринужденно уменьшить время исполнения второго цикла хотя бы в 10 раз, а не покажу. то было мысленное решение в 10 раз, оценочное. на компе появилось решение получше. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 14:47 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
beg-in-er, Показывайте. А я покажу что есть у меня. В общем, у нас есть исходный вариант (0.07s) и плохой вариант (1s), плохой вариант медленнее исходного в ~15 раз. Нам нужно оптимизировать плохой вариант. Первым делом избавляемся от боксинга q, время выполнения снижается до 0.9s, т.е. на 10%. Затем предположим, что мы написали лучший метод, чем string.Concat и избавились от конкатенации строк с нулевыми потерями производительности, получаем время выполнения 0.59s, но это даже не вдвое меньше чем исходный плохой вариант. Дальше остается оптимизировать int.ToString(), который использует нативную функцию для конвертации числа в строку, а нам нужно сделать быстрее. Может я где-то очевидную ошибку допускаю? Всё-таки оптимизацией приходится редко заниматься. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2013, 07:42 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
enigmatic, ну я тоже не каждый день провожу оптимизацию в 1.000 раз 13782217 в начале я думал просто в байты перевести и потом шлёпать в хвост байт-строки какой-то разделитель и 4 байта числа. а потом , когда попробывал что то сделать , пришло другое решение Код: c# 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.
тупо , в лоб. но за тоже время, что и время работы первого цыкла, получаем при обращении к памяти нужную строку. тупо , на первоначальном этапе избавился от сложения и приведения числа в строку. в этом наверно и есть оптимальность решения. как то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2013, 08:53 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
beg-in-er, Ну это вообще лол. Пройдите по этому массиву полностью один раз и по времени на то и выйдет. Подразумевалось же, что массив нужен весь и сразу. >в этом наверно и есть оптимальность решения Оптимальность решения в том, что вы не считаете всё и сразу, а выдаёте результат малыми порциями. А решение у вас хорошее, мне понравилось. В отличие от кода =) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2013, 09:21 |
|
А много ль затрат при передаче огромных объектов по ссылке?
|
|||
---|---|---|---|
#18+
enigmatic, авторПодразумевалось же, что массив нужен весь и сразу. неа, я написал несколько не так: что бы в памяти болталось 2.000.000 объектов, содержащих строку Z_class[0] же содержит строку . ну это казуистика. а код мне и самому не нравится. но что то не было желания его причесать. а решение да, мне и самому по душе. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2013, 09:51 |
|
|
start [/forum/topic.php?fid=20&msg=38112156&tid=1405345]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 337ms |
total: | 509ms |
0 / 0 |