Почему R медленнее на моем (более сильном) рабочем столе, чем на моем (более слабом) ноутбуке?

Я использую ноутбук Dell Latitude E7440 с ОС Windows 7 Enterprise, 8 ГБ ОЗУ, 64-разрядной ОС, процессором Intel(R) Core(TM) i7-4600U @ Процессор 2,10 ГГц, 2701 МГц, 2 ядра, 4 логических процессора (это 4 ядра).

Я использую настольный компьютер Dell Precision Tower 7810 с ОС Windows 7 Enterprise, 32 ГБ ОЗУ, 64-разрядной ОС, процессором Intel(R) Xeon(R) E5-2620. v3 @ 2,40 ГГц 2 процессора, 2401 МГц, 6 ядер, 12 логических процессоров (это 24 ядра).

Хорошей демонстрацией моего использования R будет запуск бинарной классификации с использованием gbm в RStudio на данных размером 100 КБ с ~ 300 функциями. Но что бы я ни делал в версии R для ноутбука (все остальное программное обеспечение закрыто, распараллеливание не используется), это происходит значительно быстрее, чем в версии R для ПК. Как это может быть? Что мне нужно сделать, чтобы узнать?

Ноутбук:

> sum <- 0; system.time(for (i in 1:1000000) sum <- sum + i)
   user  system elapsed 
   0.36    0.00    0.36 
> memory.limit()
[1] 8097
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.3.1

Рабочий стол:

> sum <- 0; system.time(for (i in 1:1000000) sum <- sum + i)
   user  system elapsed 
   0.52    0.00    0.52 
> memory.limit()
[1] 32684
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.3.1

person Giora Simchoni    schedule 26.10.2016    source источник
comment
Это единичный случай или повторяется? Попробуйте использовать microbenchmark для повторных тестов. (Он запускает вещи несколько раз и дает вам сводную статистику)   -  person sebastian-c    schedule 26.10.2016


Ответы (1)


Ноутбук Dell Latitude E7440 ... ЦП i7-4600U с тактовой частотой 2,10 ГГц, 2701 МГц

Настольный компьютер Dell Precision Tower 7810 ... E5-2620 v3 @ 2,40 ГГц, 2 процессора, 2401 МГц

Вот почему. Процессор вашего ноутбука работает с более высокой физической тактовой частотой, чем ваш настольный компьютер, поэтому R также работает быстрее.

В отсутствие многопоточного BLAS или других приемов параллельной обработки наличие нескольких ядер не повлияет на дело. Точно так же, пока у вас достаточно памяти для хранения ваших данных, дополнительные гигабайты не ускорят работу (за исключением проблем с кэшированием, но 100 КБ должны легко поместиться в кэш на обеих машинах).

person Hong Ooi    schedule 26.10.2016