我正在测试不同方法的速度,以动态地将HTML元素添加到DOM.我在这里建立了一个测试人员(代码是工作版,非常邋)).对于不同的浏览器,结果是(非常)不同的,Chrome获得速度的所有点,Opera是第二个 - 但这不是问题.
在Firefox中,我检测到清除div的问题(来自它的childNodes).当添加了大约50.000个div元素时,使用just来清除它需要很长时间
[div].innerHTML = "";
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?firefox是否为此实现了一些内在的垃圾收集方法?
对此效率的任何想法?...
CommentText.ToCharArray().Where(c => c >= 'A' && c <= 'Z').Count()
Run Code Online (Sandbox Code Playgroud) 我想为我的游戏实现互联网高分.并向他们所拥有的玩家提供反馈(不仅仅是top100或类似的东西).在普通的SQL中,它看起来像这样:
SELECT COUNT(*)FROM得分WHERE points>:newUsersPoints
和GQL有类似的东西
db.GqlQuery("SELECT*FROM Score WHERE points>:1",newUsersPoints).count()
但由于count()仅限于1000,因此在我的情况下它不会非常有用.您对如何实现这一点有任何想法吗?
我有两个
第一:
使用分片计数器的想法(http://code.google.com/intl/pl/appengine/articles/sharding_counters.html)创建新的"表格",用于存储某些范围内的分数(from_points,to_points)
汇总上表中range.to_points <newUsersPoints的所有计数器
在新分数为db.GqlQuery("SELECT*FROM Score WHERE points>:1 AND points> =:2 AND points <:3",newUsersPoints,range.from_points,range)的范围内查找分数大于分数的分数. to_points).count()+ sumfrom2
查找新分数所在的范围并增加其计数器
计数器的分割范围大于1000(或999),因此3.不会达到限制
在分数表中添加新分数
这是非常复杂和容易出错的.在添加分数之前,我们可能会增加一些范围和超时.(不是交易)
第二个想法:
有时候(每天一次?)按分数对所有分数进行排序并给它们新的位置(脚本可能超时,所以我们必须以块的形式进行)
要找出我们刚刚在哪个地方获得新分数
db.GqlQuery("SELECT*FROM Score WHERE points>:1 LIMIT 1",newUsersPoints).get().precalculated_position + 1
还有其他想法吗?
是否需要一个类的伴随对象(单例)?为什么我要创建一个类,比如说Foo并为它创建一个伴随对象?
我们有一个启动WCF服务器的应用程序,应用程序从中读取.
它启动并可以在所有Windows XP计算机上正常读取.
但是,在我们的Vista机器上,我们得到:
System.ServiceModel.AddressAccessDeniedException
"The process has no rights to this namespace."
System.Net.HttpListenerException
Run Code Online (Sandbox Code Playgroud)
URL位于localhost:
HTTP://本地主机:8731/ABC.Testing.Business.Core/SecurityService/WSDL
错误消息发送给我们:
http://msdn.microsoft.com/en-us/library/ms733768.aspx
我们做了它说的话:
netsh http add urlacl url=... user=...
Run Code Online (Sandbox Code Playgroud)
这改变了权利,但WCF服务仍无法在Vista上启动.
有没有人有这方面的经验可以推动我们前进?谢谢.
我有两个应用程序,我正在尝试统一.一个是我写的,另一个是我正在使用的CMS.我的身份验证发生在我编码的那个,我希望我的CMS知道这些信息.问题是CMS使用一个会话名称,而我的应用程序使用另一个会话名称.由于可能存在名称空间冲突,我不想让它们使用相同的,但我仍然希望得到这些信息.
是否可以在请求中间切换会话名称?例如,在CMS中执行以下操作:
//session_start already called by cms by here
$oldSession = session_name();
session_name("SESSION_NAME_OF_MY_APP");
session_start();
//get values needed
session_name($oldSession);
session_start();
Run Code Online (Sandbox Code Playgroud)
会这样的吗?如果在调用session_start()之后这样的事情可行,我在文档或网络上找不到任何内容.提示?
面对这个解决方案,我一直在考虑开发一个Web服务来获取信息,但显然只是从会话中获取它会更好,因为该信息已经可用.
谢谢!
现在,当用户想要退出我的应用程序时,我会做一些我必须做的事情(即断开与服务器的连接,保存用户数据......)然后我执行以下操作:
这需要几秒钟才能退出,并没有真正的用途(一切都已保存在服务器上,所以我真的不在乎那里发生了什么)
如果我使用它,我立即终止,没有任何我能想到的缺点:
System.Diagnostics.Process.GetCurrentProcess().Kill();
Run Code Online (Sandbox Code Playgroud)
为什么我不会终止我的进程并让CLR放弃AppDomain?
我知道小心处理你的共享资源(IO文件处理程序等)很重要(所以请不要回答:)),但一旦完成,是否真的有理由干净地退出我的应用程序?
有没有人有一些可以在.NET(C#)中使用的离散事件模拟库的经验?
尽管排队事件和调度它们的基本功能,但是有一些非确定性行为(例如故障模拟)会很好.
我有一些提示,我甚至考虑自己编写,但首先,我想收集一些建议.
谢谢.
附加信息:我不是明确要求免费产品,但是,奖项很重要:)只是为了确定我需要映射的字段,这里是一个产品的例子:http://www.holushko.com/index. HTML
从ThreadLocal变量读取多少比常规字段慢?
更具体地说,简单的对象创建比访问ThreadLocal变量更快还是更慢?
我认为它足够快,因此ThreadLocal<MessageDigest>实例比MessageDigest每次创建实例要快得多.但这也适用于字节[10]或字节[1000]吗?
编辑:问题是在调用ThreadLocalget 时真正发生的事情?如果那只是一个领域,就像任何其他领域一样,那么答案就是"它总是最快",对吧?
我有一个字符串的名字,在这个例子中是"markus johansson".
我正在尝试编写一个使'm'和'j'大写的程序:
name = "markus johansson"
for i in range(1, len(name)):
if name[0] == 'm':
name[0] = "M"
if name[i] == " ":
count = name[i] + 1
if count == 'j':
name[count] = 'J'
Run Code Online (Sandbox Code Playgroud)
我很确定这应该可行,但它给了我这个错误:
File "main.py", line 5 in <module>
name[0] = "M"
TypeError: 'str' object does support item assignment
Run Code Online (Sandbox Code Playgroud)
我知道有一个名为.title()的库函数,但我想做"真正的编程".
我该如何解决?
.net ×2
c# ×2
browser ×1
dom ×1
events ×1
firefox ×1
gql ×1
gqlquery ×1
java ×1
javascript ×1
linq ×1
oop ×1
performance ×1
php ×1
python ×1
scala ×1
session ×1
simulation ×1
string ×1
termination ×1
thread-local ×1
uppercase ×1
wcf ×1