Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
#include "libff/algebra/curves/alt_bn128/alt_bn128_pp.hpp"
#include "libff/algebra/curves/bls12_377/bls12_377_pp.hpp"
#include "libff/algebra/curves/curve_serialization.hpp"
#include "libff/common/profiling.hpp"
#include <aio.h>
#include <exception>
#include <fcntl.h>
#include <fstream>
#include <map>
#include <sys/mman.h>
#include <sys/stat.h>
#include <thread>
#include <unistd.h>
Go to the source code of this file.
Classes | |
class | batched_aio_reader< BatchSize > |
class | profile_selector< GroupT > |
Typedefs | |
typedef void(* | profile_fn) (const std::string &, const size_t) |
Functions | |
std::string | get_filename (const std::string &identifier) |
template<typename GroupT , form_t Form = form_montgomery, compression_t Comp = compression_off> | |
bool | ensure_group_elements_file_uncompressed (const std::string &identifier) |
Returns true if the file was already present. More... | |
template<typename GroupT , form_t Form = form_montgomery, compression_t Comp = compression_off> | |
void | profile_group_read_sequential_uncompressed (const std::string &identifier, const size_t) |
template<typename GroupT , form_t Form = form_montgomery, compression_t Comp = compression_off> | |
void | profile_group_read_random_seek_uncompressed (const std::string &identifier) |
template<typename GroupT , form_t Form = form_montgomery, compression_t Comp = compression_off> | |
void | profile_group_read_random_seek_ordered_uncompressed (const std::string &identifier, const size_t interval) |
template<typename GroupT > | |
void | profile_group_read_random_seek_fd_uncompressed (const std::string &identifier, const size_t) |
template<typename GroupT > | |
void | profile_group_read_random_seek_fd_ordered_uncompressed (const std::string &identifier, const size_t) |
template<typename GroupT > | |
void | profile_group_read_random_seek_mmap_ordered_uncompressed (const std::string &identifier, const size_t interval) |
void | cb_init (aiocb *cb, int fd, size_t offset_bytes, size_t size_bytes, void *dest) |
void | cb_enqueue (aiocb *cb) |
ssize_t | cb_wait (aiocb *cb) |
template<typename GroupT > | |
void | profile_group_read_random_batch_aio_ordered_uncompressed (const std::string &identifier, const size_t interval) |
void | usage (const char *const argv0) |
template<typename GroupT > | |
void | run_profile (const std::string &profile, const std::string &identifier, const size_t interval) |
int | main (const int argc, char const *const *const argv) |
typedef void(* profile_fn) (const std::string &, const size_t) |
Definition at line 560 of file profile_algebra_groups_read.cpp.
void cb_enqueue | ( | aiocb * | cb | ) |
Definition at line 353 of file profile_algebra_groups_read.cpp.
void cb_init | ( | aiocb * | cb, |
int | fd, | ||
size_t | offset_bytes, | ||
size_t | size_bytes, | ||
void * | dest | ||
) |
Definition at line 338 of file profile_algebra_groups_read.cpp.
ssize_t cb_wait | ( | aiocb * | cb | ) |
Definition at line 365 of file profile_algebra_groups_read.cpp.
bool ensure_group_elements_file_uncompressed | ( | const std::string & | identifier | ) |
Returns true if the file was already present.
Definition at line 34 of file profile_algebra_groups_read.cpp.
std::string get_filename | ( | const std::string & | identifier | ) |
Definition at line 24 of file profile_algebra_groups_read.cpp.
int main | ( | const int | argc, |
char const *const *const | argv | ||
) |
Definition at line 622 of file profile_algebra_groups_read.cpp.
void profile_group_read_random_batch_aio_ordered_uncompressed | ( | const std::string & | identifier, |
const size_t | interval | ||
) |
Perform async reads of single group elements, with some (average) interval between reads on disk, using the aio_* family of functions. Multple aio requests are kept in-flight at the same time.
Definition at line 482 of file profile_algebra_groups_read.cpp.
void profile_group_read_random_seek_fd_ordered_uncompressed | ( | const std::string & | identifier, |
const | size_t | ||
) |
Definition at line 239 of file profile_algebra_groups_read.cpp.
void profile_group_read_random_seek_fd_uncompressed | ( | const std::string & | identifier, |
const | size_t | ||
) |
Definition at line 192 of file profile_algebra_groups_read.cpp.
void profile_group_read_random_seek_mmap_ordered_uncompressed | ( | const std::string & | identifier, |
const size_t | interval | ||
) |
Definition at line 278 of file profile_algebra_groups_read.cpp.
void profile_group_read_random_seek_ordered_uncompressed | ( | const std::string & | identifier, |
const size_t | interval | ||
) |
Definition at line 155 of file profile_algebra_groups_read.cpp.
void profile_group_read_random_seek_uncompressed | ( | const std::string & | identifier | ) |
Definition at line 107 of file profile_algebra_groups_read.cpp.
void profile_group_read_sequential_uncompressed | ( | const std::string & | identifier, |
const | size_t | ||
) |
Definition at line 72 of file profile_algebra_groups_read.cpp.
void run_profile | ( | const std::string & | profile, |
const std::string & | identifier, | ||
const size_t | interval | ||
) |
Definition at line 593 of file profile_algebra_groups_read.cpp.
void usage | ( | const char *const | argv0 | ) |
Definition at line 581 of file profile_algebra_groups_read.cpp.