#9
by Wasya
ТЗ гораздо медленнее массива. i+10*(j-1) вычисление этого выражения занимает много времени.
#14
by pit
если в языке есть массив, по сути любое написание в языке М[i,j] разворачивается в i + РазмJ * (j-1)Эта формула действительна для массивов любой размерности.
#15
by pit
да вроде там все простенько и прямолинейно...Просто давно уже массивы использую редко .... в основном с тз работаю...А эта штука (массив в массиве) - юзалась в 7.5 - там ТЗ не было, приходилось изгаляться...P.S. единственный недостаток - статическое определение размерности....
#16
by Шухер
Регистры - пример многомерного массива.СмахарбА на вбскрипт и ехель делает скокхошмерный. забыл смайл поставить?
#19
by AIex
Аха, кстати. Сколь задач не решал, многомерный и то дву... понадобился лишь раз, и то юзал ТЗ.Хотя балуюсь ВК, не люблю средствами бейсика 1С решать сложные задачи.
#20
by Шухер
Документ - тоже готовый многомерный массив, а ежелиф в него еще внедрить твой список значений, да тип заменить на справочник, воображения не хватит представить такой массив.хех, работать надо-ть, сижу тут, а время идет.
#22
by Шухер
Автор в проверил, обиделся и ушел. Не захотел общаться. А я все жду ответ на 17.АЛьФ, с тобой тоже не разговаривают? :)
#24
by pit
Интересно, какого ответа ждет Альф... Вообще то обращения к массиву действительно быстрееА двумерный массив лично мне был нужен для расчета за месяцМассив М [31, N ] ..... где Н определялось весьма нетривиально....Но в 7.7 появилась ТЗ (динамический массив) , и все извраты 7.5 с массивами и списками значений ушли в тень...
#25
by АЛьФ
2 Ты как всегда невнимателен. Я НЕ жду ответа. Понятно же, что ты не признаешься, что фигню сморозил.
#26
by fisher
2 Элементом массива в 7.7 и в 7.5 не может быть массив. Таблицы значений в 7.5 эмулировались вложенными списками значений, это да.
#28
by АЛьФ
Ну ты хоть немного проверяй перед тем как запостить. Не уподобляйся питу.---В первом случае:У тебя будет то же, что и в написано.---Во втором случае:Возврат ВремМассив<<?>>;{}: Ожидается скалярное выражение (ВремМассив)
#29
by Пудель
Нету у меня здесь 7.7, сорри, тока 8.0.В первом случае описка, надо было так:Массив[НомерПозиции]=ВремМассив;...
#31
by pit
Значит, я чего то путаю 7.5 и 7.7. Вообще то с массивами я работал в 7.5 - ну не нравились мне списки значений, тем более вложенные....И до такой работы с массивами я допер не сам - подглядел фичу по работе с ними в отчете другого чела... Долго въехать не мог....P.S. в 7.7 массивом не пользовался, наверное, ни разу - сразу работу с ТЗ начал...
#32
by АЛьФ
2 "до такой работы с массивами" - это до какой? До тайной, которую никому не покажешь? :)Ну сделай одолжение, признайся, что лопухнулся. :)
#33
by Пудель
Да, действительно (добравшись до 7.7 и проверив). А что, тебя напрягает, когда гадают? :)
#34
by АЛьФ
2 Ага, напрягает. Не люблю, когда ляпают наугад, лишь бы засветить свое мнение. Причем ляпают утвердительно и без капли сомнения (а некоторые еще потом с пеной у рта доказывают, что не просто ляпнули, а высказали продуманную мысль :)))
#35
by Пудель
Ты знаешь, иногда ведь устаёшь думать и высказывать только гарантированно верное мнение :). Ошибка и заблуждение - святое право каждого человека :).
#37
by Пудель
То есть дискуссии, поиск верного решения ты отрицаешь? А зачем тогда вообще форум? Только для лентяев?
#38
by pit
да просто Альф до сих пор не может сообразить, в каких случаях нельзя поймать интерактивное удаление (пометку на удаление) элемента справочника...У него якобы работает всегда, а у меня эта проца молчит.... Ибо я ее наколол...P.S. и никто ему не подскажет...
#41
by Wasya
И как тогда быть?Есть матрица 1000х1000. Надо очень, очень, очень быстро доставать нужное значение.
#42
by АЛьФ
2 Поиск верного решения - это не есть "стрельба наугад". Я лично поклонник нормального обсуждения, в котором автор поста хотя бы проверяет предлагаемый код в конфигураторе на синтаксис.2 Да не горячись ты так. Лопухнулся, бывает.2 Тебе ж дали решение в . Что у тебя за данные в этом массиве хранятся?
#45
by АЛьФ
2 Если для тебя это действительно непозволительно долго, то имеет смысл задуматься о переводе нужного алгоритма в ВК. Там можно намного более высоких скоростей обработки добиться. Только сомневаюсь я сильно, что тебе действительно дорога каждая миллисекунда и основное время теряется именно на этом вот вычислении.
#49
by Wasya
Весь алгоритм с данным примером работает 5 секунд. Для замера взял несложный пример.Есть примеры которые работают по 30 минут.
#50
by orefkov
Ну, если сравнивать хотя бы со строкой КонецФункции, не так уж и тормозит.Ты тестировал весь свой алгоритм или только индексацию массива?
#51
by АЛьФ
2 За 5 секунд 1349077 проходов, так? И ты считаешь, что это "непозволительно долго"?! Может в консерватории что подправить?
#52
by Шухер
вроде разговор, что долго делается вычисление: i+x*(j-1)где-то эта строка при определенных парам делается 30 мин, и тормозит весь алгоритм?
#53
by Wasya
тестировал весь алгоритм (поиск подграфа в графе) уточненные данные алгоритм работает 30 секунд (без отладчика), под отладчиком (при замере) 6 минут.Насчет консерватории - обязательно подправлю. Буду считать что работает "непозволительно быстро".
#55
by АЛьФ
2 Комментарии не влияют на скорость выполнения кода. Они удаляются при компилировании модулей.
#56
by kos
Математика в 1С-е раз так в тысячу медленнее чем, например, на VC.Сам для опытов в диссертации сваял базку на 1С (уж больно быстро интерфейс и структуру БД делать, особенно когда знаешь как), математику всю пришлось в ВК выносить. Для вывода нормальных графиков использовал teechart.ocx =)
#62
by smaharbA
+ если будут не агрегатные типы, то быстрее будет и без сортировки, и размерность какая хошь и массив в массиве...
#63
by АЛьФ
2 Для человека вычисление простого арифметического выражения - "непозволительно долго", а ты предлагаешь обращение к OLE вместо этого.
#64
by smaharbA
Да ничего я не предлагаю, но вот к примеру пользование safeArray в 7.7 для получения данных с листа екселя оказалось быстрее даже чем АДО
#65
by Шухер
АЛьФ, чем объяснить, посторонние процессы? несколько раз запускал, без коммента реально всегда быстрее получается.
#67
by Пудель
Не только у 1С, например, у вычислительного пакета Mathematica по сравнению с C очень низкая скорость. Это не они плохие... это C хороший :).
#69
by Target
Далеко не факт, что С хороший. Сложи в float или double 0.3 и 0.4, потом напечатай полученный результат. Как думаешь, допустима такая ошибка в финансовых документах?
#70
by Пудель
Хамишь, если что. :))) ты считаешь, что printf("%lf",0.3+0.4); выдаст что-либо, кроме 0.7? :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как загрузить из Excel в 1с и создать приходную на основание этих данных ?
- Как создать новую (чистую) конфигурацию.
- V8.новый СОМОбъект("v8.Apllication").Сообщение - "Создать новую базу ?"
- Как создать массив во внешнем соединении? Подскажите синтаксис..
- Подключение через OLE к 7.7. Как создать массив в 7.7?
- Как скопировать массив структур в массив
- Как создать новый массив со значениями без цикла
- Создать массив (список) XDTO
В этой группе 1С
- УТ: сканирование приходных накладных
- Как программно установить фокус элемента диалога на форме?
- Как сменить материнскую плату не переустанавливая виндовс?
- Измерения регистра типа "Документ". Почему не рекомендуется?
- Выгрузка ручных операций в конвертации данных 2.0
- v7: Печатная форма бух. УСН 148
- Сторно реализации...как отражается в книге продаж?
- Как уменьшить толщину линий границы в ТД
- Есть ли возможность определить как запущена обработка?
- Ошибка Br32.dll
- Адресное хранение на складе
- Ссылки в 1с 7.7 ?
- Автоматизация мясокомбината, нужен совет...
- выгрузка справочника из 7.7 в 8
- Dynamics: Где можно скачать демоверсию Аксапты?
- Требования к железу в 1с8
- Как связать перечисление и справочник по наименованию?
- Получить запись Регистра сведений
- Не запускается 1С по сети - ошибка открытия файла
- в каком файле хранятся интерфейсы 1С 7.7