标签: optimization

如何在C中编写自己的矢量结构

这里我有一个指向第一个元素的指针和一个int来保存元素的数量.如何在内存分配中添加malloc和calloc?

struct vector_new           
  {
  char *start;
  int count;
  }
Run Code Online (Sandbox Code Playgroud)

c optimization vector

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

帮助优化SQL查询

我有一个巨大的查询,这些年来逐渐增长,所有的iv都是为了满足增长而增加子程序.我现在的问题是这个查询大约需要3分钟才能运行.有人可以帮我优化这个查询

SELECT ENTRY_1.REP_CODE,CONTACT_1.NAME,
       (select sum((d2.total_goods-d2.total_cost)*et2.sign) 
        from detail d2 
        join entry e2 on d2.entry_id=e2.entry_id 
        join entry_type et2 on et2.entry_type=e2.entry_type 
        join rep r2 on e2.rep_code=r2.rep_code 
        join contact c2 on r2.contact_id=c2.contact_id 
        where ((d2.detail_type = 'O' and d2.charged_qty<d2.qty 
        and d2.nocharge_qty=0) 
        or (d2.detail_type = 'N' and e2.entry_type in('SINV','SCRN','DREC','DSRF'))
        or (( e2.entry_type = 'SJIN' ) and ( d2.total_goods = 0 ))) 
        and c2.contact_id=contact_1.contact_id 
        and (e2.year_num=entry_1.year_num and e2.period_num=entry_1.period_num)) MTD_GP,
    -- get the month to date sales  
       (select sum((d2.total_goods)*et2.sign) 
        from detail d2 
        join entry e2 on d2.entry_id=e2.entry_id 
        join …
Run Code Online (Sandbox Code Playgroud)

sql optimization select

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

在删除/免费优化掉函数调用之前不进行空检查吗?

关于是否在删除之前进行空检查有几个问题.现在,我仍然在许多生产代码中看到过这样的做法,我不相信所有程序员都不知道这delete 0;是安全的事实.

所以,我不知道是否值得假设之前的null检查delete/free会通过保存函数调用来提供性能优化?

if(0 != p)
  delete p;
Run Code Online (Sandbox Code Playgroud)

c++ optimization null delete-operator

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

模板(元)编程总是只有一种实现方式吗?

研究了一些template程序,特别是在编译时结果推导成常量的元程序,我了解到通常只有一种方法可以实现某些东西.例如:像factorial示例一样简单,或者像is_base_of一样复杂

我永远无法考虑具有完全不同逻辑的此类代码的完美替代实现.这是一个真实的假设吗?

如果这个假设是真的意味着,每当我们使用模板技巧实现某些东西时,我们总是确信,它是最好的代码,我们不必再担心优化编译时间了.

[注意:我没有提到我们template使用的一般用法class和功能.但用于推断编译时常量的用法.

c++ optimization templates metaprogramming

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

如何使用游标优化此查询?

DECLARE tableList CURSOR FOR    
    SELECT  t.name 
    FROM sys.tables t
        INNER JOIN sys.columns c
        ON t.object_id = c.object_id
    WHERE
            t.name NOT LIKE 'z%'
        AND t.name NOT LIKE '%delete%'
        AND t.name <> 'tblUsers'
        AND t.name <> 'tblUserLogins'
        AND t.name <> 'searchR'
        AND t.name <> 'tblUserPortfolio'
        AND t.name <> 'alerts_User'
        AND c.name LIKE 'userid'
        OR  c.name LIKE 'user_id'
    ORDER BY name
OPEN tableList
FETCH NEXT FROM tableList
INTO @tablename
Run Code Online (Sandbox Code Playgroud)

以上是建立游标的查询,并且它使用了不少LIKE,NOT LIKE操作,我认为可能是运行昂贵.

所以我问是否有更好的方法来构建查询而不使用太多LIKE/NOT LIKE并使其更优化.

谢谢.

编辑:

这里使用游标的意图是Loop …

sql t-sql sql-server optimization stored-procedures

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

Javascript Fibonacci nth Term Optimization

我最近对算法产生了兴趣,由于其简单性,斐波纳契序列引起了我的注意.

我已经设法将一些东西放在javascript中,在网上阅读大量信息后,在不到15毫秒的时间内计算出斐波那契序列中的第n个项.它上升到1476 ... 1477是无穷大,1478是NaN(根据javascript!)

我为代码本身感到自豪,除了它是一个彻头彻尾的怪物.

所以这是我的问题:A)有更快的方法来计算序列吗?B)是否有更快/更小的方法来乘以两个矩阵?

