public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Theo Anderson" <telans@posteo.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-cpp/parallel-hashmap/
Date: Sun,  2 May 2021 09:27:16 +0000 (UTC)	[thread overview]
Message-ID: <1619920265.6acfa62b637a31df2582e1817c76fc7ce763e43b.telans@gentoo> (raw)

commit:     6acfa62b637a31df2582e1817c76fc7ce763e43b
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sun May  2 01:31:46 2021 +0000
Commit:     Theo Anderson <telans <AT> posteo <DOT> de>
CommitDate: Sun May  2 01:51:05 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6acfa62b

dev-cpp/parallel-hashmap: new package

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 dev-cpp/parallel-hashmap/Manifest                  |  1 +
 dev-cpp/parallel-hashmap/metadata.xml              | 33 ++++++++++++++++
 .../parallel-hashmap/parallel-hashmap-1.33.ebuild  | 45 ++++++++++++++++++++++
 3 files changed, 79 insertions(+)

diff --git a/dev-cpp/parallel-hashmap/Manifest b/dev-cpp/parallel-hashmap/Manifest
new file mode 100644
index 000000000..da8d78b3e
--- /dev/null
+++ b/dev-cpp/parallel-hashmap/Manifest
@@ -0,0 +1 @@
+DIST parallel-hashmap-1.33.tar.gz 2038996 BLAKE2B b704a0230bd6d15e8a3a1aa11bec456183119d5104e1ac191e556edae1c0b0d2a27c5b52c84cae167cd09a90f4fc43f817c21d64d6b288a70596b6495ee872e6 SHA512 287f098229153d925632e68e3cdbabfae0ea0ab8864089e4c0553a166c6079ca82ed5246ba53afd2a2917abcf06f37bc18f098e721f5f3b8def4d2d8c1c8c745

diff --git a/dev-cpp/parallel-hashmap/metadata.xml b/dev-cpp/parallel-hashmap/metadata.xml
new file mode 100644
index 000000000..2609bf86a
--- /dev/null
+++ b/dev-cpp/parallel-hashmap/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+	<longdescription lang="en">
+Overview
+
+This repository aims to provide a set of excellent hash map implementations, as well as a btree alternative to std::map and std::set, with the following characteristics:
+
+Header only: nothing to build, just copy the parallel_hashmap directory to your project and you are good to go.
+
+drop-in replacement for std::unordered_map, std::unordered_set, std::map and std::set
+
+Compiler with C++11 support required, C++14 and C++17 APIs are provided (such as try_emplace)
+
+Very efficient, significantly faster than your compiler's unordered map/set or Boost's, or than sparsepp
+
+Memory friendly: low memory usage, although a little higher than sparsepp
+
+Supports heterogeneous lookup
+
+Easy to forward declare: just include phmap_fwd_decl.h in your header files to forward declare Parallel Hashmap containers [note: this does not work currently for hash maps with pointer keys]
+
+Dump/load feature: when a flat hash map stores data that is std::trivially_copyable, the table can be dumped to disk and restored as a single array, very efficiently, and without requiring any hash computation. This is typically about 10 times faster than doing element-wise serialization to disk, but it will use 10% to 60% extra disk space. See examples/serialize.cc. (flat hash map/set only)
+
+Automatic support for boost's hash_value() method for providing the hash function (see examples/hash_value.h). Also default hash support for std::pair and std::tuple.
+
+natvis visualization support in Visual Studio (hash map/set only)
+	</longdescription>
+	<upstream>
+		<bugs-to>https://github.com/greg7mdp/parallel-hashmap/issues</bugs-to>
+		<remote-id type="github">greg7mdp/parallel-hashmap</remote-id>
+	</upstream>
+</pkgmetadata>

diff --git a/dev-cpp/parallel-hashmap/parallel-hashmap-1.33.ebuild b/dev-cpp/parallel-hashmap/parallel-hashmap-1.33.ebuild
new file mode 100644
index 000000000..4aecefcc6
--- /dev/null
+++ b/dev-cpp/parallel-hashmap/parallel-hashmap-1.33.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A family of header-only, very fast and memory-friendly hashmap and btree containers."
+HOMEPAGE="
+	https://greg7mdp.github.io/parallel-hashmap/
+	https://github.com/greg7mdp/parallel-hashmap
+"
+SRC_URI="https://github.com/greg7mdp/parallel-hashmap/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+#BDEPEND="
+#	doc? ( app-text/pandoc )
+#"
+
+#TODO: explore the various cmake options (if any)
+#TODO: tests, doc
+
+src_compile() {
+	cmake_src_compile
+
+	#waiting for https://github.com/greg7mdp/parallel-hashmap/issues/91
+#	if use doc ; then
+#		cd html || die
+#		emake all
+#	fi
+}
+
+src_install() {
+	cmake_src_install
+	if use examples ; then
+		dodoc -r examples
+		docompress -x "/usr/share/doc/${PF}/examples"
+	fi
+}


             reply	other threads:[~2021-05-02  9:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-02  9:27 Theo Anderson [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-05-02 10:51 [gentoo-commits] repo/proj/guru:master commit in: dev-cpp/parallel-hashmap/ Theo Anderson
2021-05-03  9:48 [gentoo-commits] repo/proj/guru:dev " Andrew Ammerlaan
2021-05-03 10:11 ` [gentoo-commits] repo/proj/guru:master " Andrew Ammerlaan
2021-05-05  8:33 Andrew Ammerlaan
2022-06-29 15:37 Florian Schmaus
2022-06-30 17:39 Florian Schmaus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1619920265.6acfa62b637a31df2582e1817c76fc7ce763e43b.telans@gentoo \
    --to=telans@posteo.de \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox