Re: [eigen] Call for survey questions

[ Thread Index | Date Index | More Archives ]


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:
A very simple query already gives gazillons of results:
Of course, this would need to be condensed to be usable.


 Dr.-Ing. Christoph Hertzberg

 Besuchsadresse der Nebengeschäftsstelle:
 Robotics Innovation Center
 Robert-Hooke-Straße 5
 28359 Bremen, Germany

 Postadresse der Hauptgeschäftsstelle Standort Bremen:
 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:   christoph.hertzberg@xxxxxxx

 Weitere Informationen:
  Deutsches Forschungszentrum für Künstliche Intelligenz GmbH
  Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany

  Prof. Dr. Jana Koehler (Vorsitzende)
  Dr. Walter Olthoff

  Vorsitzender des Aufsichtsrats:
  Prof. Dr. h.c. Hans A. Aukes
  Amtsgericht Kaiserslautern, HRB 2313

Mail converted by MHonArc 2.6.19+