标签: optimizer-hints

GCC内联C++是否在没有'inline'关键字的情况下运行?

在编译C++代码时,GCC是否会尝试通过选择未标记inline关键字的内联函数来优化速度?

c++ optimization gcc inline optimizer-hints

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

在SQL Server中的每个SELECT上使用(nolock)会发生什么?

我得到(nolock)优化器提示允许"脏读",但在非常具体的情况下,这是一个坏主意?我从未(nolock)在组织中看到如此广泛的使用,这让我感到紧张.我想用用户故事来解释一下."保罗做A,彼得做B,X代替Y".

sql sql-server optimizer-hints

13
推荐指数
1
解决办法
8062
查看次数

存储过程和OPTIMIZE FOR UNKNOWN

我已经阅读了SQL Server 2008 OPTIMIZE FOR UNKNOWN查询提示.我明白它是如何工作的.

不过,我有个问题在那里,并使用它.它不能在UDF中指定.它可以在存储过程中指定.但是,这篇 MSDN博客文章陈述如下:

4.将查询移入存储过程可以将其置于单独的过程上下文中,并且可以是优化器可以看到该值的好方法(注意:这也适用于SQL 2000)

在我看来,传递给存储过程的任何参数都将被"嗅探",从而帮助SQL Server编译最佳执行计划.这意味着将重新访问/重新编译缓存的计划(不确定该机制).然而,这是令人困惑的,因为它否定了OPTIMIZE FOR UNKNOWN的全部需求.

关于查询提示的MSDN文章没有涵盖我的问题.

有人可以为我解答这个问题,理想情况下是指向微软的一些东西来解决这个问题.谢谢.

sql-server stored-procedures query-hints optimizer-hints

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

优化两个简单的嵌套循环

我一直在尝试优化以下两个嵌套循环:

def startbars(query_name, commodity_name):

     global h_list
     nc, s, h_list = [], {}, {}
     query = """ SELECT wbcode, Year, """+query_name+""" 
                 FROM innovotable WHERE commodity='"""+commodity_name+"""' and

                 """+query_name+""" != 'NULL' """
     rows = cursor.execute(query)
     for row in rows:
         n = float(row[2])
         s[str(row[0])+str(row[1])] = n
         nc.append(n)
     for iso in result:
         try:
             for an_year in xrange(1961, 2031, 1):
                 skey = iso+str(an_year)
                 h_list[skey] = 8.0 / max(nc) * s[skey]
         except:
             pass
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢.

python nested-loops optimizer-hints

0
推荐指数
1
解决办法
878
查看次数

来自GCC的__builtin_expect概率

__builtin_expect来自GCC的程序员可以使用它来显示哪些变体经常出现且很少见.但 __builtin_expect只有"真实"和"假"(0%或100%概率)

对于一些大型项目来说,获取个人资料反馈很难变化(-fprofile-arcs),有时程序员确实知道,他在程序的某些方面有多大的分支概率.

可以给编译器一个提示,即分支的概率> 0%且<100%?

gcc built-in prediction optimizer-hints

0
推荐指数
2
解决办法
1426
查看次数