Comments (6)
Generally, I don't think there's huge potential for speedup. Most of the slowness (at least for me) came with all these freaking compiler warnings from RcppEigen and BH. Now to the solutions:
- We should definitely allow for
LinkingTo
. - That's an option.
- Don't think we can do much here. Things that aren't used shouldn't be compiled anyway afaik.
How about putting the header only version in inst/include
, but putting the shared lib headers in src/include/
, the cpps in src/
and building the shared lib from there? We can't use the headers of inst/include
ourselves though, because then we would define functions multiple times.
from rvinecopulib.
- I'm not convinced. It's a pretty specific (as opposed to general purpose) library.
- OK.
- For instance, we don't need to include the vine headers in the bicop wrappers, but if you're right about the not used/not compiled, it does not matter indeed.
from rvinecopulib.
- Yeah, but stuff like vinereg I would have written in C++ with a LinkingTo if that option would have existed back then. And at least I intend to do similar things that way in the future. If one cannot use the headers via LinkinTo, one always has to include all vinecopulib headers as part of any other package.
from rvinecopulib.
- Yeah, vinereg and eecop are examples that comes to mind, but even us didn't link again the vinecopulib headers ;) Also, are you sure that we can't link against the functions in vinecopulib if the headers are in inst and the library is compiled in a "standard" way ?
from rvinecopulib.
- Apparently there is no other way when using custom C++ classes.
- Using a single wrapper file brought down compilation time from ~1m45s to ~45s on my machine (single core). I think that's reasonable, so I would vote for this option.
from rvinecopulib.
See #124
from rvinecopulib.
Related Issues (20)
- Reference to mbicv HOT 3
- No warning when par_method = "itau" and the family_set does not correspond HOT 1
- pseudo_obs(): input and output of same type
- Next release
- Links to vinecop-methods in vinecop docs HOT 1
- Support for fitting parametric margins HOT 2
- Code coverage
- Cannot install version 0.5.2.1.0 on Linux Iridis 5 HOT 5
- Unexpected behaviour of vinecop() HOT 2
- Automatic Threshold selection without automatic truncation causes error HOT 2
- Evaluating copula density --> NaN and inaccuracies HOT 3
- plot font size selection HOT 1
- Documentation wrong for bicop_dist Student t Distribution
- no function to create random generator like Mvdc in Copula HOT 2
- kernel copula HOT 2
- Is there possibility to implement kernel copula with dimensions >2? HOT 1
- Bug in compute_pseudo_obs for discrete variables HOT 2
- bicop and BiCopSelect return different models HOT 1
- difference between vine and vinecop HOT 2
- Restriction of rotations in automatic fitting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rvinecopulib.