wxWidgets wxConfBase写入非常慢
wxWidgets wxConfBase Write very slow
我使用wxConfBase来保存文本框的数据。(windows)
config = new wxConfig(wxT("soft"));
config->Write(wxT("COM"),temp_port->GetValue());
config->Write(wxT("SQL_HOST"),mainset_sql_host->GetValue());
config->Write(wxT("SQL_DB"),mainset_sql_db->GetValue());
config->Write(wxT("SQL_LOGIN"),mainset_sql_login->GetValue());
config->Write(wxT("SQL_PASS"),mainset_sql_pass->GetValue());
{.......}
delete config;
我在结束函数中调用它。
事实上,它非常慢,大约需要10秒(程序冻结)来写大约20个参数。
我相信它是写在我的本地磁盘上,因为我没能找到保存在哪里,甚至尝试使用config->SetPath。
而且访问我电脑上的文件似乎不是那么慢…
也许还有比config-write更有效的方法。
您应该有一个好的调试策略。尽量减少外部影响,树立最小的榜样。然后试着找出程序挂起的确切位置。真的是配置的问题吗?还是那些mainset_sql_*查询?
对于给定名称"soft":
Windows: wxConfig写入HKEY_CURRENT_USERSoftwaresoft.
Linux: wxConfig在主目录创建隐藏的。soft文件。
在两个操作系统中使用wxConfig,我没有任何性能问题。尝试调查更多,了解这些信息保存在哪里。
相关文章:
- OpenGL大的3D纹理(>2GB)非常慢
- 为什么需要复制构造函数,在哪些情况下它们非常有用
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- G++ C++17 类模板参数推导在非常特殊的情况下不起作用
- 使用浮点数和双精度数的非常小数字的数学
- 在打开多个其他窗口时使用全屏窗口时帧速率非常低
- 我从int x[3]得到的一个非常奇怪的输出;
- 反向迭代器在C++中非常奇怪的行为
- 将非常大的 int 转换为双倍,在某些计算机上会损失精度
- 我的自定义使用 std::unordered_map 的性能非常慢
- ifstream 尝试读取 9 到 13 之间的无符号字符时非常奇怪的行为
- 一个非常简单的win32套接字代码,但工作错误
- 非常快速地阅读 CSV 文件
- max_element() 给出非常奇怪的错误消息
- 将 mmap 内存用于开销非常低的循环缓冲区
- 内存映射文件访问非常慢
- 超过CPU时间限制:当MPI_Sent一个非常大的int*时
- QtWebengine 5.7.1的性能非常慢
- 如何非常快速地将数字添加到 Vector 中的一系列元素中
- wxWidgets wxConfBase写入非常慢