Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Есь строки "1,2,3,4" "A1,A2,4,...,DDDD.." Есть ли возможность их сразу в массив в COS. В бейсике сразу можно Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 11:38 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Гость68, Нельзя так на косе, цикл нужно писать Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 11:47 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Гость68, Можно использовать ф-ию $listfromstring, которая возвращает список. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 11:57 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 12:04 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Дорого каждое мгновение, как Вы думаете COS будет быстрей чем Cache Basic? Судя по коду будет несколько раз работать ф-ия $P. Хотя с другой стороны Cache Basic конвертится в тот же COS В 5.0 не нашел $listfromstring ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 12:16 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Гость68Всем спасибо. Дорого каждое мгновение, как Вы думаете COS будет быстрей чем Cache Basic? Судя по коду будет несколько раз работать ф-ия $P. Хотя с другой стороны Cache Basic конвертится в тот же COS В 5.0 не нашел $listfromstringCOS, наверное, быстрее, а так -- $zhorolog и ^%MONLBL вам в помощь. $listfromstring в 5.1 появилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 12:28 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
По поводу производительности: $listnext (материал со Школы Инноваций InterSystems 2007 , слайд 32) GetNext для коллекций (материал с DevCon 2009 , стр. 16) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 13:07 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Так что? Быстрее будет работать через $LISTFROMSTRING() и $LISTNEXT() чем просто разбирать строку через $p()? ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 13:15 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Однозначно быстрее, можно даже не мерить. Любая адекватная замена нескольких вызовов встроенных функций на один всегда дает выигрыш. Зато не будет работать в 5.0. Я когда-то, находясь на распутье между версиями, накропал пару макросов, которые в зависимости от версии Cache транслируются в $listfromstr или в цикл с $p(). Если кому интересно, могу выложить. Cache Basic, ИМХО, не должен проигрывать COS по скорости (если, конечно, удается использовать аналогичные языковые конструкции): транслируется-то они по любому в *.OBJ того же формата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 13:51 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
У меня быстрее в ~ 26 раз. Но нужно учитывать две вещи: 1) $lfs,$listnext отсутствуют в старых версиях Caché; 2) размер строки и размер той же строки в виде списка отличаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 13:52 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Благо у нас клиентура скоро вся перейдет на 2007.*... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 14:00 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
$listnext быстрее если писать с for Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 15:10 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Пример взял из документации. Спасибо за совет. Тогда скорость $listnext над $p возрастает с ~ 400 раз до ~ 500. Код Код: 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. Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 17:26 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
servit, Точно!! Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2009, 19:10 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Коллеги, а вы не забыли, что надо еще и массив заполнять? :) а операция это довольно-таки затратная... Вариант с $p() отбросим сразу как заведомо проигрышный. См: Код: 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. P.S. Тестировал на Intel P4, Cache for Windows (x86-32) 2008.2.1 (Build 902)) и на AMD64, Cache for UNIX (Red Hat Enterprise Linux for x86-64, 2008.2.1 (Build 902)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 11:52 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Конечно, наличие массива в цикле заметно увеличивает время выполнения. Отсюда и цифра 26 в моём посте выше. PS: нет предела совершенству. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 13:02 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Без массива получается t3/t1 ~ 1.5, что все равно неплохо по сравнению с $piece(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 13:44 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
непонятно что вас заставляет использовать $listnext Код: plaintext 1. 2. 3. 4. 5. 6. 7. автор Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 14:26 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 14:56 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Наверное имелось в виду Код: plaintext 1. 2. Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 15:09 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Даже Код: plaintext 1. 2. ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 15:10 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
Продолжая "common code": Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 15:19 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
servit Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 16:10 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#18+
На самом деле такие отклонения, как t3 - t1, могут быть в пределах погрешности. Но на 500 прогонах у меня получился практически тот же результат: у t1 ($listnext) небольшой, но устойчивый выигрыш: порядка 1% в Windows/x32 и ~ 3% - в Linux/x64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 16:26 |
|
||
|
Из строки в массив(COS)
|
|||
|---|---|---|---|
|
#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. 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. 107. 108. 109. 110. 111. 112. 113. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вывод: нечего лопатой торт резать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 02:45 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35919913&tid=1558008]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 487ms |

| 0 / 0 |
