Skip to content

Commit 1b2a6b2

Browse files
JacekDabrowski1JacekDabrowski1
authored andcommitted
Improve accuracy claims and benchmark data presentation
Update website copy and benchmark data to reflect accurate performance metrics, including algorithm comparisons and dataset statistics. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ec794acd-c4a5-47f6-b906-d70ac3c316ee Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 031e5848-910e-4a01-b161-c6e217876c75 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/28ec11df-9ccf-40bc-9ff4-d0523e5b6a98/ec794acd-c4a5-47f6-b906-d70ac3c316ee/NJinUIN Replit-Helium-Checkpoint-Created: true
1 parent 2f7035f commit 1b2a6b2

4 files changed

Lines changed: 25 additions & 24 deletions

File tree

website/static/benchmarks.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ const COLORS = {
1414
};
1515

1616
const ALGO_COLORS = {
17+
'Cleora (whiten)': '#a78bfa',
1718
'Cleora': '#6c63ff',
18-
'Cleora (whiten)': '#6c63ff',
1919
'ProNE': '#f59e0b',
2020
'RandNE': '#ef4444',
2121
'NetMF': '#3b82f6',
@@ -24,10 +24,11 @@ const ALGO_COLORS = {
2424
};
2525

2626
const DATASETS = ['ego-Facebook', 'PPI-large', 'Flickr', 'ogbn-arxiv', 'Yelp'];
27-
const ALGORITHMS = ['Cleora', 'ProNE', 'RandNE', 'NetMF', 'DeepWalk', 'Node2Vec'];
27+
const ALGORITHMS = ['Cleora (whiten)', 'Cleora', 'ProNE', 'RandNE', 'NetMF', 'DeepWalk', 'Node2Vec'];
2828

2929
const SUMMARY_DATA = {
30-
'Cleora': [0.964, 0.027, 0.158, 0.038, 0.013],
30+
'Cleora (whiten)': [0.964, null, null, null, null],
31+
'Cleora': [0.355, 0.027, 0.158, 0.038, 0.013],
3132
'ProNE': [0.021, 0.009, 0.139, 0.026, null],
3233
'RandNE': [0.318, 0.026, 0.146, 0.030, null],
3334
'NetMF': [0.944, null, null, null, null],

website/templates/base.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<title>{% block title %}pycleora{% endblock %} — Fast Graph Embeddings</title>
77
<meta name="description" content="{% block meta_desc %}pycleora: The fastest CPU-only graph embedding library. Rust core, Python API. 8 algorithms, 5 graph generators. Built-in MLP and Label Propagation classifiers — no PyTorch, no GPU.{% endblock %}">
88
<meta property="og:title" content="pycleora — Fast Graph Embeddings">
9-
<meta property="og:description" content="The fastest CPU-only graph embedding library. 7 alternative algorithms, 5 graph generators, zero GPU required.">
9+
<meta property="og:description" content="The fastest CPU-only graph embedding library. 8 algorithms, 5 graph generators, zero GPU required.">
1010
<meta property="og:type" content="website">
1111
<link rel="icon" type="image/png" href="/static/img/cleora-favicon.png">
1212
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">

website/templates/changelog.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ <h3>v3.0.0</h3>
148148
<p>Command-line interface: <code>pycleora embed|info|benchmark|similar</code>. Supports all algorithms, output formats (npz/txt), dataset operations.</p>
149149

150150
<p><span class="changelog-tag tag-new">New</span> <strong>Benchmarking Suite (<code>pycleora.benchmark</code>)</strong></p>
151-
<p>Automated comparison of 9 algorithms across 6+ datasets. Formatted comparison tables.</p>
151+
<p>Automated comparison of 8 algorithms across 6+ datasets. Formatted comparison tables.</p>
152152

153153
<p><span class="changelog-tag tag-new">New</span> <strong>Graph Generators (<code>pycleora.generators</code>)</strong></p>
154154
<p>5 models: Erdos-Renyi, Barabasi-Albert, Stochastic Block Model, Planted Partition, Watts-Strogatz.</p>

website/templates/index.html

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -453,15 +453,15 @@ <h3>Embeddings Ready</h3>
453453
<div class="section-header scroll-reveal">
454454
<div class="section-badge">Capabilities</div>
455455
<h2>Everything You Need in One Package</h2>
456-
<p>No external dependencies. No GPU. Production-ready graph embeddings.</p>
456+
<p>Minimal dependencies (just numpy + scipy). No GPU. Production-ready graph embeddings.</p>
457457
</div>
458458
<div class="feature-grid">
459459
<div class="feature-card scroll-reveal">
460460
<div class="feature-icon-svg">
461461
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--accent-bright)" stroke-width="2"><polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5"/><line x1="12" y1="22" x2="12" y2="15.5"/><polyline points="22 8.5 12 15.5 2 8.5"/></svg>
462462
</div>
463463
<h3>7 Alternative Algorithms</h3>
464-
<p>ProNE, RandNE, HOPE, NetMF, GraRep, DeepWalk, Node2Vec included as comparison baselines. Cleora outperforms all of them — unified under one API so you can verify that yourself.</p>
464+
<p>ProNE, RandNE, HOPE, NetMF, GraRep, DeepWalk, Node2Vec — all included as comparison baselines under one API. Cleora is faster and leaner than every one of them, and matches or beats accuracy with whitening enabled.</p>
465465
</div>
466466
<div class="feature-card scroll-reveal" data-delay="50">
467467
<div class="feature-icon-svg">
@@ -526,15 +526,15 @@ <h3>CLI Tool</h3>
526526
<div class="section-header scroll-reveal">
527527
<div class="section-badge">Benchmarks</div>
528528
<h2>Real Numbers, Reproducible Benchmarks</h2>
529-
<p>Benchmarked on synthetic graphs generated to match the scale of well-known datasets — same node and edge counts, community-structured topology. From 4K to 2M+ nodes. Cleora wins on accuracy, speed, and memory.</p>
529+
<p>Benchmarked on synthetic graphs generated to match the scale of well-known datasets — same node and edge counts, community-structured topology. From 4K to 2M+ nodes. Cleora leads on speed and memory at every scale — and tops accuracy with whitening enabled.</p>
530530
</div>
531531

532532
<div class="bench-highlights bench-grid-3x2">
533533
<div class="bench-highlight-card scroll-reveal">
534534
<h3>ego-Facebook <span class="bench-meta">4K nodes &middot; 88K edges &middot; Accuracy</span></h3>
535535
<div class="bench-bars">
536536
<div class="bench-bar-row scroll-reveal" data-delay="0">
537-
<span class="bench-bar-label">Cleora</span>
537+
<span class="bench-bar-label">Cleora*</span>
538538
<div class="bench-bar-track">
539539
<div class="bench-bar-fill bench-bar-best" data-width="96.4" style="width: 0%">
540540
<span class="bench-bar-value">0.964</span>
@@ -570,38 +570,38 @@ <h3>ego-Facebook <span class="bench-meta">4K nodes &middot; 88K edges &middot; A
570570
<span class="bench-bar-time">32.4s</span>
571571
</div>
572572
</div>
573-
<div class="bench-insight">Highest accuracy <em>and</em> 24x faster than NetMF &mdash; 119 MB vs 1.1 GB</div>
573+
<div class="bench-insight">* = whiten variant. Highest accuracy <em>and</em> 24x faster than NetMF &mdash; 119 MB vs 1.1 GB</div>
574574
</div>
575575

576576
<div class="bench-highlight-card scroll-reveal" data-delay="50">
577-
<h3>PPI-large <span class="bench-meta">57K nodes &middot; 793K edges &middot; Speed</span></h3>
577+
<h3>PPI-large <span class="bench-meta">57K nodes &middot; 819K edges &middot; Speed</span></h3>
578578
<div class="bench-bars">
579579
<div class="bench-bar-row scroll-reveal" data-delay="0">
580580
<span class="bench-bar-label">Cleora</span>
581581
<div class="bench-bar-track">
582582
<div class="bench-bar-fill bench-bar-best" data-width="95" style="width: 0%">
583-
<span class="bench-bar-value">0.33s</span>
583+
<span class="bench-bar-value">1.69s</span>
584584
</div>
585585
</div>
586-
<span class="bench-bar-time">28 MB</span>
586+
<span class="bench-bar-time">222 MB</span>
587587
</div>
588588
<div class="bench-bar-row scroll-reveal" data-delay="50">
589589
<span class="bench-bar-label">RandNE</span>
590590
<div class="bench-bar-track">
591591
<div class="bench-bar-fill" data-width="65" style="width: 0%">
592-
<span class="bench-bar-value">1.07s</span>
592+
<span class="bench-bar-value">4.76s</span>
593593
</div>
594594
</div>
595-
<span class="bench-bar-time">291 MB</span>
595+
<span class="bench-bar-time">2,042 MB</span>
596596
</div>
597597
<div class="bench-bar-row scroll-reveal" data-delay="100">
598598
<span class="bench-bar-label">ProNE</span>
599599
<div class="bench-bar-track">
600600
<div class="bench-bar-fill" data-width="25" style="width: 0%">
601-
<span class="bench-bar-value">8.34s</span>
601+
<span class="bench-bar-value">20.8s</span>
602602
</div>
603603
</div>
604-
<span class="bench-bar-time">458 MB</span>
604+
<span class="bench-bar-time">3,386 MB</span>
605605
</div>
606606
<div class="bench-bar-row scroll-reveal" data-delay="150">
607607
<span class="bench-bar-label">NetMF</span>
@@ -613,7 +613,7 @@ <h3>PPI-large <span class="bench-meta">57K nodes &middot; 793K edges &middot; Sp
613613
<span class="bench-bar-time">&#x2715;</span>
614614
</div>
615615
</div>
616-
<div class="bench-insight"><em>25x faster</em> than ProNE, using <em>16x less memory</em></div>
616+
<div class="bench-insight"><em>12x faster</em> than ProNE, using <em>15x less memory</em></div>
617617
</div>
618618

619619
<div class="bench-highlight-card scroll-reveal" data-delay="100">
@@ -703,7 +703,7 @@ <h3>ogbn-arxiv <span class="bench-meta">169K nodes &middot; 1.2M edges &middot;
703703
</div>
704704

705705
<div class="bench-highlight-card scroll-reveal" data-delay="200">
706-
<h3>Yelp <span class="bench-meta">717K nodes &middot; 13.9M edges &middot; Scale</span></h3>
706+
<h3>Yelp <span class="bench-meta">717K nodes &middot; 7M edges &middot; Scale</span></h3>
707707
<div class="bench-bars">
708708
<div class="bench-bar-row scroll-reveal" data-delay="0">
709709
<span class="bench-bar-label">Cleora</span>
@@ -794,8 +794,8 @@ <h4>Memory Efficiency Across Scales</h4>
794794
<div class="memory-strip-items">
795795
<div class="memory-strip-item">
796796
<div class="memory-strip-dataset">PPI-large <span>57K</span></div>
797-
<div class="memory-strip-compare"><strong>28 MB</strong> vs 458 MB</div>
798-
<div class="memory-strip-factor">16x less</div>
797+
<div class="memory-strip-compare"><strong>222 MB</strong> vs 3,386 MB</div>
798+
<div class="memory-strip-factor">15x less</div>
799799
</div>
800800
<div class="memory-strip-item">
801801
<div class="memory-strip-dataset">Flickr <span>89K</span></div>
@@ -850,7 +850,7 @@ <h4>Memory Efficiency Across Scales</h4>
850850
<div class="scale-nodes">2M</div>
851851
<div class="scale-label">roadNet</div>
852852
</div>
853-
<div class="scale-factor">500x more nodes with only ~19x runtime increase &mdash; from 0.22s to 4.2s</div>
853+
<div class="scale-factor">500x more nodes with only ~39x runtime increase &mdash; from 0.109s to 4.2s</div>
854854
</div>
855855

856856
<div style="text-align: center; margin-top: 32px;" class="scroll-reveal">
@@ -935,7 +935,7 @@ <h2>How It Stacks Up</h2>
935935
<thead>
936936
<tr>
937937
<th>Feature</th>
938-
<th class="highlight-col">pycleora 3.0</th>
938+
<th class="highlight-col">pycleora 3.2</th>
939939
<th data-lib="pyg">PyG</th>
940940
<th data-lib="karateclub">KarateClub</th>
941941
<th data-lib="cleora-orig">Original Cleora</th>
@@ -1197,7 +1197,7 @@ <h2>How It Stacks Up</h2>
11971197
</tr>
11981198
</tbody>
11991199
</table>
1200-
<p class="comparison-footnote">*) Benchmarked on synthetic datasets equal in size and complexity to the ones in the table, to ensure universality and robustness.</p>
1200+
<p class="comparison-footnote">Feature comparison only. Performance benchmarks are on the <a href="/benchmarks">Benchmarks</a> page (3 SNAP datasets + 4 scale-matched synthetic graphs).</p>
12011201
</div>
12021202
</section>
12031203

0 commit comments

Comments
 (0)