我们正在处理需要处理来自不同时区和夏令时设置的全球时间数据的应用程序.我们的想法是在内部以UTC格式存储所有内容,只为本地化用户界面来回转换.SQL Server是否提供任何机制来处理给定时间,国家和时区的翻译?
这一定是一个常见的问题,所以我很惊讶谷歌不会发现任何可用的东西.
有什么指针吗?
我正在寻找一种方法来跟踪C++程序中的内存分配.我对内存泄漏不感兴趣,这似乎是大多数工具试图找到的,而是为应用程序创建内存使用情况配置文件.理想输出可以是函数名称的大列表加上随时间推移的最大分配字节数,也可以是更好的堆积随时间变化的图形表示.横轴是时间,纵轴堆空间.每个函数都会获得它自己的颜色,并根据分配的堆字节绘制线条.用于识别分配的对象类型的加分点.
我们的想法是找到内存瓶颈/可视化哪些函数/线程消耗最多的内存,并且应针对进一步优化.
我简要地看了一下Purify,BoundsChecker和AQTime,但它们似乎并不像我追求的那样.Valgrind看起来很合适,但是,我在Windows上.Memtrack看起来很有前景,但需要对源代码进行重大更改.
我的谷歌技能一定让我失望了,因为它似乎不是这么罕见的要求吗?创建这样的工具所需的所有信息都应该可以从程序的调试符号和运行时API调用中获得 - 不是吗?
我面临着一个三维装箱问题,目前正在进行一些初步研究,以确定哪些算法/启发式方法目前正在产生最佳结果.由于问题是NP难,我不希望在每种情况下找到最佳解决方案,但我想知道:
1)什么是最精确的求解器?分支和绑定?我可以通过合理的计算资源解决哪些问题实例大小?
2)什么是最好的启发式求解器?
3)进行一些实验有哪些现成的解决方案?
language-agnostic algorithm mathematical-optimization np-hard bin-packing
我知道几个(所有?)STL实现实现了一个"小字符串"优化,而不是存储开始,结束和容量的通常3个指针,如果sizeof(字符),字符串将实际字符数据存储在用于指针的内存中<= sizeof(指针).我处于一种情况,我有很多小矢量,元素大小<= sizeof(指针).我不能使用固定大小的数组,因为向量需要能够动态调整大小并且可能会变得非常大.但是,矢量的中值(非平均)大小仅为4-12个字节.所以适应矢量的"小字符串"优化对我来说非常有用.这样的事情存在吗?
我正在考虑通过简单的蛮力将矢量转换为字符串,即为字符串提供矢量接口.好主意?
我有一个SQL-Server 2008数据库和一个使用外键约束来强制引用完整性的模式.按预期工作.现在,用户创建原始表的视图以仅处理数据的子集.我的问题是过滤某些表中的某些数据集而不是其他表中的某些数据集会违反外键约束.
想象一下两个表"一"和"两个"."one"只包含值为1,2,3的id列."两个"引用"一个".现在,您可以在两个表上创建视图.表"one"的视图不会过滤任何内容,而表"one"的视图会删除除第一行之外的所有行.你最终会在第二个视图中找到无处可见的条目.
有什么方法可以避免这种情况吗?你能在视图之间有外键约束吗?
回应一些评论的一些澄清:
我知道即使通过视图插入,底层约束也将确保数据的完整性.我的问题在于使用视图的语句.这些语句是在考虑原始表的情况下编写的,并假设某些连接不会失败.使用表时,此假设始终有效 - 但视图可能会破坏它.
首先创建视图时加入/检查所有约束是因为大量的引用表而导致的.因此,我希望避免这种情况.
我正在寻找一种(空间)高效的LCS算法实现,用于C++程序.输入是两个整数的随机访问序列.
我目前正在使用维基百科页面中关于LCS的动态编程方法.但是,它在内存和时间中具有O(mn)行为,并且对于较大的输入而言存在内存错误.
我读过Hirschberg的算法,它大大提高了内存使用率,Hunt-Szymanski和Masek以及Paterson.由于实现这些并非易事,我更愿意在现有实现的数据上尝试它们.有谁知道这样的图书馆?我想,因为文本差异工具很常见,所以应该有一些开源库吗?
我正广泛使用adjacency_list <vecS,vecS,bidirectionalS ...>.我有很多图表一次加载,内存成为一个问题.我正在进行静态程序分析,并将反汇编二进制文件的调用图和流程图存储在boost图中.因此,我可以拥有几万个函数== flowgraphs和一个巨大的调用图.我还是希望在使用BGL的同时减少图形的内存使用量.
由于我的图形在加载后是静态的,并且预先知道边缘和顶点计数,因此我看到了巨大的优化潜力.例如,我想为单个图的所有顶点/边分配一个缓冲区,让图只将索引存储到该缓冲区中.
更多问题:
1)使用顶点和边缘属性的内存开销是多少?我有很多.
2)是否有可能说服BGL使用收缩来拟合成语?据我所知,邻接列表使用push_back来添加边.是否可以通过将结果向量与自身副本交换来减少内存使用量?也许通过复制整个图表?
3)是否可以将升压池分配器与BGL一起使用?据我所知,BGL目前执行大量的小分配 - 我真的希望避免出于空间和运行时效率的原因.
有没有人已经构建了针对内存使用优化的BGL版本?我应该尝试使用现有的图形结构并使用自定义分配器或其他类似的增加它,或者编写我自己的实现并尝试保持与BGL的接口兼容性更有成效,以便我可以继续使用它的算法?
最好的祝福,
Sören
Run Code Online (Sandbox Code Playgroud) 我创建了一个自定义数据类型枚举,如下所示:
create type "bnfunctionstype" as enum (
'normal',
'library',
'import',
'thunk',
'adjustor_thunk'
);
Run Code Online (Sandbox Code Playgroud)
从外部数据源我得到[0,4]范围内的整数.我想将这些整数转换为相应的枚举值.
我怎样才能做到这一点?
我正在使用PostgreSQL 8.4.
我无法提出有效的SQL查询来处理以下情况:
假设我们有一个包含两列的表
groupId : int
value : float
Run Code Online (Sandbox Code Playgroud)
桌子很大(几百万行).每个"groupId"有不同数量的"值" - 比如介于100和50.000之间.所有浮点值都大于或等于零,但在其他方面无限制.
对于给定的groupId,查询应返回通过降低相似性排序的所有其他组,其中"相似"被定义为两组中所有可能的30对值之间的最小欧几里德距离.
相似性的定义是杀死我的原因.我认为,对于如上定义的计算相似性,naiive算法是O(n ^ 2).现在我正在寻找重新定义"相似性"或上述有效实现的想法.我可以想象一个涉及k-最近邻居的解决方案,比如PostGis几何最近邻居或者可能是最大的常见子序列算法(虽然我需要后者的"模糊"实现,因为"值"几乎不会完全相等) .
我们目前正在使用mySQL以防万一.
干杯,
Sören
Run Code Online (Sandbox Code Playgroud) 我正在开发一个交互式作业调度应用程序.给定一组具有相应容量/可用性配置文件的资源,一组要在这些资源上执行的作业以及一组约束,这些约束确定作业顺序和作业的最早/最晚开始/结束时间我想让用户手动移动周围的工作.基本上我希望用户能够"抓住"作业网络的节点并在不违反任何约束的情况下及时向前/向后拖动它.
该图显示了一个简单的示例配置.最后的三角形作业表示所有作业的最新完成时间,作业之间的连接线对作业施加顺序,灰色/绿色条表示资源可用性和负载.
您可以拖动任何作业来压缩计划.请注意,由于容量配置文件不同,作业的长度会发生变化.
我已经实现了一种有效的ad-hock算法.但是仍然存在失败并违反某些限制的情况.然而,由于作业车间调度是一个研究很充分的领域,有很多算法和启发式方法可以找到一般的NP难问题的最优(或相当好)解决方案 - 我认为解决方案应该存在于我更容易的子集中.我已经研究了约束编程主题甚至基于物理的解决方案(通过静态关节连接的刚体),但到目前为止找不到合适的东西.任何指针/提示/提示/搜索关键词对我来说?
language-agnostic algorithm scheduling graph constraint-programming
c++ ×4
algorithm ×3
sql ×3
graph ×2
sql-server ×2
t-sql ×2
bin-packing ×1
boost ×1
boost-graph ×1
enums ×1
foreign-keys ×1
integer ×1
lcs ×1
memory ×1
np-hard ×1
performance ×1
postgresql ×1
scheduling ×1
stl ×1
string ×1
timezone ×1
utc ×1
vector ×1
views ×1