问题标签 [stxxl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stxxl - STXXL 是否保存崩溃后的状态?
我正在用 C++ 编写一个 webapp,并且想在 SSD 上使用一个快速的数据库。
似乎 STXXL 会比其他选择更快(slite,mongodb,...)
STXXL 的容器在意外关闭(服务器崩溃)后是否保留数据?使用 stxxl 的程序能否轻松地从之前的状态重新启动?
c++ - 在 C++ 中使用 STXXL 模板的递归模板函数出错
我需要优化BlkSize_
stxxl 向量的块大小参数,以便使用简单的网格搜索来查找部分和。由于为 stxxl 向量指定它的唯一方法似乎是将其用作向量生成器中的模板参数,我知道我想使用一些递归模板函数,该函数将在给定块大小模板参数的情况下输出 partial_sum 函数使用的时间。我还需要携带矢量大小作为参数。
这是我的代码:
但是虽然struct stxxl::VECTOR_GENERATOR
正好需要 6 个参数 ( class Tp_, unsigned int PgSz_, unsigned int Pages_, unsigned int BlkSize_, class AllocStr_, stxxl::pager_type Pager_
),但我收到了这个:
为一条typedef
线。
可能是什么问题呢?
c++ - 创建 STXXL 映射时增加不可复制错误
我一直在用 STXXL 做一些工作,我遇到了从 boost::noncopyable 继承的地图的问题......对于这个项目,我使用以下语句创建了几个地图:
stxxl::map<int, mapData, CmpIntGreater, 4096, 4096> node_map((stxxl::unsigned_type)(4096 * 4), (stxxl::unsigned_type)(4096 * 3));
不用说,一旦我解决了这个问题,构造函数中的硬编码值将被替换,但无论如何,我都会收到错误:
C2248: 'boost::noncopyable_::noncopyable::noncopyable' : cannot access private member declared in class 'boost::noncopyable_::noncopyable'
有没有其他人在使用 STXXL 地图时遇到过这个问题?或者在使用不可复制对象时,是否有人有一些一般性建议或最佳实践?
感谢您的所有帮助:)
c++ - 使用 STXXL 自动增长时出错
我目前正在研究一个需要将大约 20 个向量写入单个文件的项目。我还需要我的 STXXL 磁盘文件自动增长以适应非常大的向量。我知道如果您将 .stxxl 文件中的大小指定为 0,STXXL 会为磁盘文件提供自动增长功能。我已经这样做了,但是在创建第一个向量时出现 IO 错误。
我的 .stxxl 文件如下:
disk=c:\stxxl,0,wincall
我正在像这样创建我的向量:
stxxl::wincall_file file("file.dat", stxxl::file::CREAT | stxxl::file::RDWR);
stxxl::vector<double, 2, stxxl::lru_pager<8>> vector1(&file, 1000000);
谁能帮我解决这个问题?
谢谢!
algorithm - 如何在 stxxl 中查找程序的 I/O 数量?
我正在使用 STXXL,有人可以帮我找到号码吗?我的程序(或算法或进程)完成了多少 I/O(或传输的块)?我知道如何限制任何特定进程的内存使用量,但不知道如何限制 STXXL 中的块大小以及如何计数。块转移。
stxxl - STXXL vector_type 似乎不起作用
我想尝试 STXXL 来了解它从磁盘读取大数据文件的效率。所以我设置了使用它的环境。然后我在 VS2010 中运行了这个程序http://algo2.iti.kit.edu/dementiev/stxxl/tags/1.2.1/algo_2sort__file_8cpp-example.html 。但是文件数据并没有映射到vector_type,实际上它在这条语句之后删除了文件的内容-vector_type v(&f); 我尝试从 stxxl::file::RDWR 更改为 stxxl::file::RDONLY,这次文件内容没有被删除,但是 vector_type 变量仍然为空。请求您的支持以继续进行。另外,STXXL 是否广泛用于商业应用?
最好的问候,拉姆基。
c++ - STXXL 的高内存使用率
我正在使用 STXXL 开发一个项目,据我所知,它是 C++ STL 库的核心版本。目前,我的程序运行良好,但我现在面临的问题是,当程序运行时,它使用了接近 2GB 的内存(具有中低数据集)。
在我的程序中,我使用了 25 个 STXXL 向量,存储在磁盘上的单个文件中。至于我的 .stxxl 文件,我目前将其设置为动态分配磁盘文件(通过将磁盘大小设置为 0)。
所以,我的问题是:有没有办法明确地让 STXXL 使用硬盘而不是 RAM?或者在使用这个库时,这个内存使用量是预期的吗?
提前感谢任何人可以提供的任何建议。
c++ - 无法使用 CMake 构建 STXXL
看来我无法使用 CMake 2.8.12.1 为 STXXL 构建解决方案。我查看了所有文章并按照他们的指示进行操作,但没有运气。我有带有 SP1 和 Windows 7 的 VS2010 Professional。我在 CMake 中选择 Visual Studio 10 Win64 并单击配置,但我总是得到以下信息:
我已经勾选了Run As Administrator
复选框,cl.exe
但仍然没有。
有谁知道我如何构建 STXXL?任何帮助将非常感激。
编辑
安装 VS2012 后,我成功地使用了 CMake 并生成了解决方案。
c++ - 是否可以在运行时定义要在 STXXL 中排序的类型的长度?
我有一个需要内置排序的应用程序,我希望用 STXXL 提供的排序替换现有的排序机制。我已经使用 STXXL 成功地对其进行了测试,但我的问题是,虽然特定的排序运行需要对固定长度的字符串进行操作,但长度是在运行时确定的,并且可以在 10 字节到 4000 字节之间的任何位置。如果实际长度很小,总是允许 4000 字节显然是非常低效的。
对于那些不熟悉 STXXL 的人,我相信这个问题大致等同于在编译时不知道对象大小的情况下定义一个 std::vector。但是,我不是 C++ 专家 - 该应用程序是用 C 编写的。
在我的测试中,这是我正在排序的类型:
这是 STXXL 分类器的类型定义:
问题是我不想将数组大小硬编码为“80”。
我能想出的唯一解决方案是定义许多不同长度的结构并在运行时选择最接近的结构。我错过了一个技巧吗?我在思考 C 而不是 C++?
c++ - 在多个线程中使用 stxxl
以下程序崩溃
这看起来很像我的两个线程正在尝试使用相同的文件处理程序/文件来更新 stxxl 文件 til /var/tmp。
在 stxxl 中有多个线程使用多个文件的技巧吗?