MCPcopy Index your code
hub / github.com/PlummersSoftwareLLC/Primes

github.com/PlummersSoftwareLLC/Primes @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,945 symbols 4,097 edges 291 files 192 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Primes | A Software Drag Race

Source code to Dave's Garage video benchmarking the same prime number sieve in Python, C#, and C++.

Software Drag Racing | Dave's Garage

Community contributions

Community contributions, including fixes and improvements, are welcome on the drag-race branch. More information, including the contributing guidelines, can be found there.

Note: you're now viewing the original branch of this repo. Community contributions, fixes or improvements are not accepted on this branch. That means that pull requests that are opened on this branch will not be merged.

Extension points exported contracts — how you extend this code

FlagStorage (Interface)
Trait defining the interface to different kinds of storage, e.g. bits within bytes, a vector of bytes, etc. [7 implementers]
PrimeRust/solution_1/prime-sieve-rust/src/main.rs
IFormatter (Interface)
(no doc) [10 implementers]
tools/src/formatter.ts
IBitArray (Interface)
(no doc) [8 implementers]
PrimeTypeScript/solution_2/src/IBitArray.ts
DataType (Interface)
Generic data type for use as flag data. This only provides enough information for use with an interior integer type. Mo [4 …
PrimeRust/solution_5/src/data_type.rs
Storage (Interface)
Interface Storage provides some of the methods one would expect from a bit storage type [2 implementers]
PrimeGo/solution_2/storage.go
ISieveRunner (Interface)
This is just a workaround to avoid an indirect function call to construct the sieve. This can be replaced with
PrimeCSharp/solution_4/PrimeCS.cs
ISieveRunner (Interface)
(no doc)
PrimeCSharp/solution_1/V2Sieves/Interface/ISieveRunner.cs
Result (Interface)
(no doc)
tools/src/models.ts

Core symbols most depended-on inside this repo

run_sieve
called by 70
PrimePython/solution_3/PrimePY.py
get
called by 55
PrimeTypeScript/solution_2/src/IBitArray.ts
Run
called by 52
PrimeCSharp/solution_1/Benchmarks/PrimeSieve - Mod.cs
run_sieve
called by 36
PrimePython/solution_2/PrimePY.py
set
called by 35
PrimeCPP/solution_2/PrimeCPP_array.cpp
size
called by 32
PrimeCPP/solution_3/Sieve.h
count
called by 29
PrimeCPP/solution_3/Sieve.h
count_primes
called by 27
PrimePython/solution_3/PrimePY.py

Shape

Method 1,070
Function 520
Class 299
Struct 23
Interface 22
Enum 4
FuncType 4
TypeAlias 3

Languages

C#27%
C++18%
Rust11%
C10%
TypeScript10%
Python9%

Modules by API surface

PrimeRust/solution_1/prime-sieve-rust/src/main.rs52 symbols
PrimeCPP/solution_4/storages.hpp47 symbols
PrimePython/solution_3/tests/test_sieve.py40 symbols
PrimePython/solution_2/tests/test_sieve.py40 symbols
PrimePython/solution_3/tests/test_sieve_numba.py39 symbols
PrimeCSharp/solution_1/Benchmarks/BenchmarkV2Sieves.cs31 symbols
PrimeGo/solution_2/storage_test.go28 symbols
PrimeRust/solution_5/src/main.rs25 symbols
PrimeCPP/solution_5/PrimeCPP_array.cpp24 symbols
PrimeCPP/solution_2/PrimeCPP_mask.cpp22 symbols
PrimeJava/solution_4/src/PrimeSieveBase.java21 symbols
PrimeRust/solution_1/prime-sieve-rust/src/unrolled.rs19 symbols

For agents

$ claude mcp add Primes \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact