Comments (9)
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.
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 ofstl-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.
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.
I think best one would be per language directories and then inside there whether its faitful or not.
from primes.
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.
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.
Yep, the CI is a bit more versatile now.
from primes.
I think we can close this. @rhbvkleef , @marghidanu?
from primes.
Fine with me :)
from primes.
Related Issues (20)
- Fix all dockerlint warnings/info's?
- I may have increased the Delphi performance by 45% HOT 1
- Handling Legal Questions re: Dyalog APL HOT 8
- PrimesV/solution_2 does not build HOT 1
- Bad access on CPP Solution3 with clang (macOS ARM64) HOT 3
- Number of threads isn't being reported by awk solution 1 HOT 4
- primeJava/solution_4 showing about 10 seconds of run time on core2 duo HOT 4
- Dart/solution_1 hangs on 5950X runner HOT 5
- need a command to compile without running
- All Benchmarks Fail to Compile HOT 9
- I have a coldfusion solution
- Rust solution 1 takes 10 seconds instead of just 5 HOT 1
- PrimeJava counting small numbers as prime HOT 3
- would have been nice to include a list of the results for those who don't have the time to set this up. HOT 1
- Ruby solution takes > 4 hours to complete. HOT 9
- Question: Is inline assembly allowed?
- Thoughts on Prime Number Generation Challenge and a Possible Spin-Off HOT 1
- Request: more esoteric languages
- Odin/solution_1 doesn't compile with the current (dev-2024-02) version of Odin HOT 2
- OCaml solutions don't build with current version of OCaml HOT 2
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 primes.