Auto merge of #4912 - daira:daira-partial-revert-4904, r=daira

Partial revert of "Update links"

This partially reverts commit f459e43dc9. See #4904.

In summary, the rationale is that:
* Some of the changed files are from subtrees, which should be updated upstream.
* The licensing of four of the files under `build-aux/m4` is complicated and so changes to them should have required review with that in mind: 5b97cd27f8/COPYING (L38-L44)
* The changes to `contrib/debian/copyright` must also be reverted because those are in copies of specific versioned licenses.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Homu 2020-12-17 18:28:32 +00:00
commit 844ef48b45
48 changed files with 167 additions and 167 deletions

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_base.html # http://www.gnu.org/software/autoconf-archive/ax_boost_base.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -13,7 +13,7 @@
# If no path to the installed boost library is given the macro searches # If no path to the installed boost library is given the macro searches
# under /usr, /usr/local, /opt and /opt/local and evaluates the # under /usr, /usr/local, /opt and /opt/local and evaluates the
# $BOOST_ROOT environment variable. Further documentation is available at # $BOOST_ROOT environment variable. Further documentation is available at
# <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_chrono.html # http://www.gnu.org/software/autoconf-archive/ax_boost_chrono.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -10,7 +10,7 @@
# #
# Test for System library from the Boost C++ libraries. The macro requires # Test for System library from the Boost C++ libraries. The macro requires
# a preceding call to AX_BOOST_BASE. Further documentation is available at # a preceding call to AX_BOOST_BASE. Further documentation is available at
# <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html # http://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -10,7 +10,7 @@
# #
# Test for Filesystem library from the Boost C++ libraries. The macro # Test for Filesystem library from the Boost C++ libraries. The macro
# requires a preceding call to AX_BOOST_BASE. Further documentation is # requires a preceding call to AX_BOOST_BASE. Further documentation is
# available at <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # available at <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,6 +1,6 @@
# ============================================================================= # ============================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_program_options.html # http://www.gnu.org/software/autoconf-archive/ax_boost_program_options.html
# ============================================================================= # ============================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -10,7 +10,7 @@
# #
# Test for program options library from the Boost C++ libraries. The macro # Test for program options library from the Boost C++ libraries. The macro
# requires a preceding call to AX_BOOST_BASE. Further documentation is # requires a preceding call to AX_BOOST_BASE. Further documentation is
# available at <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # available at <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_system.html # http://www.gnu.org/software/autoconf-archive/ax_boost_system.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -10,7 +10,7 @@
# #
# Test for System library from the Boost C++ libraries. The macro requires # Test for System library from the Boost C++ libraries. The macro requires
# a preceding call to AX_BOOST_BASE. Further documentation is available at # a preceding call to AX_BOOST_BASE. Further documentation is available at
# <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_thread.html # http://www.gnu.org/software/autoconf-archive/ax_boost_thread.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -10,7 +10,7 @@
# #
# Test for Thread library from the Boost C++ libraries. The macro requires # Test for Thread library from the Boost C++ libraries. The macro requires
# a preceding call to AX_BOOST_BASE. Further documentation is available at # a preceding call to AX_BOOST_BASE. Further documentation is available at
# <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,6 +1,6 @@
# ================================================================================= # ================================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_unit_test_framework.html # http://www.gnu.org/software/autoconf-archive/ax_boost_unit_test_framework.html
# ================================================================================= # ================================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -10,7 +10,7 @@
# #
# Test for Unit_Test_Framework library from the Boost C++ libraries. The # Test for Unit_Test_Framework library from the Boost C++ libraries. The
# macro requires a preceding call to AX_BOOST_BASE. Further documentation # macro requires a preceding call to AX_BOOST_BASE. Further documentation
# is available at <https://web.archive.org/web/20091126040815/http://randspringer.de/boost/index.html>. # is available at <http://randspringer.de/boost/index.html>.
# #
# This macro calls: # This macro calls:
# #

View File

@ -1,5 +1,5 @@
# =========================================================================== # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html # http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
# =========================================================================== # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
@ -40,7 +40,7 @@
# Public License for more details. # Public License for more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with this program. If not, see <https://www.gnu.org/licenses/>. # with this program. If not, see <http://www.gnu.org/licenses/>.
# #
# As a special exception, the respective Autoconf Macro's copyright owner # As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure # gives unlimited permission to copy, distribute and modify the configure

View File

@ -1,5 +1,5 @@
# =========================================================================== # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html # http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
# =========================================================================== # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
@ -40,7 +40,7 @@
# Public License for more details. # Public License for more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with this program. If not, see <https://www.gnu.org/licenses/>. # with this program. If not, see <http://www.gnu.org/licenses/>.
# #
# As a special exception, the respective Autoconf Macro's copyright owner # As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure # gives unlimited permission to copy, distribute and modify the configure

View File

@ -1,5 +1,5 @@
# =========================================================================== # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_check_preproc_flag.html # http://www.gnu.org/software/autoconf-archive/ax_check_preproc_flag.html
# =========================================================================== # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
@ -40,7 +40,7 @@
# Public License for more details. # Public License for more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with this program. If not, see <https://www.gnu.org/licenses/>. # with this program. If not, see <http://www.gnu.org/licenses/>.
# #
# As a special exception, the respective Autoconf Macro's copyright owner # As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure # gives unlimited permission to copy, distribute and modify the configure

View File

@ -415,7 +415,7 @@ namespace cxx11
} }
// https://stackoverflow.com/questions/13728184/template-aliases-and-sfinae // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
// Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
// because of this. // because of this.
namespace test_template_alias_sfinae namespace test_template_alias_sfinae

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html # http://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_pthread.html # http://www.gnu.org/software/autoconf-archive/ax_pthread.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #
@ -67,7 +67,7 @@
# Public License for more details. # Public License for more details.
# #
# You should have received a copy of the GNU General Public License along # You should have received a copy of the GNU General Public License along
# with this program. If not, see <https://www.gnu.org/licenses/>. # with this program. If not, see <http://www.gnu.org/licenses/>.
# #
# As a special exception, the respective Autoconf Macro's copyright owner # As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure # gives unlimited permission to copy, distribute and modify the configure

View File

@ -7,7 +7,7 @@ dnl warranty.
# Some versions of gcc/libstdc++ require linking with -latomic if # Some versions of gcc/libstdc++ require linking with -latomic if
# using the C++ atomic library. # using the C++ atomic library.
# #
# Sourced from https://bugs.debian.org/797228 # Sourced from http://bugs.debian.org/797228
m4_define([_CHECK_ATOMIC_testbody], [[ m4_define([_CHECK_ATOMIC_testbody], [[
#include <atomic> #include <atomic>

View File

@ -183,7 +183,7 @@ License: BDB
* GNU AFFERO GENERAL PUBLIC LICENSE * GNU AFFERO GENERAL PUBLIC LICENSE
* Version 3, 19 November 2007 * Version 3, 19 November 2007
* *
* Copyright (C) 2007 Free Software Foundation, Inc. <https://www.fsf.org> * Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
* Everyone is permitted to copy and distribute verbatim copies * Everyone is permitted to copy and distribute verbatim copies
* of this license document, but changing it is not allowed. * of this license document, but changing it is not allowed.
* *
@ -825,7 +825,7 @@ License: BDB
* GNU Affero General Public License for more details. * GNU Affero General Public License for more details.
* *
* You should have received a copy of the GNU Affero General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* *
* Also add information on how to contact you by electronic and paper mail. * Also add information on how to contact you by electronic and paper mail.
* *
@ -1056,7 +1056,7 @@ License: LGPL
GNU General Public License for more details. GNU General Public License for more details.
Comment: Comment:
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
License: LGPL-with-ZeroMQ-exception License: LGPL-with-ZeroMQ-exception
GNU LESSER GENERAL PUBLIC LICENSE GNU LESSER GENERAL PUBLIC LICENSE
@ -1085,7 +1085,7 @@ License: LGPL-with-ZeroMQ-exception
of this license, and section 6 of the GNU General Public License. of this license, and section 6 of the GNU General Public License.
Comment: Comment:
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
License: GNU-All-permissive-License License: GNU-All-permissive-License
Copying and distribution of this file, with or without modification, are Copying and distribution of this file, with or without modification, are
@ -1105,7 +1105,7 @@ License: GPLv3-or-later-with-Autoconf-exception
Public License for more details. Public License for more details.
. .
You should have received a copy of the GNU General Public License along You should have received a copy of the GNU General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>. with this program. If not, see <http://www.gnu.org/licenses/>.
. .
As a special exception, the respective Autoconf Macro's copyright owner As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure gives unlimited permission to copy, distribute and modify the configure

View File

@ -1,6 +1,6 @@
// Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or https://www.opensource.org/licenses/mit-license.php . // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "aes.h" #include "aes.h"
#include "crypto/common.h" #include "crypto/common.h"

View File

@ -1,6 +1,6 @@
// Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2015 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or https://www.opensource.org/licenses/mit-license.php . // file COPYING or http://www.opensource.org/licenses/mit-license.php.
// //
// C++ wrapper around ctaes, a constant-time AES implementation // C++ wrapper around ctaes, a constant-time AES implementation

View File

@ -1,13 +1,13 @@
/*********************************************************************** /*********************************************************************
* Copyright (c) 2016 Pieter Wuille * * Copyright (c) 2016 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
/* Constant time, unoptimized, concise, plain C, AES implementation /* Constant time, unoptimized, concise, plain C, AES implementation
* Based On: * Based On:
* Emilia Kasper and Peter Schwabe, Faster and Timing-Attack Resistant AES-GCM * Emilia Kasper and Peter Schwabe, Faster and Timing-Attack Resistant AES-GCM
* https://www.iacr.org/archive/ches2009/57470001/57470001.pdf * http://www.iacr.org/archive/ches2009/57470001/57470001.pdf
* But using 8 16-bit integers representing a single AES state rather than 8 128-bit * But using 8 16-bit integers representing a single AES state rather than 8 128-bit
* integers representing 8 AES states. * integers representing 8 AES states.
*/ */

View File

@ -1,8 +1,8 @@
/*********************************************************************** /*********************************************************************
* Copyright (c) 2016 Pieter Wuille * * Copyright (c) 2016 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _CTAES_H_ #ifndef _CTAES_H_
#define _CTAES_H_ 1 #define _CTAES_H_ 1

View File

@ -1,8 +1,8 @@
/*********************************************************************** /*********************************************************************
* Copyright (c) 2016 Pieter Wuille * * Copyright (c) 2016 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#include "ctaes.h" #include "ctaes.h"

View File

@ -32,5 +32,5 @@ the CLA.
## Writing Code ## ## Writing Code ##
If your contribution contains code, please make sure that it follows If your contribution contains code, please make sure that it follows
[the style guide](https://github.com/google/styleguide/blob/gh-pages/cppguide.html). [the style guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml).
Otherwise we will have to ask you to make changes, and that's no fun for anyone. Otherwise we will have to ask you to make changes, and that's no fun for anyone.

View File

@ -12,7 +12,7 @@ Authors: Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)
* Multiple changes can be made in one atomic batch. * Multiple changes can be made in one atomic batch.
* Users can create a transient snapshot to get a consistent view of data. * Users can create a transient snapshot to get a consistent view of data.
* Forward and backward iteration is supported over the data. * Forward and backward iteration is supported over the data.
* Data is automatically compressed using the [Snappy compression library](https://google.github.io/snappy/). * Data is automatically compressed using the [Snappy compression library](http://google.github.io/snappy/).
* External activity (file system operations etc.) is relayed through a virtual interface so users can customize the operating system interactions. * External activity (file system operations etc.) is relayed through a virtual interface so users can customize the operating system interactions.
# Documentation # Documentation

View File

@ -83,23 +83,23 @@ div.bsql {
<p>Google, July 2011</p> <p>Google, July 2011</p>
<hr> <hr>
<p>In order to test LevelDB's performance, we benchmark it against other well-established database implementations. We compare LevelDB (revision 39) against <a href="https://www.sqlite.org/">SQLite3</a> (version 3.7.6.3) and <a href="https://dbmx.net/kyotocabinet/spex.html">Kyoto Cabinet's</a> (version 1.2.67) TreeDB (a B+Tree based key-value store). We would like to acknowledge Scott Hess and Mikio Hirabayashi for their suggestions and contributions to the SQLite3 and Kyoto Cabinet benchmarks, respectively.</p> <p>In order to test LevelDB's performance, we benchmark it against other well-established database implementations. We compare LevelDB (revision 39) against <a href="http://www.sqlite.org/">SQLite3</a> (version 3.7.6.3) and <a href="http://fallabs.com/kyotocabinet/spex.html">Kyoto Cabinet's</a> (version 1.2.67) TreeDB (a B+Tree based key-value store). We would like to acknowledge Scott Hess and Mikio Hirabayashi for their suggestions and contributions to the SQLite3 and Kyoto Cabinet benchmarks, respectively.</p>
<p>Benchmarks were all performed on a six-core Intel(R) Xeon(R) CPU X5650 @ 2.67GHz, with 12288 KB of total L3 cache and 12 GB of DDR3 RAM at 1333 MHz. (Note that LevelDB uses at most two CPUs since the benchmarks are single threaded: one to run the benchmark, and one for background compactions.) We ran the benchmarks on two machines (with identical processors), one with an Ext3 file system and one with an Ext4 file system. The machine with the Ext3 file system has a SATA Hitachi HDS721050CLA362 hard drive. The machine with the Ext4 file system has a SATA Samsung HD502HJ hard drive. Both hard drives spin at 7200 RPM and have hard drive write-caching enabled (using `hdparm -W 1 [device]`). The numbers reported below are the median of three measurements.</p> <p>Benchmarks were all performed on a six-core Intel(R) Xeon(R) CPU X5650 @ 2.67GHz, with 12288 KB of total L3 cache and 12 GB of DDR3 RAM at 1333 MHz. (Note that LevelDB uses at most two CPUs since the benchmarks are single threaded: one to run the benchmark, and one for background compactions.) We ran the benchmarks on two machines (with identical processors), one with an Ext3 file system and one with an Ext4 file system. The machine with the Ext3 file system has a SATA Hitachi HDS721050CLA362 hard drive. The machine with the Ext4 file system has a SATA Samsung HD502HJ hard drive. Both hard drives spin at 7200 RPM and have hard drive write-caching enabled (using `hdparm -W 1 [device]`). The numbers reported below are the median of three measurements.</p>
<h4>Benchmark Source Code</h4> <h4>Benchmark Source Code</h4>
<p>We wrote benchmark tools for SQLite and Kyoto TreeDB based on LevelDB's <span class="code">db_bench</span>. The code for each of the benchmarks resides here:</p> <p>We wrote benchmark tools for SQLite and Kyoto TreeDB based on LevelDB's <span class="code">db_bench</span>. The code for each of the benchmarks resides here:</p>
<ul> <ul>
<li> <b>LevelDB:</b> <a href="https://github.com/google/leveldb/blob/master/benchmarks/db_bench.cc">db/db_bench.cc</a>.</li> <li> <b>LevelDB:</b> <a href="http://code.google.com/p/leveldb/source/browse/trunk/db/db_bench.cc">db/db_bench.cc</a>.</li>
<li> <b>SQLite:</b> <a href="https://github.com/google/leveldb/blob/master/benchmarks/db_bench_sqlite3.cc">doc/bench/db_bench_sqlite3.cc</a>.</li> <li> <b>SQLite:</b> <a href="http://code.google.com/p/leveldb/source/browse/#svn%2Ftrunk%2Fdoc%2Fbench%2Fdb_bench_sqlite3.cc">doc/bench/db_bench_sqlite3.cc</a>.</li>
<li> <b>Kyoto TreeDB:</b> <a href="https://github.com/google/leveldb/blob/master/benchmarks/db_bench_tree_db.cc">doc/bench/db_bench_tree_db.cc</a>.</li> <li> <b>Kyoto TreeDB:</b> <a href="http://code.google.com/p/leveldb/source/browse/#svn%2Ftrunk%2Fdoc%2Fbench%2Fdb_bench_tree_db.cc">doc/bench/db_bench_tree_db.cc</a>.</li>
</ul> </ul>
<h4>Custom Build Specifications</h4> <h4>Custom Build Specifications</h4>
<ul> <ul>
<li>LevelDB: LevelDB was compiled with the <a href="https://github.com/gperftools/gperftools">tcmalloc</a> library and the <a href="https://github.com/google/snappy">Snappy</a> compression library (revision 33). Assertions were disabled.</li> <li>LevelDB: LevelDB was compiled with the <a href="http://code.google.com/p/google-perftools">tcmalloc</a> library and the <a href="http://code.google.com/p/snappy/">Snappy</a> compression library (revision 33). Assertions were disabled.</li>
<li>TreeDB: TreeDB was compiled using the <a href="https://www.oberhumer.com/opensource/lzo/">LZO</a> compression library (version 2.03). Furthermore, we enabled the TSMALL and TLINEAR options when opening the database in order to reduce the footprint of each record.</li> <li>TreeDB: TreeDB was compiled using the <a href="http://www.oberhumer.com/opensource/lzo/">LZO</a> compression library (version 2.03). Furthermore, we enabled the TSMALL and TLINEAR options when opening the database in order to reduce the footprint of each record.</li>
<li>SQLite: We tuned SQLite's performance, by setting its locking mode to exclusive. We also enabled SQLite's <a href="https://www.sqlite.org/draft/wal.html">write-ahead logging</a>.</li> <li>SQLite: We tuned SQLite's performance, by setting its locking mode to exclusive. We also enabled SQLite's <a href="http://www.sqlite.org/draft/wal.html">write-ahead logging</a>.</li>
</ul> </ul>
<h2>1. Baseline Performance</h2> <h2>1. Baseline Performance</h2>
@ -451,7 +451,7 @@ performance may very well be better with compression if it allows more
of the working set to fit in memory.</p> of the working set to fit in memory.</p>
<h2>Note about Ext4 Filesystems</h2> <h2>Note about Ext4 Filesystems</h2>
<p>The preceding numbers are for an ext3 file system. Synchronous writes are much slower under <a href="https://en.wikipedia.org/wiki/Ext4">ext4</a> (LevelDB drops to ~31 writes / second and TreeDB drops to ~5 writes / second; SQLite3's synchronous writes do not noticeably drop) due to ext4's different handling of <span class="code">fsync</span> / <span class="code">msync</span> calls. Even LevelDB's asynchronous write performance drops somewhat since it spreads its storage across multiple files and issues <span class="code">fsync</span> calls when switching to a new file.</p> <p>The preceding numbers are for an ext3 file system. Synchronous writes are much slower under <a href="http://en.wikipedia.org/wiki/Ext4">ext4</a> (LevelDB drops to ~31 writes / second and TreeDB drops to ~5 writes / second; SQLite3's synchronous writes do not noticeably drop) due to ext4's different handling of <span class="code">fsync</span> / <span class="code">msync</span> calls. Even LevelDB's asynchronous write performance drops somewhat since it spreads its storage across multiple files and issues <span class="code">fsync</span> calls when switching to a new file.</p>
<h2>Acknowledgements</h2> <h2>Acknowledgements</h2>
<p>Jeff Dean and Sanjay Ghemawat wrote LevelDB. Kevin Tseng wrote and compiled these benchmarks. Mikio Hirabayashi, Scott Hess, and Gabor Cselle provided help and advice.</p> <p>Jeff Dean and Sanjay Ghemawat wrote LevelDB. Kevin Tseng wrote and compiled these benchmarks. Mikio Hirabayashi, Scott Hess, and Gabor Cselle provided help and advice.</p>

View File

@ -1,7 +1,7 @@
## Files ## Files
The implementation of leveldb is similar in spirit to the representation of a The implementation of leveldb is similar in spirit to the representation of a
single [Bigtable tablet (section 5.3)](https://research.google/pubs/pub27898/). single [Bigtable tablet (section 5.3)](http://research.google.com/archive/bigtable.html).
However the organization of the files that make up the representation is However the organization of the files that make up the representation is
somewhat different and is explained below. somewhat different and is explained below.

View File

@ -13,7 +13,7 @@
// based implementation (~16ns for <atomic> based acquire-load vs. ~1ns for // based implementation (~16ns for <atomic> based acquire-load vs. ~1ns for
// a barrier based acquire-load). // a barrier based acquire-load).
// This code is based on atomicops-internals-* in Google's perftools: // This code is based on atomicops-internals-* in Google's perftools:
// https://github.com/gperftools/gperftools/tree/master/src/base // http://code.google.com/p/google-perftools/source/browse/#svn%2Ftrunk%2Fsrc%2Fbase
#ifndef PORT_ATOMIC_POINTER_H_ #ifndef PORT_ATOMIC_POINTER_H_
#define PORT_ATOMIC_POINTER_H_ #define PORT_ATOMIC_POINTER_H_
@ -74,10 +74,10 @@ class AtomicPointer {
// Windows on x86 // Windows on x86
#if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY) #if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY)
// windows.h already provides a MemoryBarrier(void) macro // windows.h already provides a MemoryBarrier(void) macro
// https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-memorybarrier // http://msdn.microsoft.com/en-us/library/ms684208(v=vs.85).aspx
#define LEVELDB_HAVE_MEMORY_BARRIER #define LEVELDB_HAVE_MEMORY_BARRIER
// macOS // Mac OS
#elif defined(OS_MACOSX) #elif defined(OS_MACOSX)
inline void MemoryBarrier() { inline void MemoryBarrier() {
OSMemoryBarrier(); OSMemoryBarrier();
@ -87,8 +87,8 @@ inline void MemoryBarrier() {
// Gcc on x86 // Gcc on x86
#elif defined(ARCH_CPU_X86_FAMILY) && defined(__GNUC__) #elif defined(ARCH_CPU_X86_FAMILY) && defined(__GNUC__)
inline void MemoryBarrier() { inline void MemoryBarrier() {
// See https://gcc.gnu.org/legacy-ml/gcc/2003-04/msg01180.html for a discussion on // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on
// this idiom. Also see https://en.wikipedia.org/wiki/Memory_ordering. // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering.
__asm__ __volatile__("" : : : "memory"); __asm__ __volatile__("" : : : "memory");
} }
#define LEVELDB_HAVE_MEMORY_BARRIER #define LEVELDB_HAVE_MEMORY_BARRIER
@ -96,8 +96,8 @@ inline void MemoryBarrier() {
// Sun Studio // Sun Studio
#elif defined(ARCH_CPU_X86_FAMILY) && defined(__SUNPRO_CC) #elif defined(ARCH_CPU_X86_FAMILY) && defined(__SUNPRO_CC)
inline void MemoryBarrier() { inline void MemoryBarrier() {
// See https://gcc.gnu.org/legacy-ml/gcc/2003-04/msg01180.html for a discussion on // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on
// this idiom. Also see https://en.wikipedia.org/wiki/Memory_ordering. // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering.
asm volatile("" : : : "memory"); asm volatile("" : : : "memory");
} }
#define LEVELDB_HAVE_MEMORY_BARRIER #define LEVELDB_HAVE_MEMORY_BARRIER

View File

@ -31,7 +31,7 @@
#elif defined(OS_ANDROID) #elif defined(OS_ANDROID)
// Due to a bug in the NDK x86 <sys/endian.h> definition, // Due to a bug in the NDK x86 <sys/endian.h> definition,
// _BYTE_ORDER must be used instead of __BYTE_ORDER on Android. // _BYTE_ORDER must be used instead of __BYTE_ORDER on Android.
// See https://issuetracker.google.com/issues/36958561 // See http://code.google.com/p/android/issues/detail?id=39824
#include <endian.h> #include <endian.h>
#define PLATFORM_IS_LITTLE_ENDIAN (_BYTE_ORDER == _LITTLE_ENDIAN) #define PLATFORM_IS_LITTLE_ENDIAN (_BYTE_ORDER == _LITTLE_ENDIAN)
#else #else

View File

@ -50,7 +50,7 @@ static inline uint64_t LE_LOAD64(const uint8_t *p) {
#endif // defined(LEVELDB_PLATFORM_POSIX_SSE) #endif // defined(LEVELDB_PLATFORM_POSIX_SSE)
// For further improvements see Intel publication at: // For further improvements see Intel publication at:
// https://download.intel.com/design/intarch/papers/323405.pdf // http://download.intel.com/design/intarch/papers/323405.pdf
uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size) { uint32_t AcceleratedCRC32C(uint32_t crc, const char* buf, size_t size) {
#if !defined(LEVELDB_PLATFORM_POSIX_SSE) #if !defined(LEVELDB_PLATFORM_POSIX_SSE)
return 0; return 0;

View File

@ -76,7 +76,7 @@ class Footer {
}; };
// kTableMagicNumber was picked by running // kTableMagicNumber was picked by running
// echo https://github.com/google/leveldb | sha1sum // echo http://code.google.com/p/leveldb/ | sha1sum
// and taking the leading 64 bits. // and taking the leading 64 bits.
static const uint64_t kTableMagicNumber = 0xdb4775248b80fb57ull; static const uint64_t kTableMagicNumber = 0xdb4775248b80fb57ull;

View File

@ -1,8 +1,8 @@
// This file contains source that originates from: // This file contains source that originates from:
// https://github.com/maxd/leveldbwin/blob/master/win32_impl_src/env_win32.h // http://code.google.com/p/leveldbwin/source/browse/trunk/win32_impl_src/env_win32.h
// https://github.com/maxd/leveldbwin/blob/master/win32_impl_src/port_win32.cc // http://code.google.com/p/leveldbwin/source/browse/trunk/win32_impl_src/port_win32.cc
// Those files don't have any explicit license headers but the // Those files don't have any explicit license headers but the
// project (https://github.com/maxd/leveldbwin) lists the 'New BSD License' // project (http://code.google.com/p/leveldbwin/) lists the 'New BSD License'
// as the license. // as the license.
#if defined(LEVELDB_PLATFORM_WINDOWS) #if defined(LEVELDB_PLATFORM_WINDOWS)
#include <map> #include <map>

View File

@ -1,6 +1,6 @@
# ============================================================================ # ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html # http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
# ============================================================================ # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS
# #

View File

@ -28,7 +28,7 @@ fi
if [ "$RUN_VALGRIND" = "yes" ] if [ "$RUN_VALGRIND" = "yes" ]
then then
make -j2 make -j2
# the `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (https://www.valgrind.org/docs/manual/manual-core.html) # the `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (http://valgrind.org/docs/manual/manual-core.html)
valgrind --error-exitcode=42 ./tests 16 valgrind --error-exitcode=42 ./tests 16
valgrind --error-exitcode=42 ./exhaustive_tests valgrind --error-exitcode=42 ./exhaustive_tests
fi fi

View File

@ -42,7 +42,7 @@
# as we assume that all constraints in it are complementary with each other. # as we assume that all constraints in it are complementary with each other.
# #
# Based on the sage verification scripts used in the Explicit-Formulas Database # Based on the sage verification scripts used in the Explicit-Formulas Database
# by Tanja Lange and others, see https://hyperelliptic.org/EFD/ # by Tanja Lange and others, see http://hyperelliptic.org/EFD
class fastfrac: class fastfrac:
"""Fractions over rings.""" """Fractions over rings."""

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Pieter Wuille * * Copyright (c) 2020 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef SECP256K1_ASSUMPTIONS_H #ifndef SECP256K1_ASSUMPTIONS_H
#define SECP256K1_ASSUMPTIONS_H #define SECP256K1_ASSUMPTIONS_H

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2017 Pieter Wuille * * Copyright (c) 2017 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#include <stdio.h> #include <stdio.h>
#include "include/secp256k1.h" #include "include/secp256k1.h"

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick * * Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -144,7 +144,7 @@ static void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context *ctx, secp25
* (https://cryptojedi.org/peter/data/chesrump-20130822.pdf) and * (https://cryptojedi.org/peter/data/chesrump-20130822.pdf) and
* "Cache Attacks and Countermeasures: the Case of AES", RSA 2006, * "Cache Attacks and Countermeasures: the Case of AES", RSA 2006,
* by Dag Arne Osvik, Adi Shamir, and Eran Tromer * by Dag Arne Osvik, Adi Shamir, and Eran Tromer
* (https://www.tau.ac.il/~tromer/papers/cache.pdf) * (http://www.tau.ac.il/~tromer/papers/cache.pdf)
*/ */
secp256k1_ge_storage_cmov(&adds, &(*ctx->prec)[j][i], i == bits); secp256k1_ge_storage_cmov(&adds, &(*ctx->prec)[j][i], i == bits);
} }

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Jonas Nick * * Copyright (c) 2020 Jonas Nick *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_MODULE_EXTRAKEYS_MAIN_ #ifndef _SECP256K1_MODULE_EXTRAKEYS_MAIN_
#define _SECP256K1_MODULE_EXTRAKEYS_MAIN_ #define _SECP256K1_MODULE_EXTRAKEYS_MAIN_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Pieter Wuille * * Copyright (c) 2020 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_MODULE_EXTRAKEYS_TESTS_EXHAUSTIVE_ #ifndef _SECP256K1_MODULE_EXTRAKEYS_TESTS_EXHAUSTIVE_
#define _SECP256K1_MODULE_EXTRAKEYS_TESTS_EXHAUSTIVE_ #define _SECP256K1_MODULE_EXTRAKEYS_TESTS_EXHAUSTIVE_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Jonas Nick * * Copyright (c) 2020 Jonas Nick *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_MODULE_EXTRAKEYS_TESTS_ #ifndef _SECP256K1_MODULE_EXTRAKEYS_TESTS_
#define _SECP256K1_MODULE_EXTRAKEYS_TESTS_ #define _SECP256K1_MODULE_EXTRAKEYS_TESTS_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2016 Andrew Poelstra * * Copyright (c) 2016 Andrew Poelstra *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef SECP256K1_MODULE_RECOVERY_EXHAUSTIVE_TESTS_H #ifndef SECP256K1_MODULE_RECOVERY_EXHAUSTIVE_TESTS_H
#define SECP256K1_MODULE_RECOVERY_EXHAUSTIVE_TESTS_H #define SECP256K1_MODULE_RECOVERY_EXHAUSTIVE_TESTS_H

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick * * Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_MODULE_SCHNORRSIG_MAIN_ #ifndef _SECP256K1_MODULE_SCHNORRSIG_MAIN_
#define _SECP256K1_MODULE_SCHNORRSIG_MAIN_ #define _SECP256K1_MODULE_SCHNORRSIG_MAIN_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Pieter Wuille * * Copyright (c) 2020 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_MODULE_SCHNORRSIG_TESTS_EXHAUSTIVE_ #ifndef _SECP256K1_MODULE_SCHNORRSIG_TESTS_EXHAUSTIVE_
#define _SECP256K1_MODULE_SCHNORRSIG_TESTS_EXHAUSTIVE_ #define _SECP256K1_MODULE_SCHNORRSIG_TESTS_EXHAUSTIVE_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick * * Copyright (c) 2018-2020 Andrew Poelstra, Jonas Nick *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_MODULE_SCHNORRSIG_TESTS_ #ifndef _SECP256K1_MODULE_SCHNORRSIG_TESTS_
#define _SECP256K1_MODULE_SCHNORRSIG_TESTS_ #define _SECP256K1_MODULE_SCHNORRSIG_TESTS_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2017 Andrew Poelstra * * Copyright (c) 2017 Andrew Poelstra *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_SCRATCH_ #ifndef _SECP256K1_SCRATCH_
#define _SECP256K1_SCRATCH_ #define _SECP256K1_SCRATCH_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2017 Andrew Poelstra * * Copyright (c) 2017 Andrew Poelstra *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef _SECP256K1_SCRATCH_IMPL_H_ #ifndef _SECP256K1_SCRATCH_IMPL_H_
#define _SECP256K1_SCRATCH_IMPL_H_ #define _SECP256K1_SCRATCH_IMPL_H_

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Pieter Wuille * * Copyright (c) 2020 Pieter Wuille *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#ifndef SECP256K1_SELFTEST_H #ifndef SECP256K1_SELFTEST_H
#define SECP256K1_SELFTEST_H #define SECP256K1_SELFTEST_H

View File

@ -1,8 +1,8 @@
/************************************************************************ /**********************************************************************
* Copyright (c) 2020 Gregory Maxwell * * Copyright (c) 2020 Gregory Maxwell *
* Distributed under the MIT software license, see the accompanying * * Distributed under the MIT software license, see the accompanying *
* file COPYING or https://www.opensource.org/licenses/mit-license.php .* * file COPYING or http://www.opensource.org/licenses/mit-license.php.*
************************************************************************/ **********************************************************************/
#include <valgrind/memcheck.h> #include <valgrind/memcheck.h>
#include "include/secp256k1.h" #include "include/secp256k1.h"

View File

@ -1,5 +1,5 @@
// Copyright (c) 2017 The Bitcoin Core developers // Copyright (c) 2017 The Bitcoin Core developers
// Distributed under thse MIT software license, see the accompanying // Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php . // file COPYING or http://www.opensource.org/licenses/mit-license.php .
#include "key.h" #include "key.h"