Hi!
On 25/06/2019 20.45, David Tellenbach wrote:
Is anyone currently working on this? Or willing to start working on it?
I've collected some questions mentioned in this thread. As already said I would
set up the survey. However, some time has passed and I just didn't find the
time. But it's definitely on my list and I guess I can at least present a first
draft in July (since I'm a student my obligations are heavily changing from
time to time).
Great! No need to rush it, especially since you do it in your spare time.
[...]
An alternative (or addition) to the survey would be to comb through open-source
projects and -- if they use Eigen -- try to automatically analyze things like
what modules are used, what language standard is used, etc (depending on the
thoroughness this is probably more complicated than doing a survey).
Thats an interesting idea. Do you think about crawling the major code hosting
providers? The very different structure of individual project could make this
very hard, though.
Yes, I don't assume it is simple. But I have no experience regarding this.
If someone wants to handle this survey, do you need help in any form? Or access
to anything?
Regarding your idea above, is there a way to see where Eigen is used as a
submodule? Any guesses if this is the main way of including Eigen into other
projects?
I think a lot of projects just use the version provided by the operating
system (no idea how many). And probably some made a hard-copy of Eigen
into their repository. Sub-moduling into git was not possible for quite
a while (the official github-mirror has only existed since end of 2017,
but there were several in-official mirrors before that).
To find projects using Eigen, my naïve idea would be to start by
grepping the source code for `#include <Eigen/*>` (of course with all
possible alternatives (e.g., some people use things like `# include
"eigen3/Eigen/Dense"`). To make this remotely possible, this requires
some API to directly grep through all public projects on several code
hosters [1].
The list of positive hits (including dates of most recent commits,
number of watchers, etc) alone would be interesting.
But if somebody really wants to dig into this:
* Filter out duplicates/forks/...
* Figure out which modules are included (problem: some people include
<Eigen/Dense> but essentially just use <Eigen/Core>.
* What build-system is used?
* Any compile-flags? Specific target architectures? Etc.
* When was Eigen first used by the project (requires bisecting the
history)?
* Does it depend on features which will get deprecated? (Perhaps
requires downloading and compiling -- this can get arbitrarily complex)
* With which versions of Eigen does it compile? With which C++
standards/compilers? ...
* The sky is the limit ... :D
[1] Looks like github provides this:
https://github.com/search/advanced
A very simple query already gives gazillons of results:
https://github.com/search?l=&p=1&q=%22%23include+%3CEigen%2F%22+language%3AC%2B%2B&type=Code
Of course, this would need to be condensed to be usable.
Cheers,
Christoph
--
Dr.-Ing. Christoph Hertzberg
Besuchsadresse der Nebengeschäftsstelle:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Postadresse der Hauptgeschäftsstelle Standort Bremen:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Straße 1
28359 Bremen, Germany
Tel.: +49 421 178 45-4021
Zentrale: +49 421 178 45-0
E-Mail: [email protected]
Weitere Informationen: http://www.dfki.de/robotik
-------------------------------------------------------------
Deutsches Forschungszentrum für Künstliche Intelligenz GmbH
Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany
Geschäftsführung:
Prof. Dr. Jana Koehler (Vorsitzende)
Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats:
Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
-------------------------------------------------------------