-
Notifications
You must be signed in to change notification settings - Fork 1
Use IntSet's to represent a Supernode? #2
Comments
Do you have any timings that you can share? |
Nothing yet. I'm still trying to work out what is happening in functions lke I should do timings first. My impression is that some of the add_edge operations could get expensive because of the generality of operations like |
The purpose of |
Thanks. |
@dmbates, |
A preliminary timing is that the version in the IJulia notebook takes 0.4 sec and allocates 9 MB on my desktop to create the Supernode from the adjacency list. Using the version in the package I get julia> @time Supernode(simple_adjlist(A),p);
elapsed time: 0.104149494 seconds (4 MB allocated) after warmup. Of course, this could be because of IJulia overhead but I don't think it should be. |
I added a function [length(i) for i in isv] Similarly, the operation of partToPerm can be expressed as vcat([collect(i) for i in isv]...) I'll check if I can write a By the way, the 0's in the |
The |
I am planning to create a branch to see what I can do with using the Julia
IntSet
structure to represent aSupernode
. It seems that there is a lot of overhead in creating various SimpleAdjacencyList structures during the partitioning. The first step would be to change thestruct_set
value in the generator forSupernode
from aSet{Int}()
to anIntSet
but I think that other parts could also be reexpressed usingIntSet
.Anyway I will play around with it and see if I can get anywhere/
The text was updated successfully, but these errors were encountered: