问题列表 - 第2289页

如果实数可以用double精确表示,我怎么能写一个C++函数返回true?

如果实数可以用double精确表示,我怎么能写一个C++函数返回true?

bool isRepresentable( const char* realNumber )
{
   bool answer = false;
   // what goes here?
   return answer;
}
Run Code Online (Sandbox Code Playgroud)

简单测试:

assert( true==isRepresentable( "0.5" ) );
assert( false==isRepresentable( "0.1" ) );
Run Code Online (Sandbox Code Playgroud)

c++ floating-point

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

并发数据结构设计

我试图提出用于高吞吐量C++服务器的最佳数据结构.数据结构将用于存储从几个到几百万个对象的任何内容,并且不需要排序(尽管可以非常便宜地提供唯一的排序键).

要求是它可以支持有效的插入,理想的是O(1),适度有效的移除和有效的遍历.它不需要支持查找操作(除了可能需要删除).

扭曲是它在修改时必须是线程安全的,而其他线程枚举数据结构.这意味着一个简单的红黑树不起作用,因为一个线程不能插入一个元素(并执行必要的树旋转)而不会弄乱其他线程持有的任何游标.

这是接受使用读/写锁和推迟写操作,直到所有的读者已经完成,因为读操作可以长期居住.如果有读取器发生的插入对于该读取器是否可见则无关紧要.

内存占用也非常重要,小的显然更好!

有什么建议吗?

回复评论:

谢谢你的回答.

不,插入不能使现有迭代器无效.迭代器可能会或可能不会看到新插入,但是如果没有发生插入,它们必须看到他们将看到的所有内容.

删除是必需的,但是由于更高级别的规则,我可以保证迭代器永远不会停止在可以删除的项目上.

锁定游标的每个节点会对性能产生太大影响.可能有多个线程同时读取,并且多个线程在锁中使用的任何类型的内存热点都会占用内存带宽(因为我们发现了很难的方法!).即使是一个简单的多线程调用InterlockedIncrement的读者也无法完全扩展.

我同意链表可能是最好的方法.删除是罕见的,因此支持后向指针支持O(1)删除的内存代价是昂贵的,我们可以根据需要单独计算它们,因为删除往往是批处理操作.

幸运的是,只要在更改头指针之前在插入的节点中更新指针,插入到链表中就不需要对读者进行任何锁定.

锁定 - 复制 - 解锁的想法很有趣.所涉及的数据量太大,无法作为读者的默认工作,但当它们与读者发生冲突时,它可以用于作家.读/写锁将保护整个结构,如果数据结构与读取器发生冲突,则写入将克隆数据结构.写作比读取要少得多.

c++ concurrency data-structures

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

将电子邮件组织成线程的算法?

是否有任何命名/着名/特别好的算法用于将电子邮件组织到线程中?

我想在我的网站上添加一个类似于Google网上论坛(和其他邮件列表)的功能,我只是想知道是否有任何已发布的此类组织算法.我知道滚动我自己可能相当容易,但在可通行算法和好算法之间的用户体验可能会有很大差异.

已经在ruby中实现的算法的加分点!

ruby email email-threading

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

对所有基于文本的字段使用泛型varchar(255)是否有缺点?

我有一个contacts包含字段,如表postcode,first name,last name,town,country,phone number等等,所有这些都被定义为VARCHAR(255)即使没有这些领域都不会接近有255个字符.(如果你想知道,就是这样,因为Ruby on Rails迁移VARCHAR(255)默认情况下将字符串字段映射到我并且我从不打扰覆盖它).

由于VARCHAR只会领域的实际字符的数目存储(连同字段长度),是否有任何明显的优势(性能或其他方式)使用,比方说,VARCHAR(16)VARCHAR(255)

此外,大多数这些字段都有索引.字段上的较大VARCHAR大小是否会影响索引的大小或性能?

仅供我使用MySQL 5.

mysql sql

97
推荐指数
5
解决办法
2万
查看次数

CRTP避免动态多态

如何在C++中使用CRTP来避免虚拟成员函数的开销?

c++ virtual templates crtp

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

为什么不是所有政府资助的软件都是开源的?

shs的问题更进一步......为什么并非所有政府资助的软件都是开源的? 为了安全起见,我可以看到排除一些,但其余的? 我们不是因为纳税人已经付钱了吗?政府没有权利,只有人民,所以政府如何获得许可呢?谁是被许可人?由于政府是人民,这将是公众.


对于那些认为政府有权利的人,我敦促你们阅读"美国宪法".

open-source

13
推荐指数
5
解决办法
1321
查看次数

我需要一个城市到时区的映射列表 - 获得它的最佳方式?

我有一份城市,州/省和国家列表,我需要轻松找到各自的时区.具体来说,我需要知道他们映射到哪个Windows TimeZone.到目前为止,这是一个艰难的过程,因为没有简单的方法可以将城市传递给某个东西并获得时区(时区是一个偏移量,时区是否支持夏令时).

目前的流程是使用http://www.batchgeocode.com获取城市的纬度/经度(真正称为雅虎服务),然后拨打http://www.EarthTools.org获取时区信函,映射到偏移量.问题是雅虎服务有时会返回不良的经度/纬度,而earthtools.org对DST信息知之甚少,因此映射到正确的TimeZone Id是一个繁琐的手动过程.

我不能成为第一个做到这一点的人 - 有没有人知道更好的方法,或者有哪些列表有我需要的信息?

谢谢.

timezone

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

Oracle Analytics - sql查询的分区和排序

在回答另一个用户的问题(TheSoftwareJedi)时出现了这个问题 ......

鉴于下表:

ROW_PRIORITY   COL1     COL2    COL3
0              0.1      100     <NULL>
12             <NULL>   <NULL>  3
24             0.2      <NULL>  <NULL>
Run Code Online (Sandbox Code Playgroud)

以及以下查询:

select  'B' METRIC, ROW_PRIORITY,
        last_value(col1 ignore nulls) over (ORDER BY ROW_PRIORITY) col1,
        last_value(col2 ignore nulls) over (ORDER BY ROW_PRIORITY) col2,
        last_value(col3 ignore nulls) over (ORDER BY ROW_PRIORITY) col3
from    (SELECT * FROM ZTEST);
Run Code Online (Sandbox Code Playgroud)

我得到这些结果:

METRIC  ROW_PRIORITY    COL1    COL2    COL3
B            0          0.1     100     <NULL>
B           12          0.1     100     3
B           24          0.2     100     3
Run Code Online (Sandbox Code Playgroud)

预期:

METRIC  ROW_PRIORITY …
Run Code Online (Sandbox Code Playgroud)

oracle analytic-functions

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

我怎么知道进程是否正在运行?

当我获得对a的引用时System.Diagnostics.Process,如何知道进程当前是否正在运行?

.net c# process

145
推荐指数
5
解决办法
21万
查看次数

如何在使用异步调用时从javascript更新元刷新?

我有一个使用元刷新到退出页面的系统,它在空闲用户之后清理.(别担心,服务器也会超时)

我开始通过ajax进行一些操作(不是真正的xml,但这不是重点).我可以运行从异步请求返回的javascript,所以我想知道是否可以重置页面上的元刷新,以便它有更长的超时.通常的setTimeout调用只是添加一个新的超时,但是它们会替换元超时吗?

javascript ajax

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