Coder Social home page Coder Social logo

Comments (9)

rhbvkleef avatar rhbvkleef commented on May 23, 2024 1

I had a discussion with @marghidanu about this, and we agree that this categorization using directories is problematic. As such, we decided to go for a single sub-level below the languages, just numbering each solution. The first CI implementation likely will not support outputting multiple test-results for each implementation, but the output format has been adjusted to allow for that in the future.

from primes.

rhbvkleef avatar rhbvkleef commented on May 23, 2024

I thought about this, and I agree the directory structure might need to change. The reason I initially went for the current structure, separating each category, is because a single person might make multiple contributions in different categories. We might decide to drop it down to one category: stl-faithful, and only keep those solutions.

A thing Iยดve been contemplating is how to deal with parallelized solutions. I think that in the end, we would still need to have some categories. I agree it might be sensible to significantly reduced them. This is what I am thinking of:

  • faithful
  • parallel
  • unfaithful (this would bucket together everything of stl-unfaithful, dependencies-faithful, dependencies-unfaithful, native, and any unfaithful parallel implementations)

I think we would still need to keep all these solutions in separate subdirectories, because it is conceivable that people might want to take part in all of these categories.

from primes.

Kinematics avatar Kinematics commented on May 23, 2024

Does there even need to be directory structure branching? Why not just use a proper class-per-file approach, and have commandline switches to indicate which class to target? (Going along with the suggested commandline switches for single-threaded vs multi-threaded runs, and potentially linear vs parallelized versions.)

from primes.

micwoj92 avatar micwoj92 commented on May 23, 2024

I think best one would be per language directories and then inside there whether its faitful or not.

from primes.

rhbvkleef avatar rhbvkleef commented on May 23, 2024

I think best one would be per language directories and then inside there whether its faitful or not.

@micwoj92, so you propose two categories?

Does there even need to be directory structure branching? Why not just use a proper class-per-file approach, and have commandline switches to indicate which class to target? (Going along with the suggested commandline switches for single-threaded vs multi-threaded runs, and potentially linear vs parallelized versions.)

@Kinematics, I think we do need some separation, because doing a command-line switch on whether or not to be faithful might not be possible with some languages, as the unfaithful solution might have additional dependencies. Althoug... perhaps those dependencies could just be installed and not used.

from primes.

micwoj92 avatar micwoj92 commented on May 23, 2024

So now since there are also multithreaded options I am not 100% sure. But I still think it would be best if it looked something like this,
directory layout in root folder per language implementation, so let's say python, haskell, c++, autoit3 etc. And in there just faithful single thread, then multi thread and third folder for whatever different implementation someone might think of. I think that per language separation at the top level is best.

OR
Just only accept faithful and multithread, but then I think that for example python numpy should be considered different category than plain python.

from primes.

marghidanu avatar marghidanu commented on May 23, 2024

Yep, the CI is a bit more versatile now.

from primes.

rbergen avatar rbergen commented on May 23, 2024

I think we can close this. @rhbvkleef , @marghidanu?

from primes.

marghidanu avatar marghidanu commented on May 23, 2024

Fine with me :)

from primes.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.