Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
В этой записи блога мы узнаем, как использовать параллельную функцию в Power Apps. Параллельная функция, как следует из названия, позволяет одновременно запускать функции в Power Apps.
Обычно, когда вы запускаете какие-либо процессы или рабочие процессы, они должны запускаться сразу после другого. Но есть особые случаи, когда вы можете оптимизировать свое приложение, запустив их одновременно или одновременно . И это то, что мы будем обсуждать в этом посте.
У меня есть очень простое приложение, которое мы хотим оптимизировать в Power Apps . Когда пользователь вводит здесь фразу, кнопка «Выполнить последовательность» делает много разных вещей.
Перейдем к свойству OnSelect кнопки Run Sequence .
Как мы видим, здесь происходит довольно много вещей. Сначала мы устанавливаем переменную StartTime = Now , чтобы мы могли определить, сколько времени это займет.
Затем мы очищаем переменную коллекции с именем Output.
А затем мы делаем эти наборы вещей, которые, вероятно, занимают больше всего времени. По сути, мы просим Microsoft Translator перевести все, что мы вводим в текст, на французский, немецкий, голландский, корейский, греческий, испанский и хинди. Точки с запятой в конце каждой строки означают, что это происходит последовательно.
Одна из последних вещей, которые мы делаем, — это берем все эти входные данные, все эти переменные и создаем из них коллекцию . В этой коллекции есть фактический текст, который мы хотим перевести, язык, на который мы будем переводить, а также фактически переведенный текст. И снова мы делаем это для французского, немецкого, голландского и так далее и тому подобное.
Оглавление
Обновить подключение к SharePoint
Мы также обновим подключение к SharePoint , чтобы увеличить время обработки. Затем мы установим переменную EndTime = Now , потому что мы хотим отслеживать, сколько времени занимает вся эта последовательность.
Опять же, это последовательность, которую мы знаем по наличию здесь точки с запятой. Каждая точка с запятой представляет собой запуск новой функции, поэтому все это происходит в последовательном порядке.
Давайте запустим эту программу, нажав на кнопку Run Sequence. Мы видим, что он выводит таблицу с фактической фразой Hello , языком и соответствующим переводом.
Мы также видим внизу, что когда мы обновляли список SharePoint, это занимало 500 миллисекунд.
Очевидно, это не заняло слишком много времени. И никто не будет волноваться из-за того, что обработка занимает 500 миллисекунд.
Но что, если эти процессы (использующие сторонние сервисы) действительно занимают много времени? Что, если вместо того, чтобы просто написать здесь одно слово, мы скопируем и вставим сюда второй раздел Конституции США, а затем запустим последовательность?
Этот занял немного больше времени. Это заняло 1700 миллисекунд или около 1,7 секунды.
Если я скопирую и вставлю раздел 3 Конституции США, это займет экспоненциально больше времени. Сейчас у нас около четырех секунд.
Последовательная и параллельная функция в Power Apps
Вы можете увидеть вариант использования одновременного запуска этих функций, потому что, если вы запускаете их последовательно и если у вас есть очень сложные функции, это действительно занимает некоторое время.
Теперь давайте сделаем то же самое, но с правой стороны, мы сделаем это одновременно. Давайте изменим это обратно на Hello , запустим последовательность, сделаем копию этого и перенесем ее на правую сторону.
Нам нужно перейти к свойству OnSelect этой кнопки и изменить его, чтобы сделать его параллельным. После Clear Output мы введем слово Concurrent .
Параллельная функция в Power Apps принимает различные функции в качестве аргументов или то, что Power Apps называет формулами . Итак, мы собираемся сделать все это параллельным, что означает, что вместо того, чтобы Power Apps сначала выполнял французский, затем немецкий, а затем голландский, он будет делать все это одновременно.
Мы собираемся окружить все эти функции параллельной функцией. Причина, по которой это дает нам ошибку, заключается в том, что параллельная функция принимает аргументы в виде формул, разделенных запятыми . В настоящее время мы используем точки с запятой, поэтому все, что нам нужно сделать, это перейти к каждой из этих вещей и заменить их запятыми.
В последний раз точка с запятой, мы просто избавимся от нее, потому что это последний аргумент в этой функции. Затем нам понадобится точка с запятой в самом конце, потому что concurrent технически тоже является функцией.
Одна из последних вещей, которую мы сделаем, — это переместим Refresh Customers List в параллельную функцию, потому что здесь нет никакой зависимости.
Опять же, причина, по которой мы это делаем, заключается в том, что все эти функции не зависят друг от друга, что означает, что они не должны выполняться последовательно. Они могут произойти одновременно, вот почему мы делаем это в первую очередь.
Итак, после того, как мы все это сделали, нам нужно убедиться, что мы идем сюда и устанавливаем время начала два и время окончания два , просто чтобы оно не конфликтовало с другим временем начала и другими переменными времени окончания. .
И мы также изменим Output на Output Two , чтобы переменные не смешивались.
Давайте закроем эту функцию и проверим ее. Мы изменим переменные с End Time на End Time Two и Start Time на Start Time Two .
Затем мы изменим таблицу данных, чтобы посмотреть на Output Two , потому что это то, что производит эта кнопка. Мы изменим кнопку с Run Sequence на Run Concurrent .
Итак, теперь у нас есть две вещи, которые делают одно и то же. Кто-то делает это последовательно, а кто-то одновременно.
Проведем несколько тестов. Мы напечатаем Hello и запустим последовательность. Сначала мы запустим кнопку последовательности, а затем — параллельную.
Мы видим, что параллельное выполнение примерно в два или три раза быстрее, чем последовательное. Теперь давайте скопируем разделы 1, 2, 3, 4, 5, 6 и 7 Конституции США и посмотрим, сколько времени это займет при использовании кнопок последовательности и одновременного выполнения.
Кнопка последовательности занимала много времени и была заметная пауза. Вашим пользователям это не понравится. Но если вы хотите запустить его одновременно, это займет всего одну секунду.
Это все еще занимает некоторое время. Но вы знаете, что делаете это максимально оптимизированным способом. Разница между одной и тремя секундами для ваших пользователей может иметь большое значение.
Множитель 3x очень хорош для оптимизации ваших Power Apps .
Преимущество параллельной функции в Power Apps
Обратите внимание, что некоторые вещи здесь не оптимизированы. Допустим, у вас есть 40, 50 или 60 языков, тогда вы не только заметите множитель 2x или 3x, вы можете заметить множитель 10x или 12x, потому что вы делаете больше вещей одновременно, чем последовательно.
Итак, в этом примере вы видите только 3-кратный множитель, но опять же, если у вас больше параллельных процессов, чем тот, который мы здесь запускаем, вы заметите еще более высокую скорость.
Заключение
В этой записи блога мы обсудили, что такое параллельная функция и как ее использовать, чтобы сделать ваши Power Apps более оптимизированными. Когда вы выполняете несколько обновлений данных или читаете несколько источников данных, вы можете сделать это быстрее с помощью параллельной функции.
Всего наилучшего,
Генри Хабиб.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать