@@ -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 · 88K edges · 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 · 88K edges · 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 — 119 MB vs 1.1 GB</ div >
573+ < div class ="bench-insight "> * = whiten variant. Highest accuracy < em > and</ em > 24x faster than NetMF — 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 · 793K edges · Speed</ span > </ h3 >
577+ < h3 > PPI-large < span class ="bench-meta "> 57K nodes · 819K edges · 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 · 793K edges · Sp
613613 < span class ="bench-bar-time "> ✕</ 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 · 1.2M edges ·
703703 </ div >
704704
705705 < div class ="bench-highlight-card scroll-reveal " data-delay ="200 ">
706- < h3 > Yelp < span class ="bench-meta "> 717K nodes · 13.9M edges · Scale</ span > </ h3 >
706+ < h3 > Yelp < span class ="bench-meta "> 717K nodes · 7M edges · 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 — from 0.22s to 4.2s</ div >
853+ < div class ="scale-factor "> 500x more nodes with only ~39x runtime increase — 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