#performance #time #sas #delay #wait
#Производительность #время #sas #задержка #подождите
Вопрос:
У меня есть уникальное требование. У меня есть 4 набора данных SAS в библиотеке sas (p4, A, B, C). Я должен прочитать 1 наблюдение из A, выполнить некоторую обработку, сохранить во временном наборе данных. Прочитайте 1 наблюдение из B, выполните некоторую обработку и сохраните во временном наборе данных. Прочитайте 1 наблюдение из C и выполните некоторую обработку и сохраните во временном наборе данных. Затем запишите весь временный набор данных в формате JSON. Я использую несколько шагов обработки данных и PROC JSON. Необычно много «настенных часов». ниже приведен пример кода. Есть ли какой-нибудь лучший способ сделать это, чтобы избежать задержки загрузки программы и добровольного ожидания.
Комментарии:
1. Можете ли вы показать журнал, когда
OPTIONS STIMER;
он активен2. Спасибо. Я добавил журнал sas.
3. Ваш опубликованный код, похоже, искажен. У вас есть начало цикла macro%DO без какого-либо конца. У вас есть ОПРЕДЕЛЕНИЕ макроса в середине цикла %DO вместо ВЫЗОВА макроса.
4. Спасибо, у меня есть конец цикла выполнения. я только что отредактировал. Наборы данных SAS и соглашения об именовании ЖУРНАЛОВ просто переименованы в соответствии с политикой безопасности организации. Код, которым я поделился, — это суть, которая у меня есть.
5. Можете ли вы воспроизвести проблему, используя образцы или поддельные данные, которые демонстрируют такую же вопиющую производительность во время выполнения? Написание JSON для 1 миллиарда наблюдений в любом случае займет некоторое время. Правильно ли я вижу, что макрос
output_json
повторяется?