小编Ben*_*oyt的帖子

基于Windows 8 XAML的应用程序是否明显快于HTML/CSS应用程序?

我们正在研究开发一款Windows 8 Metro风格的应用程序,它的照片非常重,因此我们关注UI性能.在iOS上这是一个简单的决定(Objective-C over HTML来获得我们需要的UI性能),但研究Windows 8我很难说XAML比HTML5/CSS快多少.

我已经看到了XAML和HTML5(如之间的一般比较这一个),并有一个SO答案触摸性能,但不提供数据来支持他的要求或解释为什么XAML更快.

根据我的阅读,HTML5/CSS使用IE10的渲染引擎进行渲染,这意味着它不是超级原生的,可能会更慢.但是我不确定XAML是如何渲染的,或者它是如何"原生"的.

有没有人在两种技术之间进行性能比较,或者您是否可以提供链接以进一步解释每种技术的呈现方式(考虑到性能)?

html5 xaml microsoft-metro windows-8 winrt-xaml

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

为什么Django admin list_select_related在这种情况下不起作用?

我有一个ModelAdmin包含外键字段的类list_display.但该模型的管理列表页面正在执行数百个查询,每行一个查询以从另一个表中获取数据而不是join(select_related()).

Django文档表明你可以list_select_related = True作为属性添加到你的ModelAdmin中以使其消失,但它似乎对我来说根本不起作用.这个问题似乎也提出了类似的问题,但他的解决方案尚不清楚,而且在我的案例中也不起作用.

这是我的模型和模型管理员的简化版本:

class Device(models.Model):
    serial_number = models.CharField(max_length=80, blank=True, unique=True)
    label = models.CharField(max_length=80, blank=True)

    def __str__(self):
        s = str(self.serial_number)
        if self.label:
            s += ': {0}'.format(self.label)
        return s

class Event(models.Model):
    device = models.ForeignKey(Device, null=True)
    type = models.CharField(max_length=40, null=False, blank=True, default='')

class EventAdmin(admin.ModelAdmin):
    list_display = ('__str__', 'device')
    list_select_related = True
Run Code Online (Sandbox Code Playgroud)

但是,添加它list_selected_related = True并没有改变任何东西.我仍然得到很多像这样的查询而不是SQL连接:

很多查询,而不是连接

任何想法为什么Django管理员似乎忽略我的list_select_related和做N查询?我正在使用Python 2.7和Django 1.3.3.

python django performance django-admin

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

iOS上的NSURLConnection不会尝试缓存大于50KB的对象

尽管Apple的文档另有说明,但NSURLCache在iOS上根本不进行任何磁盘(闪存)缓存.您可以子类化NSURLCache以更改获取和存储操作的行为以使用磁盘(如同SDURLCache),但由于以下严格限制了缓存的使用和实现方式,这不会像您期望的那样好用:

  • NSURLConnection甚至没有调用storeCachedResponse:forRequest:大约50KB的文件(确切地说> = 52428字节).这使得子类NSURLCache对我们的使用毫无意义(200KB图像),因为它甚至不会进入缓存.因此,我们必须在上面的级别手动添加缓存NSURLConnection.
  • 即使storeCachedResponse:forRequest:手动调用NSURLCache的内置函数,它也只会将响应存储在内存中,如果它小于大约180KB.我通过手动调用storeCachedResponse测试了这一点,并且发现currentMemoryUsage对于大约180KB以上的数据长度,之前/之后没有改变.所以我们也必须编写自己的LRU内存缓存.

有没有人注意到这些问题?还是有什么我想念的?

仅供参考,我在模拟器和iPad 2上运行iOS 4.3.

caching objective-c nsurlconnection nsurlcache ios

9
推荐指数
1
解决办法
3742
查看次数

为什么SCons VariantDir()没有将输出放在给定目录中?

我正在考虑将SCons用于新项目.它看起来真的很好,虽然我发现VariantDir很混乱.

我有一个简单的项目,在一个目录中有一些C源文件,我想在"正常"和"配置文件"模式下构建 - 与gcc有两组不同的选项.我希望输出分别进入普通/和配置文件/目录.

为了进行测试,我已经减少了一个源文件tc,其中有一个main().我的SConstruct文件位于同一目录中,如下所示:

normal = DefaultEnvironment(tools=['mingw'], CCFLAGS = '-O2')
normal.VariantDir('release', '.', duplicate=0)
normal.Program('t', ['t.c'])

#profile = normal.Clone(CCFLAGS='-O2 -pg', LINKFLAGS = '-pg')
#profile.VariantDir('profile', '.', duplicate=0)
#profile.Program('t', ['t.c'])
Run Code Online (Sandbox Code Playgroud)

当我运行scons时,我希望它将to和t.exe放入release /,但它将它们放在当前目录中.并且我无法运行它,并且3个配置文件行未注释 - 如果我这样做,我会收到此错误:

scons:***为同一目标指定了两个具有不同操作的环境:to

基本上,我不确定为什么我的VariantDir()调用没有告诉scons将输出放在指定的输出目录中release.

(我在文档和新闻组中读了很多,但没有回答这个问题.我最接近的是这个页面,它描述了类似的东西,但它涉及一个单独的src /目录和两个独立的scons文件,以及在它们之间导入/导出变量.这看起来不太愉快.)

c python makefile scons

8
推荐指数
3
解决办法
8454
查看次数

NSURLCache使用什么缓存算法?

Apple的NSURLCache类有很好的文档,但它没有说明它使用的缓存算法.它是LRU,LFU还是完全不同的东西?

我正在为iPad开发,我希望NSURLCache通过使用[NSURLCache setDiskCapacity](默认似乎为0)利用磁盘缓存功能来缓存照片.这个值的上限是多少?

