ПочатиПочніть безкоштовно

Мікробенчмарк для виручки

Ви працюєте дата-аналітиком в онлайн-магазині. Ви отримали дані про продажі різних товарів за місяць. У вашому робочому середовищі це список ls_sales. Кожен елемент цього списку — вектор значень виручки для певного товару.

Ви хочете подивитися, як змінювалася виручка день за днем. Це означає обчислити кумулятивну суму. У базовому R є функція cumsum(), яка це робить. Але ви хочете перевірити, чи допоможе паралелізація. Ви плануєте застосувати cumsum() до кожного елемента ls_sales послідовно і паралельно та порівняти результати. Пакети parallel і microbenchmark уже завантажено для вас.

Ця вправа є частиною курсу

Паралельне програмування в R

Переглянути курс

Інструкції до вправи

  • Передайте послідовну й паралельну версії як аргументи у виклик microbenchmark().
  • Створіть кластер з усіх доступних ядер мінус два.
  • Використайте кластер, щоб застосувати cumsum() до ls_sales паралельно за допомогою parLapply().
  • Зупиніть кластер після завершення обчислень.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Pass the code to microbenchmark
___
  
  "lapply" = lapply(ls_sales, cumsum),
  
  "parLapply" = {
    # Make a cluster of all cores minus two
    cluster <- ___
    # Use cluster to apply in parallel
    parLapply(cluster, ___, ___)
    # Stop cluster
    ___
  },
  times = 3
___
Редагувати та запускати код