Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
906
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как я могу улучшить производительность при добавлении InDesign XMLElements через AppleScript?
У меня есть программа AppleScript, которая создает XML тегов и элементов в документе Adobe InDesign. Данные находятся в таблицах, и пометка каждой ячейки занимает .5 секунд. Весь сценарий занимает несколько часов, чтобы закончить.
Я могу опубликовать код внутреннего цикла, но я не уверен, что SO должен быть общим или конкретным. Я предоставлю решать мафии.
[редактировать] Код создает список (до этого цикла), который содержит по одному элементу на строку в таблице. Существует также список, содержащий одну строку для каждого столбца в таблице. Для каждой ячейки программа создает элемент XML и тег XML, объединяя элементы в позициях [строка]/[столбец] двух списков. Он также связывает текст в этой ячейке с вновь созданным элементом.
Я совершенно новичок в AppleScript, поэтому часть этого кода грубо модифицирована из образцов Adobe. Если кодекс ужасен, я не обижусь.
Вот этот код:
repeat with columnNumber from COL_START to COL_END
select text of cell ((columnNumber as string) & ":" & (rowNumber as string)) of ThisTable
tell activeDocument
set thisXmlTag to make XML tag with properties {name:item rowNumber of symbolList & "_" & item columnNumber of my histLabelList}
tell rootXmlElement
set thisXmlElement to make XML element with properties {markup tag:thisXmlTag}
end tell
set contents of thisXmlElement to (selection as string)
end tell
end repeat
EDIT: я перефразировал вопрос, чтобы лучше отразить правильный ответ.
Вот это я уже понял.
Документ содержит кучу таблиц данных. В целом, существует около 7000 точек данных, которые необходимо экспортировать. Я создавал один корневой элемент с 7000 детьми.
Не делай этого. Добавление каждого дочернего элемента к корневому элементу становилось все медленнее и медленнее, пока примерно в 5 000 children AppleScript не истекло время ожидания и программа не прервалась.
Решение состояло в том, чтобы сделать мой код более хрупким, создав ~480 детей от корня, причем у каждого ребенка было около 16 внуков. Такое же количество узлов, но код теперь работает достаточно быстро. (Обработка документа по-прежнему занимает около 40 минут, но это бесконечно меньше времени, чем бесконечность.)
Кстати, первоначальный план 7000 детей не был таким глупым или ленивым, как кажется. Новое решение вынуждает меня связать две таблицы вместе, используя данные в таблицах, которые я не контролирую. Теперь программа сломается, если есть хоть одно место, где ее не должно быть. (Но это работает.)
Я могу опубликовать код внутреннего цикла, но я не уверен, что SO должен быть общим или конкретным. Я позволю толпе самой решать.
Я могу опубликовать код внутреннего цикла, но я не уверен, что SO должен быть общим или конкретным. Я позволю толпе самой решать.
Код, который вы публикуете в качестве примера, может быть настолько конкретным, насколько вам (или вашему боссу) удобно - чаще всего, вам легче помочь с более конкретными деталями.
Вы используете InDesign или InDesign сервер? Сколько страниц занимает ваш документ (или какую другую информацию вы можете сообщить нам о настройке document/ID)?
Я много занимаюсь разработкой серверов InDesign. Вы можете наблюдать замедление по нескольким причинам, которые не обязательно связаны с кодом.
Прямо сейчас я генерирую 100-300 страниц документов почти полностью из script / xml примерно за 100 секунд (возможно, вы делаете что-то гораздо большее).