caching objective-c nsurlconnection nsurlcache ios

8
推荐指数
1
解决办法
1100
查看次数

为什么即使我释放大量内存以响应内存警告,iOS也会终止我的应用程序?

我无法弄清楚为什么iOS会因为内存使用而终止我的应用程序(iPad,iOS 4),即使在释放大量内存以响应低内存警告之后也是如此.例如,这是一个典型的终止方案,我经常记录内存使用情况 - 查看"app"用法,每行的第一个KB值:

...
2011-12-14 13:25:42.343 Oyster[211:707] Memory usage (KB): app 268256, delta 6472, used 366800/373940
2011-12-14 13:25:43.292 Oyster[211:707] Memory usage (KB): app 273900, delta 5644, used 372444/381024
2011-12-14 13:25:44.159 Oyster[211:707] Memory usage (KB): app 282920, delta 9020, used 381464/389116
2011-12-14 13:25:45.184 Oyster[211:707] Memory usage (KB): app 272140, delta -10780, used 370684/379432
2011-12-14 13:25:46.109 Oyster[211:707] Memory usage (KB): app 260412, delta -11728, used 358956/365900
2011-12-14 13:25:48.443 Oyster[211:707] Received memory warning. Level=2
2011-12-14 13:25:48.454 Oyster[211:707] Memory usage (KB): app 9172, …
Run Code Online (Sandbox Code Playgroud)

memory-management objective-c terminate ios sdwebimage

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

一次启动多个async/await函数并单独处理它们

你如何HttpClient.GetAsync()一次启动多个请求,并在各自的响应回来后立即处理它们?首先我尝试的是:

var response1 = await client.GetAsync("http://example.com/");
var response2 = await client.GetAsync("http://stackoverflow.com/");
HandleExample(response1);
HandleStackoverflow(response2);
Run Code Online (Sandbox Code Playgroud)

但当然它仍然是顺序的.那么我试着立即启动它们:

var task1 = client.GetAsync("http://example.com/");
var task2 = client.GetAsync("http://stackoverflow.com/");
HandleExample(await task1);
HandleStackoverflow(await task2);
Run Code Online (Sandbox Code Playgroud)

现在任务同时启动,这很好,但当然代码仍然需要一个接一个地等待.

我想要的是能够在它进入时立即处理"example.com"响应,并在它进入时立即处理"stackoverflow.com"响应.

我可以将两个任务放在一个数组中,Task.WaitAny()在一个循环中使用,检查哪一个完成并调用适当的处理程序,但那么......这比常规的旧回调更好吗?或者这不是async/await的预期用例吗?如果没有,我将如何使用HttpClient.GetAsync()回调?

澄清一下 - 我所追求的行为就像这个伪代码:

client.GetAsyncWithCallback("http://example.com/", HandleExample);
client.GetAsyncWithCallback("http://stackoverflow.com/", HandleStackoverflow);
Run Code Online (Sandbox Code Playgroud)

c# asynchronous async-await windows-8

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

Python人员使用哪个路径模块或类而不是os.path?

只是想知道有多少人在Python中使用路径模块,比如Jason Orendorff的那个,而不是os.path用于加入和分割路径?你用过:

我知道Jason的路径模块被制作成PEP 355并被BDFL拒绝.这似乎主要是因为它试图在一个班级中做所有事情.

我们的用例主要是简化路径组件的连接和拆分,所以如果这样的路径类只实现了拆分/连接类型的操作,我们会很高兴.谁不想这样做:

path(build_dir, path(source_file).name)
Run Code Online (Sandbox Code Playgroud)

或这个:

build_dir / path(source_file).name
Run Code Online (Sandbox Code Playgroud)

而不是这个:

os.path.join(build_dir, os.path.basename(source_file))
Run Code Online (Sandbox Code Playgroud)

python path

7
推荐指数
1
解决办法
2649
查看次数

Python样式:"名称空间"的小写类名?

我知道类名的PEP-8约定是ClassName.但是我们经常使用小类作为伪命名空间,枚举等.换句话说,不是你要实例化的真正的类.我们选择了这种"类"的小写命名约定,因为它们实际上是命名空间/枚举名称.

有没有其他人有这种内部风格,或其他方式来实现同样的事情?

一个例子:

import urllib2

class config:  # pseudo-namespace for module-level config variables
    api_url = 'http://example.com/api'
    timeout = 1.5
    debug = True

class countries:  # pseudo-enum
    new_zealand = 1
    united_states = 2

def func():
    if config.debug:
        print 'Calling func()'
    return urllib2.urlopen(config.api_url)
Run Code Online (Sandbox Code Playgroud)

python coding-style

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

大型PostgreSQL表:最好添加列或创建新表来存储元数据?

我有一张大桌子(约200万行),每行代表一张图像。我想为每个图像以JSON格式存储EXIF元数据。这个JSON Blob每个图片大约6KB。

这个EXIF元数据不会被频繁查询/使用,我想知道将它存储在具有两列(imageid,exifjson)的单独表中是否会更有效,或者PostgreSQL是否会只处理它可以作为text现有表格上的一列。我不想添加该列来显着减慢表上的常规查询,也不希望添加数百万个6KB的文本值来压低PostgreSQL。

sql postgresql json database-design

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

Python正则表达式,匹配多个整数

下面的代码打印空白而不是'11',我无法弄清楚原因.更换[0-9]*[0-9]{1,2}打印"11".任何人都可以帮忙吗?

import re
test_string = 'cake_11xlfslijg'
pattern = '.*(?P<order>[0-9]*)'
result = re.compile(pattern).search(test_string)
if result:
    print 'result'
    print result.group('order')
else:
    print result
Run Code Online (Sandbox Code Playgroud)

python regex

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