Addressing Slower Parallel Implementations in nx-parallel Compared to NetworkX #79
Labels
Infrastructure
Related to the general infrastructure and organisation of code in the repo
question
Further information is requested
Description:
Need to address the performance of certain algorithms in the
nx-parallel
whose parallel implementations are currently slower than their corresponding implementations in NetworkX. Some of these algorithms include:v_structures
in ENH: addedcolliders
andv_structures
#74colliders
in ENH: addedcolliders
andv_structures
#74global_reaching_centrality
in ENH : Added algos incentrality/reaching.py
#44local_reaching_centrality
in ENH : Added algos incentrality/reaching.py
#44average_clustering
approximate_average_clustering
number_of_isolates
Issues to Discuss:
Performance Comparison: What should we do with these functions that show slower performance in their parallel implementations? Should we consider reverting to or recommending the use of NetworkX's implementation in these cases?
Optimization: Is there a more optimized way that would improve the performance of these parallel implementations? And will that be way better the performance for all the algorithms? And how can we give the control of changing these "ways" to the end user?
Functionality: There are also some graph algorithms that cannot be parallelized due to their fundamentally non-parallelizable nature. How should we handle such algorithms in nx-parallel? Should we provide a clear indication in the documentation or in the code itself? Or not add them to nx-parallel at all?
Next Steps:
Thank you :)
The text was updated successfully, but these errors were encountered: