COIN-OR::LEMON - Graph Library

Opened 9 years ago

Last modified 15 months ago

#225 new enhancement

Binary graph file format

Reported by: alpar Owned by: alpar
Priority: major Milestone: LEMON 1.5 release
Component: core Version: hg main
Keywords: Cc:
Revision id:

Description

The .lgf format is nice, but the files become extremely large for big graphs.

In some cases it would be nice to have a version of GraphReader/GraphWriter using a much more condensed binary format while providing close to the same API and feature set.

Attachments (1)

blgf.patch (117.6 KB) - added by csferi 7 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 9 years ago by alpar

  • Milestone LEMON 1.1 release deleted

comment:2 in reply to: ↑ description Changed 9 years ago by deba

Replying to alpar:

The .lgf format is nice, but the files become extremely large for big graphs.

In some cases it would be nice to have a version of GraphReader/GraphWriter using a much more condensed binary format while providing close to the same API and feature set.

It would be good, but it is not a requisite. I think the zipped and gzipped text files could substitute the binary files. They can be used efficiently, and it do not have the problem of binary compatibility, byte orders, etc.

The compressed text files can be used through POSIX pipes, or with C++ libraries, for example ost::OZStream and ost::IZStream.

comment:3 Changed 8 years ago by alpar

It is also a possible approach that the standard graph reader will hande the binary format, as well.
It can be an option for the writer, while the reader may automatically recognise whether the file is a binary or plain text LGF.

comment:4 Changed 7 years ago by kpeter

  • Milestone set to LEMON 1.3 release

Changed 7 years ago by csferi

comment:5 Changed 7 years ago by csferi

The attached patch [454f0c2a380c] contains implementation of the BLGF (Binary Lemon Graph Format) as well as its documentation.
BLGF can be read and written using the existing GraphReader,GraphWriter , DigraphReader and DigraphWriter classes. It provides almost the same features as the LGF.

Note: Portability problem of real types (i.e. byte order) is still not solved.

comment:6 Changed 5 years ago by alpar

  • Milestone changed from LEMON 1.3 release to LEMON 1.4 release

comment:7 Changed 15 months ago by alpar

  • Milestone changed from LEMON 1.4 release to LEMON 1.5 release
Note: See TracTickets for help on using tickets.