Skip to content

More flexible and/or additional "Class Sheet" generation #58

@BenKaufmann

Description

@BenKaufmann

Currently, btool conv generates a "Class Sheet" that summarizes all runs for each benchmark class, where a benchmark class is basically any sub-folder containing instances.

In my benchmarks, I often have a more coarse-grained setup, where I'd like to get a "Sheet" that summarizes all runs of instances below some top-level directory.
For example, given a structure like this:

benchmarks/mixed/
├── asp
│   ├── ASP-Comp-2007-Lparse
│   │   └── SLparse
│   │       ├── HamiltonianCycle
│   │       │   └── rand_200_1800_1154991214_9.gph.gz
│   │       ├── SchurCompetition
│   │       │   ├── 15.10.schur.gz
│   │       │   └── 15.17.schur.gz
│   │       ├── searchTest-verbose
│   │       │   └── stv_sequence3-ss3.gz
│   │       ├── SolitaireBackward2
│   │       │   └── t29.dat.gz
│   │       └── TowersOfHanoiCompetition
│   │           └── mgs_towers-hanoi.39_6.gz
│   ├── ASP-Comp-2009-Lparse
│   │   ├── Comp15Puzzle
│   │   │   ├── 15-puzzle.init13.gz
│   │   │   ├── 15-puzzle.init6.gz
│   │   │   └── 15-puzzle.init7.gz
│   │   ├── CompConnectedDominatingSet
│   │   │   ├── rand_70_250_1235844252_0_k=13_sat.gph.gz
│   │   │   └── rand_80_500_1235848939_0_k=6_unsat.gph.gz
│   │   ├── CompEdgeMatching
│   │   │   └── edge-matching-width=10-height=10-colours=5.gz
...
├── sat24
│   ├── 00d1fe07ab948b348bb3fb423b1ef40d-lec_mult_KvW_12x11.sanitized.cnf.xz
│   ├── 02066c116dbacc40ec5cca2067db26c0-mrpp_4x4#12_12.cnf.xz
...
├── sat-crafted
│   ├── 09
│   │   ├── modcircuits
│   │   │   └── mod3block_2vars_11gates_u2_autoenc.cnf.gz
│   │   └── rbsat
│   │       └── rbsat-v760c43649g4.cnf.gz
│   ├── 11
│   │   ├── anton
│   │   │   └── srhd-sgi-m47-q742.5-n45-p30-s17570390.cnf.gz
│   │   ├── kullmann
│   │   │   └── VanDerWaerden_2-3-12_135.cnf.gz
│   │   ├── mod2c-rand3bip-sat
│   │   │   └── mod2c-rand3bip-sat-250-1.shuffled-as.sat05-2533.cnf.gz
│   │   ├── pehoushek
│   │   │   ├── 5cnf_3500_3500_30f1.shuffled.cnf.gz
│   │   │   └── 5cnf_4300_4300_110.shuffled.cnf.gz
...
└── sat-industrial
    ├── 09
    │   ├── SAT07
    │   │   └── babic
    │   │       └── xinetd
    │   │           └── xinetd_vc56703.cnf.gz
    │   ├── SAT09
    │   │   ├── aprove09
    │   │   │   ├── AProVE09-01.cnf.gz
    │   │   │   ├── AProVE09-05.cnf.gz
    │   │   │   ├── AProVE09-11.cnf.gz
    │   │   │   ├── AProVE09-22.cnf.gz
    │   │   │   └── AProVE09-25.cnf.gz
...

I'd like to get a "Class Sheet" with four classes asp, sat24, sat-crafted, and sat-industrial summarizing the instances below the corresponding top-level directories.

In general, one could add an option similar to the p option of the patch command but instead of "stripping" prefixes, the option would configure the depth level of benchmark classes. In the above example, setting this option to "2" would mean "folders at level 2 are classes" consisting of the files below this level.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions