#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Я проводил некоторый тест на своем Pentium D (старом двухъядерном процессоре). Насколько я понял, Ruby был однопоточным, поэтому мне трудно понять, почему оба ядра используются по максимуму (100%) при создании новых проектов Rails и т.д. Кроме того, тесты проводились на Ruby 1.8.7 i386, который известен как медленная реализация среды выполнения, а Ruby в любом случае известен тем, что не является сильно многопоточным.
Есть идеи, что здесь происходит? Выиграет ли Rails от четырехъядерного процессора?
Ответ №1:
Это связано с операционной системой.
При запуске однопоточного приложения на многоядерном процессоре могут пострадать оба ядра, поскольку:
- Ваша операционная система (в вашем случае Windows) выполняет свою работу одновременно.
- Множество других процессов (потоков) постоянно запрашивают процессорное время (несколько раз в секунду). Если ваша ОС и процессы не имеют привязки к потокам, это приведет к тому, что ваши потоки будут переключаться с одного процессора на другой и наоборот.