这是代码:

//Fibonacci sequence generator in JS
//Cobbled together by Salty
m = [[1,0],[0,1]];
odd = [[1,1],[1,0]];
function matrix(a,b) {
    /* 
        Matrix multiplication
        Strassen Algorithm
        Only works with 2x2 matrices.
    */
    c=[[0,0],[0,0]];
    c[0][0]=(a[0][0]*b[0][0])+(a[0][1]*b[1][0]);
    c[0][1]=(a[0][0]*b[0][1])+(a[0][1]*b[1][1]);
    c[1][0]=(a[1][0]*b[0][0])+(a[1][1]*b[1][0]);
    c[1][1]=(a[1][0]*b[0][1])+(a[1][1]*b[1][1]);
    m1=(a[0][0]+a[1][1])*(b[0][0]+b[1][1]);
    m2=(a[1][0]+a[1][1])*b[0][0];
    m3=a[0][0]*(b[0][1]-b[1][1]);
    m4=a[1][1]*(b[1][0]-b[0][0]);
    m5=(a[0][0]+a[0][1])*b[1][1];
    m6=(a[1][0]-a[0][0])*(b[0][0]+b[0][1]);
    m7=(a[0][1]-a[1][1])*(b[1][0]+b[1][1]);
    c[0][0]=m1+m4-m5+m7;
    c[0][1]=m3+m5;
    c[1][0]=m2+m4;
    c[1][1]=m1-m2+m3+m6;
    return c;
}
function fib(n) {
    mat(n-1);
    return m[0][0];
}
function mat(n) {
    if(n > 1) {
        mat(n/2);
        m = matrix(m,m);
    }
    m = (n%2<1) ? m : …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm optimization fibonacci

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

世界各国在一个PHP阵列上,如果静态更好?

我正在一个用户可以选择他的国家的网站上工作,现在我已经创建了一个包含alla国家名称和相关代码的数组,例如意大利的代码:

<?php
$nations[] = array ("code" => "af", "name" => "Afghanistan");
$nations[] = array ("code" => "ax", "name" => "Aland Islands");
$nations[] = array ("code" => "al", "name" => "Albania");
$nations[] = array ("code" => "dz", "name" => "Algeria");
$nations[] = array ("code" => "as", "name" => "American Samoa");
$nations[] = array ("code" => "ad", "name" => "Andorra");
$nations[] = array ("code" => "ao", "name" => "Angola");
$nations[] = array ("code" => "ai", "name" => "Anguilla");
$nations[] = array ("code" …
Run Code Online (Sandbox Code Playgroud)

php arrays optimization

-1
推荐指数
1
解决办法
4143
查看次数

Python | 效率和性能

假设我要通过运行单个脚本在列表中保存100个浮点数,很可能需要一些内存来处理.因此,如果此代码每次都作为应用程序的要求执行,则会有性能命中,所以我的问题是如何保持效率以获得性能.

模拟代码:

def generate_lglt():
    float1, float2 = 27.2423423, 12.2323245
    lonlats = []
    for val in range(100, 0, -1):
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
    print lonlats
Run Code Online (Sandbox Code Playgroud)

谢谢.

python optimization premature-optimization

-1
推荐指数
1
解决办法
259
查看次数

使用查找表进行优化

我为一个程序制作了一些c代码,它对声音数据做了一些心理声学.

有一段代码运行得非常慢.

我认为最好使用查找表.如何实施呢?

任何指针或帮助将不胜感激!:)

c optimization lookup-tables

-1
推荐指数
1
解决办法
1048
查看次数

CSS:哪个浏览器更快?颜色:#FFF; 或颜色:#ffffff;

首先,是的,我知道渲染相同的颜色,我的问题是关于速度的简单查询.

这只是关于优化页面加载速度的一个主题,但标题中的哪些选项将呈现得更快(即使它是最小的差异)?

我的思维过程是,使用速记版本(#fff),浏览器的任务是假设hex-dec的其余部分是fff.另一方面,由于额外的显式字符,缩写版可能需要更长或更短的时间.

我想有人可能会对这个话题有所了解.

css optimization

-1
推荐指数
1
解决办法
315
查看次数