标签: optimization

重写多个if语句

我觉得这是一堆你知道我的意思.它的工作原理,但我觉得我在页面生命周期(加载和回发)方面做得太过分了,甚至我在每个if语句中都有冗余.

这是怎么回事:

  1. 在非常页面加载时调用此方法(无论是回发还是其他)
  2. 如果用户提交表单,则会减少他们的totalPoints(这些radiobuttons下面有一个按钮,允许他们提交和声明积分).

因此,我也在用户声明点(提交)之后立即调用此方法,该点将从下一次的总数中删除这些点.因此,基于其帐户中的总分,我需要在页面从上次提交刷新后启用/禁用这些单选按钮

private void SetPointsOptions()
{
    int totalPoints = customer.TotalPoints;

    rbn200Points.Text = "200 pts";
    rbn250Points.Text = "250 pts";
    rbn400Points.Text = "400 pts";
    rbn500Points.Text = "500 pts";
    rbn600Points.Text = "600 pts";

    // clear state of radio buttons & disable submit
    if (totalPoints < 200)
    {
        rbn200Points.Enabled = false;
        rbn250Points.Enabled = false;
        rbn400Points.Enabled = false;
        rbn500Points.Enabled = false;
        rbn600Points.Enabled = false;

        rbn200Points.Checked = false;
        rbn250Points.Checked = false;
        rbn400Points.Checked = false;
        rbn500Points.Checked = false;
        rbn600Points.Checked = false;

        btnClaimRewardPoints.Enabled = false; …
Run Code Online (Sandbox Code Playgroud)

asp.net optimization user-interface control-flow

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

如何优化

我在c#代码后面有一个方法......需要从Assemblies以及Child group Methods执行10000多行.我的问题是如何优化它?在我的页面中,我自己设计的gridview将超过40秒加载到500行.

c# asp.net optimization

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

MySQL加入优化

你能帮我优化这个查询吗?我使用此查询获取朋友列表及其详细信息和状态.在Athlon X2 6000上处理它需要大约0.08秒

我也不能使用materizlized视图,因为这经常变化.

SELECT p.userid, p.firstname, p.lastname, p.gender, p.dob, x.relationship,
 IF(p.picture !=1, 
   IF(p.gender != 'm','/sc/f-t.jpg','/sc/m-t.jpg'),
   concat('/sc/pthumb/', p.userid, '.jpg' )) AS picture
  FROM `social` AS p
  LEFT JOIN `friendlist` AS f1 ON (f1.`userid` = p.`userid` AND f1.`friendid` = 1 AND `f1`.`status` = 1)
  LEFT JOIN `friendlist` AS f2 ON (f2.`friendid` = p.`userid` AND f2.`userid` = 1 AND `f2`.`status` = 1)
  LEFT JOIN `x_relationship` AS x ON (x.`id` = p.`relationship`)
  LEFT JOIN `auth` as a ON (a.`userid` = p.`userid`) 
  WHERE 1 …
Run Code Online (Sandbox Code Playgroud)

mysql optimization join

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

PHP文件编写优化

编辑:此问题结束时的优化结果!

嗨,我有一个以下代码,首先扫描特定文件夹中的文件,然后逐行读取每个文件,并在众多"if ... else if"之后将新修改的文​​件写入另一个文件夹,其名称与打开时的名称相同.

问题是通过写一个行文件中的行似乎非常slooooow.默认的60秒限制仅适用于25个左右的文件.文件大小从10k到350k不等.

任何优化代码以使其运行更快的方法.是否更好地逐行读取,将每一行放入一个数组,然后将整个数组写入一个新的文本文件(逐行读/写).如果是的话,它是如何在实践中完成的.

提前谢谢-----代码如下-----

<?php

function scandir_recursive($path)    {
...
...
}



$fileselection = scandir_recursive('HH_new');
foreach ($fileselection as $extractedArray) {
$tableName = basename($extractedArray); // Table name
$fileLines=file($extractedArray);
    foreach ($fileLines as $line) {
            if(preg_match('/\(all-in\)/i' , $line)) {
                $line = stristr($line, ' (all-in)', true) .', and is all in';
                $allin = ', and is all in';
            }
            else {
                $allin = '';
            }
            if(preg_match('/posts the small blind of \$[\d\.]+/i' , $line)) {
                $player = stristr($line, ' posts …
Run Code Online (Sandbox Code Playgroud)

php optimization pcre file

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

SQL:优化查询以进行少量IO操作

如何重写以下查询以返回具有少量IO操作和较少响应时间的结果

select 
    *,
   (select Product_Name from InventoryMaster J2 where J1.ParentItem=J2.ItemId) as ParentName,
   (select Description from InventoryMaster J2 where J1.ParentItem=J2.ItemId) as ParentDesc
from
   InventoryMaster J1
where
   Flag like '%N%'
Run Code Online (Sandbox Code Playgroud)

InventoryMaster表有一个父Item列,它将存储另一条记录ItemId(用于父子关系)的某些记录

sql optimization

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

MySQL查询需要优化

我收到了这个问题:

SELECT user_id  
FROM basic_info  
WHERE age BETWEEN 18 AND 22 AND gender = 0  
ORDER BY rating  
LIMIT 50  
Run Code Online (Sandbox Code Playgroud)

该表看起来像(它包含大约700k行):

CREATE TABLE IF NOT EXISTS `basic_info` (  
  `user_id` mediumint(8) unsigned NOT NULL auto_increment,  
  `gender` tinyint(1) unsigned NOT NULL default '0',  
  `age` tinyint(2) unsigned NOT NULL default '0',  
  `rating` smallint(5) unsigned NOT NULL default '0',  
  PRIMARY KEY  (`user_id`),  
  KEY `tmp` (`gender`,`rating`),  
) ENGINE=MyISAM;  
Run Code Online (Sandbox Code Playgroud)

查询本身已经过优化,但它必须走大约20万行来完成他的工作.这是解释输出:

id  select_type     table   type    possible_keys   key     key_len     ref     rows    Extra  
1   SIMPLE  basic_info  ref     tmp,age     tmp …
Run Code Online (Sandbox Code Playgroud)

mysql optimization

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

是一种了解Index是否用于特定SQL查询的方法

有时在创建SQL查询时,假设在获取数据时引擎应使用其中一个索引.但不总是.如果没有一些必需品,发动机可能会逐个处理这些行.这是一种方式(对于sqlite)确定是否使用了索引?我的意思是在比rowid表格中的SELECT rowid更复杂的情况下由rowid 出现问题因为如果我们用简单的基数进行测试,时间测量将无济于事,它们之间的差异将是最小的.

sql sqlite optimization

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

是var x = new Stuff(); x.DoStuff(); 比新的Stuff()更快.DoStuff();?

var x = new Stuff(); x.DoStuff();new Stuff().DoStuff();吗?

我不知道为什么,但我在我的代码中注意到第一种方法使它更快,任何人都知道哪一种更快,为什么?

c# optimization

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

VS2008 c ++编译器会优化以下if语句吗?

if (false == x) { ...}
Run Code Online (Sandbox Code Playgroud)

而不是:

if (!x) { ... }
Run Code Online (Sandbox Code Playgroud)

if (false == f1()) { ...}
Run Code Online (Sandbox Code Playgroud)

而不是:

if (!f1()) { ... }
Run Code Online (Sandbox Code Playgroud)

我认为if(假= = ......版本更具可读性.你同意,或者你可以提出另一个技巧吗?它会一样快吗?谢谢.

这就是我不喜欢的原因!x:

if (25 == a->function1(12345, 6789) &&
    45 == b->function1(12345, 6789) &&
    !c->someOtherFunction(123)) { ... }
Run Code Online (Sandbox Code Playgroud)

以下似乎更好:

if (25 == a->function1(12345, 6789) &&
    45 == b->function1(12345, 6789) &&
    false == c->someOtherFunction(123)) { ... }
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction optimization coding-style code-readability

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

0
推荐指数
3
解决办法
565
查看次数