小编Dou*_*rie的帖子

具有索引的Android SQLite性能

我的Android应用程序通过使用在用户PC上生成并传输到设备的SQLite数据库来工作.这一切都有效,但我没有预料到拥有大量数据的用户数量.在这些情况下,UI在等待获取数据时非常缓慢.

我已经尝试了一些技巧,我"确定"会加快速度,但似乎没有任何明显的效果.我的查询几乎都非常简单,通常是WHERE子句的单个"col = val"和列中的INTEGER数据.所以我对查询做不了多少.

最新的,我不是SQL专家,无论如何都是在PC上使用"CREATE INDEX"命令,认为这些索引用于加速数据库搜索.索引显着增加了数据库文件的大小,所以我很惊讶它似乎对我的应用程序的速度没有任何影响!在没有索引的情况下花费8秒钟填充的屏幕仍然需要大约8秒钟.我希望能把事情减少至少一半.

我现在想知道的是,如果Android上的SQLite实现完全使用数据库索引,或者我只是通过生成它们来浪费空间.谁能回答这个问题?

还有什么其他的东西可以尝试加快访问速度?

(对于它的价值,在绝对的基础上,用户没有什么可抱怨的.到目前为止,我的最坏情况用户的数据产生了630,000条记录(15个表),所以只有这么多可能!)

Doug Gordon GHCS Systems

sqlite android

24
推荐指数
3
解决办法
2万
查看次数

Lua ::如何编写将加载多个CPU的简单程序?

我无法在Lua中编写一个可以加载多个CPU的程序.由于Lua 通过协同程序支持这个概念,我相信它是可以实现的.

我失败的原因可能是:

  • 这在Lua是不可能的
  • 我不能写它☺(希望是这样的)

更有经验的人(我两周前发现Lua)可以指出我正确的方向吗?


The point is to write a number-crunching script that does hi-load on ALL cores... 为了Lua的权力的示范目的.

谢谢...

lua multithreading multicore coroutine

11
推荐指数
2
解决办法
1万
查看次数

安全地现场更新嵌入式Linux的推荐技术

基于嵌入式Linux的设备通常需要一种机制来更新应用程序和系统文件.例如,带有USB端口的(非联网)实验室仪器可以从USB记忆棒获得软件更新.

运行脚本将文件复制到设备内部闪存上的位置是一件简单的事情.但是,存在设备在更新过程中断电并最终失效的危险.

应用程序文件的情况稍微容易一些,因为有空间复制应用程序目录,更新一个副本,并快速交换新旧目录,最大限度地减少故障窗口.

对于内核和系统文件来说,事情更为复杂,因为它们遍布整个文件系统.

我们在文件系统中使用了硬链接和软链接来识别关键文件.我们在文件和存档上使用哈希来验证文件完整性.我们已经考虑在内核中使用紧急ramfs,以便在从更新的文件系统启动失败时提供回退.

你对这个要求有什么方法?

linux embedded maintenance reliability

9
推荐指数
0
解决办法
3454
查看次数

用于简单修改elf文件的工具?

我的嵌入式项目有一个后处理步骤,用闪存的某些部分的CRC替换可执行文件中的值.此步骤只能在链接后完成,因为这是CRC图像的第一次机会.在过去,文件格式是COFF,我已经创建了一个自定义工具来进行修补.

开发工具已切换到ELF,因此我需要重新实现CRC修补程序.在我做之前,我以为我会寻找一个现有的工具来做到这一点.编译器基于GCC,但我看不到任何的组合ldnmreadelf可以做的工作.Google的搜索效果不佳.

我现在的工具用于nm查找要修补的地址,并使用地址,期望值(以防止覆盖错误的数据)和新的CRC值调用修补程序.CRC是以可执行文件的"十六进制"格式计算的(我也补丁),所以幸运的是我没有重做那部分.

我可以libelf再次使用和自定义代码实现此功能,但在此之前,它是否已经存在?

有没有更好的方法来实现我的目标,即将可执行文件的CRC放入可执行文件中,以便应用程序可以使用它?

c embedded

6
推荐指数
1
解决办法
2266
查看次数

Lua:尝试对字符串值执行算术运算

我正在尝试在lua中为返回的值添加一个字符串:

local function func(str)
   return (str+"_something")
end

print(func("ABC"))
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

"尝试对本地'str'执行算术运算(字符串值)"

或此错误(在我的原始程序中):

@user_script:1:user_script:1:尝试对字符串值执行算术运算

我尝试使用tosring(str)+"_ something"但没有帮助...

那么如何在Lua中连接一个字符串?

string lua string-concatenation

6
推荐指数
1
解决办法
1万
查看次数

Lua中的进程间通信

我有两个应用程序(在Windows上都是纯Lua),它们应该能够相互通信.我成功使用了luasocket TCP/IP模块; 但我想知道我可以使用其他方法来实现这一目标吗?

lua ipc

5
推荐指数
1
解决办法
3985
查看次数

通过Lua脚本重新启动系统

我需要通过Lua脚本重启系统.我需要在Reboot发生之前编写一些字符串,并且需要在Reboot完成后在Lua脚本中编写一个字符串.

示例:

print("Before Reboot System")

Reboot the System through Lua script

print("After Reboot System")
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?

lua

4
推荐指数
1
解决办法
3559
查看次数

从Lua引擎获取所有Lua库和关键字

我正在为我的Lua IDE开发代码完成控件

https://github.com/AndersMalmgren/FreePIE

我正在使用反射来获取可从脚本访问的C#对象信息,但我也想在列表中使用Lua特定的东西,比如数学库等.

有没有办法得到这些?还希望获得所有关键字,如if,then,end等

c# lua

3
推荐指数
1
解决办法
263
查看次数

Lua中如何融合数组

如何将两个数组融合为一个,如下所示:

local array1 = {2272, 2271, 2270, 2269}
local array2 = {2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
local fusedArray = {2272, 2271, 2270, 2269, 2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
Run Code Online (Sandbox Code Playgroud)

或者

local array1 = {2292, 2291, 2290, 2289}
local array2 = {2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
local fusedArray = {2292, 2291, 2290, 2289, 2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
Run Code Online (Sandbox Code Playgroud)

arrays lua

3
推荐指数
1
解决办法
3004
查看次数

Lua脚本到C++代码

我正在为Lua编写C函数.我有很多电话,如lua_gettable,lua_touserdata等

我的C函数可能会接收复杂的结构,例如表格作为字段.

我很难对堆叠机器进行编程.

有没有办法编写将转换为C代码的Lua脚本.

或者其他一些工具可以帮助我为lua脚本编写这样的C函数.

谢谢.

PS

这是一个例子: -

local data = {}
data.x = {}
data.x.y = 1
myCfunc(data)
Run Code Online (Sandbox Code Playgroud)
int myCfunc(lua_State * L){
 lua_pushstring(L, "x");
 lua_gettable(L, 2);
 lua_pushstring(L, "y");
 lua_gettable(L, -2);
 double y = lua_tonumber(L, -1);
 lua_pop(L, 2);
}
Run Code Online (Sandbox Code Playgroud)

代替

function myCfunc(data)
 y = data.x.y
end
Run Code Online (Sandbox Code Playgroud)

我真正的代码要复杂得多,我正在寻找一些可以帮助我的自动代码生成.

c lua stack

2
推荐指数
2
解决办法
9766
查看次数