Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Интересно ваше мнение... Вот тут вышла дискуссия у меня с молодежью. На предмет "что лучше"? Задачка - пробежаться по узлам некой переменной Вот мой вариант Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 15:47 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 15:53 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
ну я , этот вариант мы применяем еще с MSM... Но молодеж меня критикует за т.с. архаичность. Типа старый синтаксис и все такое... ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:02 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
да Вы плюньте... мне лично такая "архаичность" более понятна. А если вложенность - 10-15 уровней, что они с этими скобками делать будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:09 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
ceshkaда Вы плюньте... Это не научный подход. ceshkaА если вложенность - 10-15 уровней, что они с этими скобками делать будут? У нас такого нет. Все "вложения" только как в примерах выше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:17 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
тогда я за первый вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:25 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
по мне так первый лучше, он в стиле языков объектно-ориентированного программирования. такой цикл как во втором варианте слишком уж по древнему, когда я в технаре еще учился так писать было не "этично", но такой тип цикла прижился с времен MSM. поробуй на VB2005 такой накатай будет как минимум "неудобно" в глаза профессионалам смотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:29 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
хрень полная эти ваши скобки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:30 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
s uz="" f s uz=$o(^tmp(uz)) q:uz="" d . PROC . q вот самый идеальный вариант на мой взгляд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:32 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
скобки обрабатываются быстрее чем точки прошлогодняя школа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:44 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
С применением "точек" я борюсь уже лет 10. В своей конторе почти победил, их используют только ленивые и не сознательные... Но я не теряю надежды "добить" и их. ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:50 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
я 1,5 года на Cache и никак не могу привыкнуть к "точкам" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 16:58 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Ymka2007скобки обрабатываются быстрее чем точки насколько именно и почему, не знаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 17:02 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
на самой школе меня не было передал коллега который там был ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 17:12 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
ну если блюсти стиль то скобки конечно элегантнее, чем точки а по теме: первый вариант...но если много вложенных while'ов уже нагромождение какое то получается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 17:33 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
усли грамотно использовать функции и процедуры то можно избежать нагромождения у меня больше двух вложенных циклов не бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 18:01 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsaС применением "точек" я борюсь уже лет 10. интересно.. какая альтернатива ? что может быть лучше вложений ? уровней ? эти ваши "скобки" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 19:25 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
пара скобок и нужные процедуры или функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 19:27 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
омский мампсерs uz="" f s uz=$o(^tmp(uz)) q:uz="" d . PROC . q вот самый идеальный вариант на мой взгляд... s uz="" f s uz=$o(^tmp(uz)) q:uz="" d . D PROC . q пропустил Do PROC прошу прощения http://www.sql.ru/forum/images/smoke.gif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 19:30 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Ymka2007скобки обрабатываются быстрее чем точки прошлогодняя школа Да ??? раньше другое вроде говорорили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 20:56 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsaИнтересно ваше мнение... Вот тут вышла дискуссия у меня с молодежью. На предмет "что лучше"? Задачка - пробежаться по узлам некой переменной Вот мой вариант Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT Лучшим считаю второй вариант - ибо при изменении или аудите кода нужно будет проверить один $order, а не два как в первом варианте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 21:00 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Ymka2007скобки обрабатываются быстрее чем точки прошлогодняя школа Чушь. Быстрее точек обрабатывается только цикл в одну строчку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 22:21 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Ymka2007скобки обрабатываются быстрее чем точки прошлогодняя школа Чушь. Быстрее точек обрабатывается только цикл в одну строчку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 22:28 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa ceshkaда Вы плюньте... Это не научный подход. А "научный подход", это когда скорость выполнения программы оптимизируется железом? Тогда да, конечно, "архаично". К тому же while - структура "липовая". Сие означает, что это надстройка над M его же средствами. Ни о чем не говорит? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 01:21 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Приветствую. Для меня однозначно второй вариант лучше. Причины две: 1) $order пишем только один раз, меньше вероятность ошибок 2) Часто бывают ситуации, когда обработку части узлов массива нужно пропустить. Например: s uz=$o(^tmp("")) while uz'="" { //Тут чегото накодили if condition continue // Тут часть узлов отсеяли d PROC s uz=$o(^tmp(uz)) } Что мы в итоге получаем? Правильно, бесконечный цикл при срабатывании условия condition. Хорошо если кто-нибудь протестирует случай с отсеиванием узлов, практика показывает, что могут и не протестировать. Получается, писать придется так: s uz=$o(^tmp("")) while uz'="" { //Тут чегото накодили if condition { s uz=$o(^tmp(uz)) continue // Тут часть узлов отсеяли } d PROC s uz=$o(^tmp(uz)) } А это уже изврат. Поэтому у себя используем только for. Злобные докуметаторы из интерсистемса, кстати, везде используют while. =Сергей Шутов (logist) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 05:18 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Первый случай лучше тем, что в самом начале цикла сразу видно, куда и как идем: авторs uz=$o(^tmp("")) А во втором нужно искать ниже, что затрудняет прочтение. Однако в плане проверки условий выхода/пропуска узлов второй вараинт однозначно лучше (Это то, что говорил logist) Поэтому первый способ применяю в простых циклах, а второй в сложных. Лично мне безаргументный for не нравится (просто не нравится), поэтому вместо могу написать авторwhile 1 Да, и еще опять же лично меня коробят скобки, которые начинаются и заканчиваются неизветно где, поэтому я пишу скобки с обступам по 4 пробела. Намного более читабельной становится программа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 06:01 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Привет. > поэтому я пишу скобки с обступам по 4 > пробела. Намного более читабельной становится программа. Это как? =Сергей Шутов (logist) ООО Димас, Хабаровск Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 06:37 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
я пишу так (в случае первого варианта) Код: plaintext 1. 2. 3. 4. 5. А если скобка начинается в середите строки, то в этой же строке она и должна закрыться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 07:05 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Особых преимуществ не вижу, а вот Tab и Shift-tab на выделении работать не будут... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 08:25 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
В некоторых случаях отступ ломается, например при экспорте-импорте в каше 4, или разных настройках редактора (разные размеры таба) В при моем способе написани код остается читаемым в любом случае. + вопрос привычки, мне скобки воспринимать в середине строки тяжело, но я встречал людей, которым не нравится мой способ написания кода (хотя так и непонятно, почему). сравните Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. Еще видел код типа, если ломается форматировние, уровнь скобок >2 и объем кода >1 страницы - вообще атас. Код: plaintext 1. 2. 3. А почему не будет работать tab, shift-tab? И чем все-таки мой способ хуже вашего? Я свое объяснение предпочтений привел ;-) Кстати, так я форматировать код стал задолго до знакомства каше и пока не вижу аргументов переучиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 08:50 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Кстати, признаю код типа этого Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 08:57 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
омский мампсеринтересно.. какая альтернатива ? Использование процедур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 11:23 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
logist //Тут чегото накодили if condition continue // Тут часть узлов отсеяли Такие конструкции у нас не применимы. Для этого есть процедура PROC - в ней все и делайте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 11:26 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Искусственное и надуманное раздергивание на процедуры иногда бывает хуже сложного текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 11:36 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov Ymka2007скобки обрабатываются быстрее чем точки прошлогодняя школа Чушь. Быстрее точек обрабатывается только цикл в одну строчку Профильнул такой код: фома TestSpd d block d parentheses d while d line q parentheses n tn,count s tn="",count=0 f { s tn=$o(^|"KDRKDR"|ZSTV1(tn)) q:tn="" s:$d(^|"KDRKDR"|ZSTV1(tn,"U")) count=count+1 } q block n tn,count s tn="",count=0 f s tn=$o(^|"KDRKDR"|ZSTV1(tn)) q:tn="" d .s:$d(^|"KDRKDR"|ZSTV1(tn,"U")) count=count+1 q while n tn,count s tn=$o(^|"KDRKDR"|ZSTV1("")),count=0 while tn'="" { s:$d(^|"KDRKDR"|ZSTV1(tn,"U")) count=count+1 s tn=$o(^|"KDRKDR"|ZSTV1(tn)) } q line n tn,count s tn="",count=0 f s tn=$o(^|"KDRKDR"|ZSTV1(tn)) q:tn="" s:$d(^|"KDRKDR"|ZSTV1(tn,"U")) count=count+1 q Перед профилированием несколько раз запустил. Результат: фома Routine Line RtnLine Time TotalTime Code TestSpd 1 2 0.000009 0.000009 TestSpd ; Compiled April 3, 2008 11:25:34 2 2 0.00001 0.348848 d block 3 2 0.000011 0.349198 d parentheses 4 2 0.00001 0.345024 d while 5 2 0.000009 0.179140 d line 6 2 0.000016 0.000016 q 7 2 0.000003 0.000003 parentheses 8 2 0.000008 0.000008 n tn,count s tn="",count=0 9 2 0.000004 0.000004 f 10 0 0 0.000000 { 11 33032 0.106221 0.106221 " s tn=$o(^|""KDRKDR""|ZSTV1(tn))" 12 33032 0.052522 0.052522 " q:tn=""""" 13 33030 0.187058 0.187058 " s:$d(^|""KDRKDR""|ZSTV1(tn,""U"")) count=count+1" 14 33030 0.053743 0.053743 } 15 2 0.000012 0.000012 q 16 2 0.000004 0.000004 block 17 2 0.000008 0.000008 n tn,count s tn="",count=0 18 2 0.11131 0.111310 f s tn=$o(^|"KDRKDR"|ZSTV1(tn)) q:tn="" d 19 33030 0.187116 0.187116 .s:$d(^|"KDRKDR"|ZSTV1(tn,"U")) count=count+1 20 2 0.000011 0.000011 q 21 2 0.000004 0.000004 while 22 2 0.000027 0.000027 n tn,count s tn=$o(^|"KDRKDR"|ZSTV1("")),count=0 23 2 0.000006 0.000006 while tn'="" 24 0 0 0.000000 { 25 33030 0.184975 0.184975 " s:$d(^|""KDRKDR""|ZSTV1(tn,""U"")) count=count+1" 26 33030 0.104489 0.104489 " s tn=$o(^|""KDRKDR""|ZSTV1(tn))" 27 33030 0.055496 0.055496 } 28 2 0.000014 0.000014 q 29 2 0.000004 0.000004 line 30 2 0.000008 0.000008 n tn,count s tn="",count=0 31 2 0.179096 0.179096 f s tn=$o(^|"KDRKDR"|ZSTV1(tn)) q:tn="" s:$d(^|"KDRKDR"|ZSTV1(tn,"U")) count=count+1 32 2 0.000021 0.000021 q Totals for TestSpd 264288 1.222225 NA Итого: (если сложить время выполнения строк, входящих в цикл) block 0.298426 parentheses 0.399548 while 0.344993 line 0.179096 Результат удивил: до теста был уверен, что структура со скобками должна работать быстрее (т.к. не используется команда do), а на деле... 2 Sergei Obrastsov: а есть объяснение почему так? (кроме количества строк в теле цикла) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 11:45 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. , тут уже каждый решает сам. Если ты заметил мы и скобки стобой используем по-разному... ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 11:46 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Насчет профилировки: 1.Начало строки - это оператор в байт коде М, так что он на самом деле вносит задержки (правда ты что-то слишком много) 2.Очень большие задержки вносит профилировщик 3. Все это ерунда, потому что все равно узким местом каше-систем будет дисковая подсистема. автортут уже каждый решает сам. Несомненно :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:05 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
фомаРезультат удивил: до теста был уверен, что структура со скобками должна работать быстрее (т.к. не используется команда do), а на деле... 2 Sergei Obrastsov: а есть объяснение почему так? (кроме количества строк в теле цикла) Я же написал уже - что while , что скобки - структуры "липовые", надстройки сверху. Попытайтесь себе представить как бы вы это реализовали стандартными командами M и будьте уверены, что так оно и сделано. Ну, почти так, за редким исключением. А do , кстати срабатывает быстро, гораздо быстрее скобок. Что же касается блока, то тут все просто, exec сразу начинает работать со следующей строкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:07 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Про быстродействие скажу так... Меня больше волнует "быстродействие" программера как разработчика ПО. А особено при модернизации оного ПО... Т.к. если текст программ будет "не читабелен" - на его разбор и модернизацию уйдет много времени. Вот вам антипример кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:13 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Насчет профилировки: 1.Начало строки - это оператор в байт коде М, так что он на самом деле вносит задержки (правда ты что-то слишком много) 1. Меньше строк - быстрее цикл, а читабельность кода хуже, как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:21 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Фома , как было уже замечено ранее, все будет тормозить HDD. Т.ч. я за читабельность текстов программ. ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:29 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Я думаю, стоит оптимизировать логику программы, особенно обращения к базе данных. Спихивание кода в одну строку - очень плохой способ ускорения программы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:34 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Фома , как было уже замечено ранее, все будет тормозить HDD. Т.ч. я за читабельность текстов программ. Прошлый раз смолчал, сейчас не буду уже. Откуда такие мыслишки, если не секрет? Есть какие-то конкретные выкладки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 12:58 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovОткуда такие мыслишки, если не секрет? Так личные соображения... Sergei ObrastsovЕсть какие-то конкретные выкладки? Нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:02 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Sergei ObrastsovОткуда такие мыслишки, если не секрет? Так личные соображения... Sergei ObrastsovЕсть какие-то конкретные выкладки? Нет... Жаль. Тогда все это голословно. Я еще пойму, если будут претензии к чтению из файла, тут Cache явно не на высоте. А остальное меня устраивает пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:18 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovТогда все это голословно. Тесты показывают следующий рейтинг 1. В одну строчку 2. Точки 3. Процедурный подход Но если начать читать даные из БД и в нее же писать (а мы только этим и занимаемся). Скорость обработки упадет у всех вариантов. И это мизерная разница между 3-мя вариантами будет уже не так важна как некие способы ускорения чтения даных и их запись. Вот я о чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:39 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Sergei ObrastsovТогда все это голословно. Тесты показывают следующий рейтинг 1. В одну строчку 2. Точки 3. Процедурный подход Но если начать читать даные из БД и в нее же писать (а мы только этим и занимаемся). Скорость обработки упадет у всех вариантов. И это мизерная разница между 3-мя вариантами будет уже не так важна как некие способы ускорения чтения даных и их запись. Вот я о чем. Насколько я понял, с БД вы работаете "классовыми" методами, так что скорость вы теряете именно на них, сами программы здесь особо не причем. Речь шла, естественно, об идеальном варианте работы программы, которая не заморачивается на внешние устройства. А если цеплять сверху все то, что нынче так модно, то можно конечно и не страдать по поводу "while", разницы не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:43 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Классовое хранение используем только в новых задачах. Основной движок использует свое хранение. А про идеал я никогда и не спорил... Все давно протестили еще на MSM. ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:50 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsaКлассовое хранение используем только в новых задачах. Основной движок использует свое хранение. А про идеал я никогда и не спорил... Все давно протестили еще на MSM. MSM - плохой критерий, не стоит его упоминать. Это Cache 1.0 делали из него. Пока не купили DataTree. Так вот, на MSM все несколько по-другому считалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:53 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Просто у меня мнение поподходу программирования сложились. Да и временем они хорошо проверены... ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 13:58 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsaКлассовое хранение используем только в новых задачах. Основной движок использует свое хранение. Значит надо смотреть что с движком. Серьезно, я на обычной рабочей машинке в 800 Mhz, памятью 128 и IDE винтом в 40Gb разбрасываю 1 миллион записей (индексы + данные) за 20-30 секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:08 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov , ты думаеш у нас все долго считается? Когда запрос/форма/расчет выполняется не более чем за 5 минут, мало кого волнует как написан текст программы... А вот когда ведется расчет показателей для статистики (что-то там тыщами штук меряется), да по областной БД! А это, надо сказать, писали приверженцы точек и не стандартного хранеия данных в классах (для пущего ускорения)... Там расчет запускают "на ночь". И не думаю, что на точках они там получили большое ускорение... ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:16 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei Obrastsov krvsa Фома , как было уже замечено ранее, все будет тормозить HDD. Т.ч. я за читабельность текстов программ. Прошлый раз смолчал, сейчас не буду уже. Откуда такие мыслишки, если не секрет? Есть какие-то конкретные выкладки? Практика. Так как БД используется как правило для хранения очень большого числа данных, то при одновременной работе хотя бы сотни пользователей, какие бы вы дисковые системы не ставили, все равно будет висеть на нем родном. А на проце будет висеть только если на слабой машине и с маленьким объемом данных работает 1-2 человека. Но при чем тогда тут оптимизация точки-скобки? Вы действительно считаете, что при выборке из 200Гб базы (а ведь это даже не так уж много) главная проблема будет в проце? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:28 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Там расчет запускают "на ночь". И не думаю, что на точках они там получили большое ускорение... интересно было бы узнать за сколько времени тоже самое сделали бы "традициооные" СУБД. Что-то не слышал, чтоб в SQL сутками получали отчеты, а здесь - сплошь и рядом, и это при всем быстродействии Каше. Может дело именно в программистах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:31 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Вы действительно считаете, что при выборке из 200Гб базы (а ведь это даже не так уж много) главная проблема будет в проце? Главная проблема будет в структуре БД и программах, а также размере кэша, ну и проценте попадания туда нужных блоков, что опять приводит нас к структуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:36 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Угу. Структуры+алгоритмы. А точки-скобки не дадут и доли процента скорости, я думаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:39 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsaты думаеш у нас все долго считается? А вот когда ведется расчет показателей для статистики (что-то там тыщами штук меряется), да по областной БД! А это, надо сказать, писали приверженцы точек и не стандартного хранеия данных в классах (для пущего ускорения)... Там расчет запускают "на ночь". И не думаю, что на точках они там получили большое ускорение... Вот теперь думаю, что ОЧЕНЬ долго. Тыщи штук? Где-то очень большие косяки в БД. Это не пример неудачного использования подхода к программированию, только к структурированию БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:41 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Тут рассуждать можно долго... ceshka , х/з как бы себя повели "традиционые" СУБД... Я даже не разрабатывал ту задачу... Но самое прикольное (для меня), что ее делали наши т.с. "ускорители". Я-то приверженец самого "медленого" (процедурного) подхода. ---------- Cache for Windows (Intel) 2007.1 (Build 369) Fri Jun 15 2007 15:25:42 EDT Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:41 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
авторинтересно было бы узнать за сколько времени тоже самое сделали бы "традициооные" СУБД. Что-то не слышал, чтоб в SQL сутками получали отчеты, а здесь - сплошь и рядом, и это при всем быстродействии Каше. Может дело именно в программистах? Как вы могли бы уже заметить хотя бы по этому же топику, каше предостявляет множество способов сделать одно и то же разными способами. В том числе наворотить такого, чего наворотить на другой СУБД ну просто не представляется возможным Ну то есть именно то, что вы и имеете ввиду: да, дело в программистах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:43 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovТыщи штук? Это количество показателей меряется тыщами. А картотек и записей вних конечно гораздо больше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:44 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.да, дело в программистах. Абсолютно точно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 14:45 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Sergei ObrastsovТыщи штук? Это количество показателей меряется тыщами. А картотек и записей вних конечно гораздо больше... А конкретней? Миллионы? Десятки миллионов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:01 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Угу. Структуры+алгоритмы. А точки-скобки не дадут и доли процента скорости, я думаю Не надо думать, что "точки-скобки" не играют роли. Особенно когда это дело гоняется циклом на баальшой куче данных. Вон как у krvsa . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:03 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovА конкретней? Миллионы? Десятки миллионов? Да кто их считал... Сами-то картотеки ограничиваются 100 тысяч карточек, но вних есть подтаблицы, которые связаны с другими таблицами и т.п... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:06 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Sergei ObrastsovА конкретней? Миллионы? Десятки миллионов? Да кто их считал... Сами-то картотеки ограничиваются 100 тысяч карточек, но вних есть подтаблицы, которые связаны с другими таблицами и т.п... Плохо, что не считали. Мне бы хотелось оценить объемы. У меня всего лишь 100 млн. база, с которой можно сделать все что угодно в пределах... ну не знаю, минут 20 наверно. Потому и спрашиваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:12 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovМне бы хотелось оценить объемы. Не получится... У вас ведь свое хранение данных, у нас свое... Да и задачи ваши и наши БД решают разные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:15 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Sergei ObrastsovМне бы хотелось оценить объемы. Не получится... У вас ведь свое хранение данных, у нас свое... Да и задачи ваши и наши БД решают разные... А это неважно. Я ведь не сравниваю структуры и задачи. Я сравниваю объемы. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:17 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovЯ сравниваю объемы. :) Этого не достаточно... В таблице можно хранить: - "длиные" поля - она будет большего объема - много записей (например поступившие платежи на телефоны) - она будет большей по количеству записей Но особого "анализа" таких таблиц не сделаеш. Либо он и не требуется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:21 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
krvsa Sergei ObrastsovЯ сравниваю объемы. :) Этого не достаточно... В таблице можно хранить: - "длиные" поля - она будет большего объема - много записей (например поступившие платежи на телефоны) - она будет большей по количеству записей Но особого "анализа" таких таблиц не сделаеш. Либо он и не требуется... Ну почему же? Вы даже не представляете сколько информации идет по телефонным звонкам к примеру. И все это можно и нужно анализировать. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:24 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovВы даже не представляете сколько информации идет по телефонным звонкам Я с этим и не спорю... Просто привожу примеры т.с. "простых" таблиц с большими объемами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 15:27 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Уж не знаю как там с скобками vs точки - но вот количество строк (Антон Умников 2000й год) на скорость "влияет" - а скобки они того в код фигачать лишние строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 21:49 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Другой вопрос конечно же что более ценно время программиста или скорость выполнения программы - скобки думаю, не сильно тут главную роль играют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2008, 21:50 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
PtnУж не знаю как там с скобками vs точки - но вот количество строк (Антон Умников 2000й год) на скорость "влияет" - а скобки они того в код фигачать лишние строки В то время (Антон Умников 2000й год) приводился аргумент, что во время формирования объектоного кода (пи-кода) строки с точками так и обрабатываются как отдельные строки исходного кода, а строки со скобками по возможности преобразовываются в одну строку пи-кода. Трудно сказать, насколько эта оптимизация кода в действительности происходит, но звучит красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 04:12 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
понятны - спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 08:02 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
ser_shu PtnУж не знаю как там с скобками vs точки - но вот количество строк (Антон Умников 2000й год) на скорость "влияет" - а скобки они того в код фигачать лишние строки В то время (Антон Умников 2000й год) приводился аргумент, что во время формирования объектоного кода (пи-кода) строки с точками так и обрабатываются как отдельные строки исходного кода, а строки со скобками по возможности преобразовываются в одну строку пи-кода. Трудно сказать, насколько эта оптимизация кода в действительности происходит, но звучит красиво. По нашей MX-технологии получется так, что отдельные строки m-кода, сидящие в отдельных ячейках EXCEL, перед исполнением автоматом сшиваются в одну длиннющую m-строку, то есть динамически , вариантно, строится большая строка-программа c вложенными циклами, после чего эта строка посылается на сервер Cache/MSM для исполнения. Случайно выяснилось , что, вопреки опасениям, такая авто-сшивка заметно повысила скорость работы - например, тупое перелопачивание 100 000 записей длиной по 50-100 байт идет 5 сек против 10 сек по традиционной - многострочной - программе. Вероятно, потому, что компилируется один раз ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 09:03 |
|
||
|
Интересно ваше мнение...
|
|||
|---|---|---|---|
|
#18+
Ну ... насколько я помню из объяснений (а это было во время 4.x версий) - дело в том что у P-машины - есть такая инструкция - переход на следующую строку - и она соответсвенно выполняется... Если у вас программа в пять строк - то пять раз выполняться это инструкция - вне зависимости от того - есть в строках другие инструкции или нет. PS: за что купил за то и продаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 11:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=39&tid=1558930]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
102ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 441ms |

| 0 / 0 |
