小编Joh*_*ica的帖子

如何更改mysql持久连接的超时

哪里定义了持久连接的超时?是否有可能改变它?

mysql persistent-connection

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


Delphi组件与SQlite一起使用

我可以使用哪些组件在Delphi 6中使用SQlite数据库?

delphi sqlite components

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

如何将"Type"类型的变量传递给泛型参数

我正在尝试这样做:

Type type = Type.GetType(string.Format("Gestor.Data.Entities.{0}, Gestor.Data", e.Item.Value));
MetaDataUtil.GetColumnasGrid<type>();
Run Code Online (Sandbox Code Playgroud)

但它不起作用,你知道我怎么能这样做吗?

c# generics

10
推荐指数
1
解决办法
4537
查看次数

MySQL中单元测试的最佳工具

我最近在MySQL中做了很多sproc编程.
我必须说我喜欢它.很多.

然而调试这些婴儿很糟糕.
任何人都知道任何可以在My MySQL调试中获得快乐的工具吗?

mysql unit-testing stored-procedures database-testing

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

`const`字符串参数(线程)是否安全

这段代码

procedure MyThreadTestA(const AStr: string);
Run Code Online (Sandbox Code Playgroud)

比快

procedure MyThreadTestB(AStr: string);
Run Code Online (Sandbox Code Playgroud)

在做同样的工作时,都会传递一个指针.

但是,版本B'正确'更新了引用计数,AStr并在我更改它时进行复制.
版本A只传递一个指针,只有编译器阻止我改变AStr.

如果我在汇编程序中使用脏技巧或以其他方式规避编译器保护,则版本A不安全,这是众所周知的但是......

通过AStr引用传递作为const参数线程安全吗?
如果AStr某个其他线程中的引用计数变为零并且字符串被销毁会发生什么?

delphi string parameters const

10
推荐指数
1
解决办法
1465
查看次数

在Delphi中使用旧样式`object`而不是`class`是否有好处?

在Delphi中,理智的人使用a class来定义对象.
在我们使用的Turbo Pascal for Windows中object,今天您仍然可以使用它object来创建对象.

不同之处在于object堆栈上的class生命和堆上的生命.
当然,这object是折旧的.

Putting all that aside:

通过使用object而不是上课来提高速度是否有益处?

我知道object在Delphi 2009 中已经破解了,但是我有一个特殊的用例1)速度很重要我试图找到是否使用object会使我的东西更快而不会让它变得越来越多
这个代码库是在Delphi 7中,但是我可能把它移植到Delphi 2007,尚未决定.


1)康威的生命游戏

长期评论
感谢所有人指出我正确的方向.

让我解释一下.我正在尝试更快地实现hashlife,另请参阅此处此处的简单源代码

目前的记录保持者很高兴,但是他使用Bill Gospher原始的lisp代码的直接翻译(这是一种很好的算法,但根本没有在微观层面进行优化).Hashlife使您能够在O(log(n))时间内计算生成.

它通过使用空格/时间权衡来实现.由于这个原因,hashlife需要大量内存,千兆字节并非闻所未闻.作为回报,您可以在o(1)时间内使用第2代^ 127(170141183460469231731687303715880000000)计算第2代128(340282366920938463463374607431770000000).

因为hashlife需要为更大模式中出现的所有子模式计算哈希值,所以对象的分配需要很快.

这是我已经解决的解决方案:

分配优化
我分配一大块物理内存(用户可设置)让我们说512MB.在这个blob中我分配了我称之为奶酪堆栈的东西.这是我推送和弹出的普通堆栈,但是pop也可以来自堆栈的中间.如果发生这种情况,我会在free列表上标记它(这是一个正常的堆栈).当free我按下时,如果没有任何空闲,我先检查列表,我正常推动.我将使用记录,因为它看起来像具有最少开销的解决方案.

由于hashlife的工作方式,很少发生popping和很多pushes.我为不同大小的结构保留单独的堆栈,确保在4/8/16字节边界上保持内存访问对齐.

其他优化

  • 递归删除
  • 缓存优化
  • 用于 inline
  • 预先计算哈希(类似于彩虹表)
  • 检测病理病例和使用后退算法
  • 使用GPU

delphi class object delphi-7 delphi-2007

10
推荐指数
3
解决办法
2985
查看次数

如何在画布上一起绘制2个渐变?

请查看我使用Paint程序执行的示例渐变图像:

在此输入图像描述

它包含2个垂直渐变.

从顶部到中间的第一个渐变是白色和浅橙色的混合.

从底部到中间的第二个渐变也是白色的混合,但是略微更暗的橙色.

关键是有2个渐变使用,有4种颜色,2种白色和2种橙色变化.

我想在Canvas上做这个,但不知道怎么做.颜色可以是任何颜色,上面只是一个例子.

我怎么能这样做?

delphi

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

碎片似乎有点矫枉过正?没有MVC架构可能吗?

我几天前开始使用碎片,但它似乎对我有用.我没有看到复杂性大幅增加的合理优势.我不知道,如果我应该在我的Activity或我的片段中实现功能.首先,我试图把它放在碎片中,但这似乎是不可能的.

例如:单击按钮后,我有一个对话框作为用户输入.所以我通过侦听器从片段到活动转移了按钮单击,并在活动中打开了对话框.在对话框中,我启动了新功能(因此在Activity中实现).Android dev提供了在片段中添加警报对话框的提示:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentAlertDialog.html

但是这个片段仍然是实现的,并且与激活密切相关(对话框的按钮动作在活动中).

因此,模型和视图混合在一起.在这种难以维护的静态代码中,我没有看到额外的价值?!

您对片段的意见和建议是什么?

model-view-controller android design-patterns android-fragments

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

Delphi回调?

我想知道是否可以实现这样的事情:

procedure waitandcall(time,@MyProcedureOrFunction)

执行我创建的功能或程序?

我不确定它们是否被称为回调.

delphi procedure function callback

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