Persistent data structures allow large and complex data structures to be copied and manipulated inexpensively. The persistent way of representing data offers opportunities to more elegantly and more efficiently implement certain algorithms and programming patterns. Few persistent data structure libraries, however, are designed with an emphasis on speed and performance compared to their mutable cousins. We describe and present a C library for a persistent graph data structure, which uses array compression techniques and balanced wide-fanout tries to create a structure that enables persistence without sacrificing performance. Compared to a competitive C++ mutable graph library, we consistently achieve 30-40% slower random read performance using up to 30% fewer bytes in memory, with the benefit of highly space-efficient persistence.
Agriculture, like many primary and service sectors, is a frequent recipient of innovation intended for its use, even if those innovations originate in industrial sectors. The challenge has been identifying them from patent data, which are recorded for administrative purposes using the International Patent Classification (IPC) system. We reprogram a well-tested tool, the OECD Technology Concordance (OTC), to identify 16 million patents granted between 1975 and 2006 worldwide which have potential application in agriculture. This paper presents the methodology of that dataset’s construction, introduces the data via summaries by nation and industrial sector over time, and suggests some potential avenues for future exploration of empirical issues using these data.