J язык программирования по сравнению с Языком программирования R по сравнению с Incanter

Чтобы ответить на вопрос, на диске MySql используется 1 + размер, который используется в поле для хранения данных (поэтому, если столбец был объявлен как varchar (45), а поле было «FooBar», он будет использовать 7 байтов). на диске, если, конечно, вы не используете многобайтовый набор символов, где он будет использовать 14 байтов). Таким образом, как бы вы ни объявили свои столбцы, это не будет иметь никакого значения для хранилища (вы заявили, что беспокоитесь об оптимизации диска для массивной таблицы). Тем не менее, это имеет значение в запросах, поскольку VARCHAR преобразуются в CHAR, когда MySql создает временную таблицу (SORT, ORDER и т. Д.), И чем больше записей вы можете разместить на одной странице, тем меньше памяти и быстрее будет сканироваться таблица. быть.

17
задан Alex Miller 22 July 2016 в 22:01
поделиться

2 ответа

производительность

библиотека

Производительность во многом связана с доступными библиотеками для данной задачи. Если все дело в статистических вычислениях, R имеет очевидную победу благодаря огромному разнообразию библиотек. Однако, когда вам нужно манипулировать / смешивать данные, J может быть легче обрабатывать, и это станет намного, намного проще, когда вы станете более опытным в программировании на J.

Однако вы можете иметь оба мира, используя интерфейсы R в J.

performance

R печально известен своей низкой производительностью. Однако не следует злоупотреблять циклами for ни в J, ни в R. У J приличная работа. Более того, код J обычно короче и, следовательно, его легче изменить / переписать / оптимизировать / придумать новый алгоритм. Я считаю «создание нового алгоритма» большой победой.

community

R ' Сообщество s огромно по сравнению с J. Однако у вас есть свои плюсы и минусы. Представьте себе плюсы и минусы жизни в маленькой, дружелюбной деревне и в большом городе.

синтаксис

Синтаксис J на ​​удивление согласован по сравнению с R. Как только вы изучите принципы, предсказуемость очень высока.

8
ответ дан 30 November 2019 в 13:46
поделиться

Подобный вопрос недавно был задан на форуме J. Это был мой ответ:

Я нигде не знаю R так же хорошо, как J, но, учитывая этот отказ от ответственности, вот мои впечатления:

J

  • сильная математическая направленность
  • концептуальная основа для работы с массивами данные являются очень общими, последовательными и хорошо продуманными.
  • код является кратким / лаконичным
  • доступна объектно-ориентированная парадигма, но необязательная

R

  • сильная статистическая направленность
  • объектно-ориентированная парадигма широко распространена
  • ] развитая / мощная графика и графика
  • большая база пользователей
  • доступно множество пакетов, добавленных пользователями
  • синтаксис для ввода / управления массивами кажется неуклюжим
  • код относительно многословен
  • более доступная и обширная документация

Если бы я занимался статистикой, я думаю, что R был бы очевидным выбором. Однако я считаю, что возможности J по манипулированию данными проще и мощнее. Итак, мое текущее решение «have-my-cake-and-eat-it-too» - использовать J для создания данных и управления ими, а затем использовать его интерфейс Rserve для доступа к функциям / пакетам из R по мере необходимости. Однако до сих пор мое использование R было "легким".

11
ответ дан 30 November 2019 в 13:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: