Skip to content

Restructure the project - #235

Closed
hovsep wants to merge 0 commit into
mainfrom
revamp_project_layout
Closed

Restructure the project#235
hovsep wants to merge 0 commit into
mainfrom
revamp_project_layout

Conversation

@hovsep

@hovsep hovsep commented Jul 29, 2026

Copy link
Copy Markdown
Owner

No description provided.

@hovsep hovsep closed this Jul 29, 2026
@hovsep
hovsep force-pushed the revamp_project_layout branch from 6579217 to b721784 Compare July 29, 2026 15:03
@github-actions

Copy link
Copy Markdown

Benchmark report (advisory)

Statistically significant changes: 21 regression(s), 12 improvement(s) (PR head vs. base branch).

Benchmark Metric Base PR Δ
MeshRunWide/1000-4 sec/op 3.938m ± 1% 3.969m ± 1% +0.81%
MeshRunWide/10000-4 sec/op 46.87m ± 4% 49.70m ± 6% +6.03%
MeshFanIn/100-4 sec/op 523.1µ ± 0% 520.9µ ± 0% -0.42%
MeshFanIn/1000-4 sec/op 8.863m ± 1% 8.697m ± 1% -1.87%
MeshFanIn/10000-4 sec/op 536.3m ± 2% 543.0m ± 2% +1.26%
MeshConstructionScale/10-4 sec/op 35.93µ ± 0% 37.82µ ± 1% +5.27%
MeshConstructionScale/100-4 sec/op 353.1µ ± 0% 365.4µ ± 1% +3.49%
MeshConstructionScale/10000-4 sec/op 42.04m ± 2% 43.49m ± 2% +3.44%
MeshRunPipeline-4 sec/op 134.8µ ± 1% 144.6µ ± 1% +7.28%
MeshRunFanOut-4 sec/op 70.22µ ± 1% 75.18µ ± 1% +7.07%
MeshConstruction-4 sec/op 35.80µ ± 0% 37.33µ ± 0% +4.28%
MeshThroughputDummy/small-4 sec/op 10.91m ± 0% 11.05m ± 0% +1.35%
MeshThroughputDummy/mid-4 sec/op 89.90m ± 1% 91.24m ± 1% +1.49%
MeshThroughputBypass/small-4 sec/op 27.96m ± 1% 27.67m ± 1% -1.05%
MeshThroughputBypass/mid-4 sec/op 247.7m ± 2% 242.7m ± 1% -2.02%
MeshThroughputBypass/huge-4 sec/op 2.796 ± 2% 2.632 ± 1% -5.88%
MeshConstructionScale/100-4 B/op 283.5Ki ± 0% 283.5Ki ± 0% -0.00%
MeshThroughputDummy/mid-4 B/op 30.50Mi ± 0% 30.50Mi ± 0% -0.01%
MeshThroughputDummy/small-4 activations/s 921.4k ± 1% 909.1k ± 1% -1.33%
MeshThroughputDummy/mid-4 activations/s 1.118M ± 1% 1.101M ± 1% -1.47%
MeshThroughputBypass/small-4 activations/s 359.5k ± 2% 363.3k ± 1% +1.06%
MeshThroughputBypass/mid-4 activations/s 405.7k ± 2% 414.0k ± 1% +2.06%
MeshThroughputBypass/huge-4 activations/s 359.4k ± 3% 381.9k ± 1% +6.25%
MeshThroughputDummy/small-4 cycles/s 18.43k ± 1% 18.18k ± 1% -1.33%
MeshThroughputDummy/mid-4 cycles/s 2.236k ± 1% 2.203k ± 1% -1.45%
MeshThroughputBypass/small-4 cycles/s 7.189k ± 2% 7.265k ± 1% +1.05%
MeshThroughputBypass/mid-4 cycles/s 811.3 ± 2% 828.0 ± 1% +2.06%
MeshThroughputBypass/huge-4 cycles/s 71.88 ± 3% 76.38 ± 1% +6.25%
ComponentHooks_Overhead/WithoutHooks-4 B/op 131.5Ki ± 5% 137.7Ki ± 2% +4.66%
ComponentHooks_Overhead/WithHooks-4 B/op 128.4Ki ± 6% 137.8Ki ± 2% +7.31%
GroupBuild/100-4 sec/op 52.69µ ± 1% 52.33µ ± 1% -0.69%
GroupPayloadSize/65536-4 sec/op 1.539µ ± 0% 1.547µ ± 1% +0.55%
GroupBuild/1000-4 B/op 8.493Mi ± 0% 8.493Mi ± 0% +0.00%

Higher is worse on every metric. allocs/op is the most reliable signal on shared CI runners; treat sec/op as guidance.

Full benchstat table
goos: linux
goarch: amd64
pkg: github.com/hovsep/fmesh
cpu: AMD EPYC 9V74 80-Core Processor                
                              │  base.txt   │              pr.txt               │
                              │   sec/op    │   sec/op     vs base              │
MeshRunWide/10-4                65.21µ ± 3%   64.96µ ± 3%       ~ (p=0.937 n=8)
MeshRunWide/100-4               358.0µ ± 2%   361.0µ ± 0%       ~ (p=0.105 n=8)
MeshRunWide/1000-4              3.938m ± 1%   3.969m ± 1%  +0.81% (p=0.021 n=8)
MeshRunWide/10000-4             46.87m ± 4%   49.70m ± 6%  +6.03% (p=0.015 n=8)
MeshFanIn/10-4                  80.38µ ± 1%   80.76µ ± 1%       ~ (p=0.105 n=8)
MeshFanIn/100-4                 523.1µ ± 0%   520.9µ ± 0%  -0.42% (p=0.028 n=8)
MeshFanIn/1000-4                8.863m ± 1%   8.697m ± 1%  -1.87% (p=0.001 n=8)
MeshFanIn/10000-4               536.3m ± 2%   543.0m ± 2%  +1.26% (p=0.007 n=8)
MeshConstructionScale/10-4      35.93µ ± 0%   37.82µ ± 1%  +5.27% (p=0.000 n=8)
MeshConstructionScale/100-4     353.1µ ± 0%   365.4µ ± 1%  +3.49% (p=0.000 n=8)
MeshConstructionScale/1000-4    3.891m ± 1%   3.877m ± 0%       ~ (p=0.234 n=8)
MeshConstructionScale/10000-4   42.04m ± 2%   43.49m ± 2%  +3.44% (p=0.000 n=8)
MeshRunPipeline-4               134.8µ ± 1%   144.6µ ± 1%  +7.28% (p=0.000 n=8)
MeshRunFanOut-4                 70.22µ ± 1%   75.18µ ± 1%  +7.07% (p=0.000 n=8)
MeshConstruction-4              35.80µ ± 0%   37.33µ ± 0%  +4.28% (p=0.000 n=8)
MeshThroughputDummy/small-4     10.91m ± 0%   11.05m ± 0%  +1.35% (p=0.000 n=8)
MeshThroughputDummy/mid-4       89.90m ± 1%   91.24m ± 1%  +1.49% (p=0.001 n=8)
MeshThroughputDummy/huge-4      919.9m ± 1%   911.1m ± 1%       ~ (p=0.065 n=8)
MeshThroughputBypass/small-4    27.96m ± 1%   27.67m ± 1%  -1.05% (p=0.015 n=8)
MeshThroughputBypass/mid-4      247.7m ± 2%   242.7m ± 1%  -2.02% (p=0.000 n=8)
MeshThroughputBypass/huge-4      2.796 ± 2%    2.632 ± 1%  -5.88% (p=0.000 n=8)
geomean                         4.171m        4.228m       +1.38%

                              │   base.txt    │                pr.txt                 │
                              │     B/op      │     B/op       vs base                │
MeshRunWide/10-4                 16.11Ki ± 0%    16.11Ki ± 0%       ~ (p=1.000 n=8)
MeshRunWide/100-4                152.5Ki ± 0%    152.5Ki ± 0%       ~ (p=0.185 n=8)
MeshRunWide/1000-4               1.503Mi ± 0%    1.503Mi ± 0%       ~ (p=0.959 n=8)
MeshRunWide/10000-4              15.45Mi ± 0%    15.45Mi ± 0%       ~ (p=0.878 n=8)
MeshFanIn/10-4                   23.41Ki ± 0%    23.41Ki ± 0%       ~ (p=1.000 n=8) ¹
MeshFanIn/100-4                  289.5Ki ± 0%    289.5Ki ± 0%       ~ (p=0.486 n=8)
MeshFanIn/1000-4                 10.18Mi ± 0%    10.18Mi ± 0%       ~ (p=0.328 n=8)
MeshFanIn/10000-4                838.2Mi ± 0%    838.2Mi ± 0%       ~ (p=0.959 n=8)
MeshConstructionScale/10-4       29.07Ki ± 0%    29.07Ki ± 0%       ~ (p=1.000 n=8) ¹
MeshConstructionScale/100-4      283.5Ki ± 0%    283.5Ki ± 0%  -0.00% (p=0.001 n=8)
MeshConstructionScale/1000-4     2.805Mi ± 0%    2.805Mi ± 0%       ~ (p=1.000 n=8)
MeshConstructionScale/10000-4    27.84Mi ± 0%    27.84Mi ± 0%       ~ (p=0.933 n=8)
MeshRunPipeline-4                35.57Ki ± 0%    35.57Ki ± 0%       ~ (p=1.000 n=8) ¹
MeshRunFanOut-4                  18.11Ki ± 0%    18.11Ki ± 0%       ~ (p=1.000 n=8) ¹
MeshConstruction-4               29.07Ki ± 0%    29.07Ki ± 0%       ~ (p=1.000 n=8) ¹
MeshThroughputDummy/small-4      2.779Mi ± 0%    2.779Mi ± 0%       ~ (p=0.524 n=8)
MeshThroughputDummy/mid-4        30.50Mi ± 0%    30.50Mi ± 0%  -0.01% (p=0.050 n=8)
MeshThroughputDummy/huge-4       294.0Mi ± 0%    294.0Mi ± 0%       ~ (p=0.721 n=8)
MeshThroughputBypass/small-4     9.968Mi ± 0%    9.967Mi ± 0%       ~ (p=0.398 n=8)
MeshThroughputBypass/mid-4       102.4Mi ± 0%    102.4Mi ± 0%       ~ (p=0.878 n=8)
MeshThroughputBypass/huge-4     1013.1Mi ± 0%   1013.1Mi ± 0%       ~ (p=0.721 n=8)
geomean                          1.913Mi         1.913Mi       +0.00%
¹ all samples are equal

                              │  base.txt   │               pr.txt                │
                              │  allocs/op  │  allocs/op   vs base                │
MeshRunWide/10-4                 530.0 ± 0%    530.0 ± 0%       ~ (p=1.000 n=8) ¹
MeshRunWide/100-4               4.862k ± 0%   4.862k ± 0%       ~ (p=1.000 n=8) ¹
MeshRunWide/1000-4              48.99k ± 0%   48.99k ± 0%       ~ (p=0.780 n=8)
MeshRunWide/10000-4             490.2k ± 0%   490.3k ± 0%       ~ (p=0.721 n=8)
MeshFanIn/10-4                   744.0 ± 0%    744.0 ± 0%       ~ (p=1.000 n=8) ¹
MeshFanIn/100-4                 6.699k ± 0%   6.699k ± 0%       ~ (p=1.000 n=8) ¹
MeshFanIn/1000-4                67.03k ± 0%   67.03k ± 0%       ~ (p=0.231 n=8)
MeshFanIn/10000-4               670.1k ± 0%   670.1k ± 0%       ~ (p=0.938 n=8)
MeshConstructionScale/10-4       809.0 ± 0%    809.0 ± 0%       ~ (p=1.000 n=8) ¹
MeshConstructionScale/100-4     7.835k ± 0%   7.835k ± 0%       ~ (p=1.000 n=8) ¹
MeshConstructionScale/1000-4    78.95k ± 0%   78.95k ± 0%       ~ (p=1.000 n=8) ¹
MeshConstructionScale/10000-4   790.0k ± 0%   790.0k ± 0%       ~ (p=1.000 n=8) ¹
MeshRunPipeline-4                980.0 ± 0%    980.0 ± 0%       ~ (p=1.000 n=8) ¹
MeshRunFanOut-4                  572.0 ± 0%    572.0 ± 0%       ~ (p=1.000 n=8) ¹
MeshConstruction-4               809.0 ± 0%    809.0 ± 0%       ~ (p=1.000 n=8) ¹
MeshThroughputDummy/small-4     67.15k ± 0%   67.15k ± 0%       ~ (p=0.446 n=8)
MeshThroughputDummy/mid-4       621.6k ± 0%   621.6k ± 0%       ~ (p=0.053 n=8)
MeshThroughputDummy/huge-4      6.153M ± 0%   6.153M ± 0%       ~ (p=0.721 n=8)
MeshThroughputBypass/small-4    337.8k ± 0%   337.8k ± 0%       ~ (p=0.351 n=8)
MeshThroughputBypass/mid-4      3.328M ± 0%   3.328M ± 0%       ~ (p=0.857 n=8)
MeshThroughputBypass/huge-4     33.22M ± 0%   33.22M ± 0%       ~ (p=0.721 n=8)
geomean                         43.35k        43.35k       +0.00%
¹ all samples are equal

                             │   base.txt    │               pr.txt                │
                             │ activations/s │ activations/s  vs base              │
MeshThroughputDummy/small-4      921.4k ± 1%     909.1k ± 1%  -1.33% (p=0.000 n=8)
MeshThroughputDummy/mid-4        1.118M ± 1%     1.101M ± 1%  -1.47% (p=0.001 n=8)
MeshThroughputDummy/huge-4       1.092M ± 2%     1.103M ± 1%       ~ (p=0.065 n=8)
MeshThroughputBypass/small-4     359.5k ± 2%     363.3k ± 1%  +1.06% (p=0.015 n=8)
MeshThroughputBypass/mid-4       405.7k ± 2%     414.0k ± 1%  +2.06% (p=0.000 n=8)
MeshThroughputBypass/huge-4      359.4k ± 3%     381.9k ± 1%  +6.25% (p=0.000 n=8)
geomean                          623.9k          631.5k       +1.22%

                             │  base.txt   │              pr.txt               │
                             │  cycles/s   │  cycles/s    vs base              │
MeshThroughputDummy/small-4    18.43k ± 1%   18.18k ± 1%  -1.33% (p=0.000 n=8)
MeshThroughputDummy/mid-4      2.236k ± 1%   2.203k ± 1%  -1.45% (p=0.001 n=8)
MeshThroughputDummy/huge-4      218.5 ± 2%    220.6 ± 1%       ~ (p=0.061 n=8)
MeshThroughputBypass/small-4   7.189k ± 2%   7.265k ± 1%  +1.05% (p=0.014 n=8)
MeshThroughputBypass/mid-4      811.3 ± 2%    828.0 ± 1%  +2.06% (p=0.000 n=8)
MeshThroughputBypass/huge-4     71.88 ± 3%    76.38 ± 1%  +6.25% (p=0.000 n=8)
geomean                        1.248k        1.263k       +1.22%

pkg: github.com/hovsep/fmesh/integration_tests/component_hooks
                                       │  base.txt   │              pr.txt               │
                                       │   sec/op    │   sec/op     vs base              │
ComponentHooks_Overhead/WithoutHooks-4   126.3µ ± 3%   127.9µ ± 3%       ~ (p=0.161 n=8)
ComponentHooks_Overhead/WithHooks-4      125.5µ ± 2%   127.2µ ± 1%       ~ (p=0.083 n=8)
geomean                                  125.9µ        127.5µ       +1.26%

                                       │   base.txt   │               pr.txt               │
                                       │     B/op     │     B/op      vs base              │
ComponentHooks_Overhead/WithoutHooks-4   131.5Ki ± 5%   137.7Ki ± 2%  +4.66% (p=0.002 n=8)
ComponentHooks_Overhead/WithHooks-4      128.4Ki ± 6%   137.8Ki ± 2%  +7.31% (p=0.015 n=8)
geomean                                  130.0Ki        137.7Ki       +5.97%

                                       │  base.txt  │               pr.txt               │
                                       │ allocs/op  │ allocs/op   vs base                │
ComponentHooks_Overhead/WithoutHooks-4   18.00 ± 0%   18.00 ± 0%       ~ (p=1.000 n=8) ¹
ComponentHooks_Overhead/WithHooks-4      18.00 ± 0%   18.00 ± 0%       ~ (p=1.000 n=8) ¹
geomean                                  18.00        18.00       +0.00%
¹ all samples are equal

pkg: github.com/hovsep/fmesh/signal
                           │  base.txt   │              pr.txt               │
                           │   sec/op    │   sec/op     vs base              │
GroupCoWOps-4                94.39µ ± 4%   93.25µ ± 6%       ~ (p=0.382 n=8)
GroupScalarAggregation-4     2.906µ ± 2%   2.879µ ± 2%       ~ (p=0.442 n=8)
GroupBuild/10-4              3.782µ ± 1%   3.789µ ± 1%       ~ (p=0.959 n=8)
GroupBuild/100-4             52.69µ ± 1%   52.33µ ± 1%  -0.69% (p=0.028 n=8)
GroupBuild/1000-4            2.149m ± 3%   2.146m ± 3%       ~ (p=0.959 n=8)
GroupBuild/10000-4           663.7m ± 2%   668.8m ± 3%       ~ (p=0.721 n=8)
GroupPayloadSize/8-4         1.534µ ± 0%   1.538µ ± 1%       ~ (p=0.184 n=8)
GroupPayloadSize/1024-4      1.535µ ± 0%   1.542µ ± 1%       ~ (p=0.124 n=8)
GroupPayloadSize/65536-4     1.539µ ± 0%   1.547µ ± 1%  +0.55% (p=0.014 n=8)
GroupPayloadSize/1048576-4   1.640µ ± 1%   1.645µ ± 1%       ~ (p=0.184 n=8)
geomean                      29.28µ        29.26µ       -0.05%

                           │    base.txt    │                pr.txt                │
                           │      B/op      │     B/op      vs base                │
GroupCoWOps-4                137.1Ki ± 0%     137.1Ki ± 0%       ~ (p=1.000 n=8)
GroupScalarAggregation-4       0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/10-4              4.266Ki ± 0%     4.266Ki ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/100-4             116.0Ki ± 0%     116.0Ki ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/1000-4            8.493Mi ± 0%     8.493Mi ± 0%  +0.00% (p=0.003 n=8)
GroupBuild/10000-4           820.7Mi ± 0%     820.7Mi ± 0%       ~ (p=0.820 n=8)
GroupPayloadSize/8-4         2.422Ki ± 0%     2.422Ki ± 0%       ~ (p=1.000 n=8) ¹
GroupPayloadSize/1024-4      2.422Ki ± 0%     2.422Ki ± 0%       ~ (p=1.000 n=8) ¹
GroupPayloadSize/65536-4     2.422Ki ± 0%     2.422Ki ± 0%       ~ (p=1.000 n=8) ¹
GroupPayloadSize/1048576-4   2.422Ki ± 0%     2.422Ki ± 0%       ~ (p=1.000 n=8) ¹
geomean                                   ²                 +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                           │   base.txt    │               pr.txt                │
                           │   allocs/op   │  allocs/op   vs base                │
GroupCoWOps-4                1.635k ± 0%     1.635k ± 0%       ~ (p=1.000 n=8) ¹
GroupScalarAggregation-4      0.000 ± 0%      0.000 ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/10-4               131.0 ± 0%      131.0 ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/100-4             1.301k ± 0%     1.301k ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/1000-4            13.74k ± 0%     13.74k ± 0%       ~ (p=1.000 n=8) ¹
GroupBuild/10000-4           139.8k ± 0%     139.8k ± 0%       ~ (p=0.633 n=8)
GroupPayloadSize/8-4          31.00 ± 0%      31.00 ± 0%       ~ (p=1.000 n=8) ¹
GroupPayloadSize/1024-4       31.00 ± 0%      31.00 ± 0%       ~ (p=1.000 n=8) ¹
GroupPayloadSize/65536-4      31.00 ± 0%      31.00 ± 0%       ~ (p=1.000 n=8) ¹
GroupPayloadSize/1048576-4    31.00 ± 0%      31.00 ± 0%       ~ (p=1.000 n=8) ¹
geomean                                  ²                -0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant