Exemple #1
0
static Totals
yagi_time_clear_vertex()
{
    GraphType g;
    yagi_random_graph(g, MAX_VERTICES, 2, 4.0);
    std::vector<typename GraphType::VertexDescriptor> vertices;
    for (size_t i=0; i<g.num_vertices(); ++i)
        vertices.push_back(i);
    shuffle(vertices);

    GraphSize gsize = yagi_size(g);
    size_t ncleared;

    start_deadman(6);           // vertex clearing is SO SLOW that we need more time (see bgl_time_remove_vertex())
    Sawyer::Stopwatch t;
    for (ncleared=0; ncleared<gsize.first && !had_alarm; ++ncleared)
        g.clear_vertex(vertices[ncleared]);
    t.stop();
    size_t ne_removed = gsize.second - g.num_edges();
    report("vert clear", gsize, ncleared, t, "verts/s");
    return report("vert clear", gsize, ne_removed, t, "edges/s");
}