Data.table: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдХрд▓рдХ рдХреЗ рд░реВрдк рдореЗрдВ macOS рдкрд░ gcc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдЕрдХреНрддреВре░ 2019  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Rdatatable/data.table

рдкрдврд╝рдиреЗ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХреЗ рдмрд╛рдж рд╕рдВрдХрд▓рдХ рдирд┐рд░реНрджреЗрд╢ MacOS рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдЕрдЧрд░ gcc homebrew рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╕реЗ llvm ред

рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рдХреА рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдУрдкрдирдореИрдк рд╕рдХреНрд╖рдо рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рд╣рд░ рд╕рдордп llvm рд╕рдВрдХрд▓рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдХрд╛рдлреА рдмреЛрдЭрд┐рд▓ рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореИрдВ gcc brew install gcc рдорд╛рдзреНрдпрдо рд╕реЗ

CXX_STD = CXX14

CC=ccache /usr/local/bin/gcc-9
CC11=ccache /usr/local/bin/gcc-9
CC14=ccache /usr/local/bin/gcc-9
CXX=ccache /usr/local/bin/g++-9
CXX11=ccache /usr/local/bin/g++-9
CXX14=ccache /usr/local/bin/g++-9
## -O3 should be faster than -O2 (default) level optimisation ..
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ ccache рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ ~/.ccache/ccache.conf рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдордЬрдмреВрдд рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗрдЯрдЕрдк рд╣реИ рдЬреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

max_size = 5.0G
# important for R CMD INSTALL *.tar.gz as tarballs are expanded freshly -> fresh ctime
sloppiness = include_file_ctime
# also important as the (temp.) directory name will differ
hash_dir = false

( ccache рд╣рд┐рд╕реНрд╕рд╛ рдбрд┐рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкрдж рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред)

install platform-specific question

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ https://github.com/rmacoslib/r-macos-rtools рдкрд░ рд╕реБрдЭрд╛рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ https://cloud.r-project.org/bin/macosx/tools рдкрд░ рджрд┐рдП рдЧрдП clang7 рдХрд╛ тАЛтАЛрдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ ~/.R/Makevars рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

CC=/usr/local/clang7/bin/clang
CXX=/usr/local/clang7/bin/clang++
CXX1X=/usr/local/clang7/bin/clang++
CXX11=/usr/local/clang7/bin/clang++
CXX14=/usr/local/clang7/bin/clang++
CXX17=/usr/local/clang7/bin/clang++
LDFLAGS=-L/usr/local/clang7/lib

рдФрд░ рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ macOS рдирд┐рд░реНрджреЗрд╢ рдЗрддрдиреЗ рдЬрдЯрд┐рд▓ рдХреНрдпреЛрдВ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛ рджреЗрдЧрд╛ рдЬреЛ macOS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдард┐рди рд╕рдордп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдирд╡реАрдирддрдо data.table рд╕реНрд░реЛрдд рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ https://github.com/rmacoslib/r-macos-rtools рдкрд░ рд╕реБрдЭрд╛рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ https://cloud.r-project.org/bin/macosx/tools рдкрд░ рджрд┐рдП рдЧрдП clang7 рдХрд╛ тАЛтАЛрдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ ~/.R/Makevars рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

CC=/usr/local/clang7/bin/clang
CXX=/usr/local/clang7/bin/clang++
CXX1X=/usr/local/clang7/bin/clang++
CXX11=/usr/local/clang7/bin/clang++
CXX14=/usr/local/clang7/bin/clang++
CXX17=/usr/local/clang7/bin/clang++
LDFLAGS=-L/usr/local/clang7/lib

рдФрд░ рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ macOS рдирд┐рд░реНрджреЗрд╢ рдЗрддрдиреЗ рдЬрдЯрд┐рд▓ рдХреНрдпреЛрдВ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛ рджреЗрдЧрд╛ рдЬреЛ macOS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдард┐рди рд╕рдордп рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдирд╡реАрдирддрдо data.table рд╕реНрд░реЛрдд рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореЗрд░реЗ рд▓рд┐рдП, gcc рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬ рдФрд░ рд╕рдмрд╕реЗ рд╕реНрдерд┐рд░ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ macOS рдкрд░ рдЕрдиреНрдп рдХрд┐рди рдЪреАрдЬреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред ЁЯдФ

@jangorecki {data.table} рдореЗрдВ C- рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рдЧ рдХреЗ рдкреНрд░рднрд╛рд░реА рдХреМрди рд╣реИрдВ рдпрд╛ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ?

gcc рд╕рднреА рдкреНрд░рдореБрдЦ рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдкрд░ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕реЗ рдореИрдХрдУрдПрд╕ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

DT рдХреЗ C рднрд╛рдЧ рдХреЗ рдкреНрд░рднрд╛рд░реА рдПрдХ рднреА рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИред рдореИрдЯ рдФрд░ рдЕрд░реБрдг рдиреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реА рдЪреАрдЬреЗрдВ рд▓рд┐рдЦреАрдВред AFAIR @arunsrinivasan macOS рдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЙрдирдХреЗ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЦреБрдж рднреА gcc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ MacOS рдкрд░ рдХреНрд▓реИрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред рдореИрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдХрд▓рдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреАред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рдирд╛ рд╣реИред
рдЕрдм рдЪреВрдВрдХрд┐ https://github.com/Rdatatable/data.table/pull/4735 рд╡рд┐рд▓рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 1.13.2 рдХреЗ рд░реВрдк рдореЗрдВ CRAN рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВред

рд╣рд╛рдп @ рдкреИрдЯ-рдПрд╕ред рдпрд╣рд╛рдБ рдЖрдкрдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреЗрдЬ рдкрд░ MacOS рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИред рдХреГрдкрдпрд╛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реАрдзреЗ рд╡рд┐рдХрд┐ рдкрд░ рдХрд░реЗрдВред рд╡рд┐рдХреА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЗрд╕реЗ рд╡рд┐рдХреА рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

st-pasha picture st-pasha  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

franknarf1 picture franknarf1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mattdowle picture mattdowle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rafapereirabr picture rafapereirabr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arunsrinivasan picture arunsrinivasan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