Talks - Mridul Seth, Erik Welch: NetworkX is Fast Now: Graph Analytics Unleashed

Discover how NetworkX's new backend dispatching system enables 100-1000x speedups through GPU acceleration and optimized processing, while maintaining its simple API.

Key takeaways
  • NetworkX is a 20-year-old pure Python graph analytics library with 50M monthly downloads on PyPI, offering zero dependencies and broad compatibility

  • Recent performance improvements through backend dispatching allow 100-1000x speedups without code changes, particularly using GPU acceleration via cuGraph

  • Three main open-source backends currently available:

    • NXCuGraph (GPU acceleration with CUDA)
    • Graph+ (CPU optimized)
    • NXParallel (parallel processing using JobLib)
  • New caching system in NetworkX 3.3 allows storing converted graph representations for repeated operations, significantly reducing overhead

  • Backend implementations must pass NetworkX test suite for compatibility, providing free testing, documentation and API consistency

  • Experimental work exploring integration with graph databases for data persistence beyond memory-only operations

  • Performance improvements enable processing of much larger graphs - from minutes to seconds for operations like betweenness centrality

  • Focus on maintaining simple API and ease of use while adding scalability options

  • Community-governed project with no corporate ownership, emphasizing documentation and examples

  • Working toward standardized Graph API layer similar to Array API/DataFrame protocol for interoperability between different implementations