标签: optimization

产品和产品变体的数据库设计

我正在建立一个商业网站,并且一直在研究不同的方式来展示具有变体的产品。我正在尝试对隐形眼镜进行此操作,并想知道最好的方法是什么。

产品可以很简单,例如没有变体的镜片盒或镜片溶液,或者对于隐形眼镜,每个镜片最多可以有三个可配置的变体,具体取决于镜片,用于处方(例如功率,基弧、直径)。

在我的结构中,我有简单的产品,只是一个产品,没有父产品。隐形眼镜将存储为产品,每个变体将存储为引用其父代的单独产品,并且变体本身将使用 products_variants 表进行链接。

我有这样的结构:

products
- id
- parent_id
- name
- price
- type_id
- brand_id

type
- id
- name

brand
- id
- name

product_variant_group
- id
- name

product_variant_value
- id
- product_variant_group_id
- value

products_variants (isCrossRef = true for Propel relationships)
- id
- product_id
- product_variant_value_id
Run Code Online (Sandbox Code Playgroud)

我的代码已经很慢了,我什至还没有开始构建选择框来选择处方。

public function getPossibleVariants($productId)
    {
        $product = ProductQuery::create()->findPk($productId);
        $children = $product->getChildren();

        $options = array();

        foreach ($children as $child) {
            if ($child->countProductsVariantss()) {
                $variants = $child->getProductVariantValues();

                foreach …
Run Code Online (Sandbox Code Playgroud)

php optimization database-design e-commerce

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

如果从本地提供图像加载速度比 CDN 更快

我正在使用 create-react-app CLI 来构建我的应用程序。我注意到,从 CDN 加载图像比从 src 文件夹中的本地资源文件夹加载图像需要更长的时间。但大家都说 CDN 更快,但我没有注意到。同一张图片通过 CDN 加载需要 200 毫秒,而从本地文件夹加载则需要 4 毫秒。

您认为最好的方法是什么?

optimization performance cdn image-load reactjs

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

你会如何简化这段 javascript 代码?

在这里寻找一些建议来改进我的编码。

你如何使这段代码更短/更有效?

var resultsConstructionYear = readCookie('constructionYear');
if (resultsConstructionYear == 3) {
    document.getElementById('resultsUserConstructionYear').innerHTML = "Avant 1944";
} else if (resultsConstructionYear == 4) {
    document.getElementById('resultsUserConstructionYear').innerHTML = "Entre 1945 et 1974";
} else if (resultsConstructionYear == 5) {
    document.getElementById('resultsUserConstructionYear').innerHTML = "Entre 1975 et 1989";
} else if (resultsConstructionYear == 6) {
    document.getElementById('resultsUserConstructionYear').innerHTML = "Entre 1990 et 2009";
} else if (resultsConstructionYear == 7) {
    document.getElementById('resultsUserConstructionYear').innerHTML = "Après 2010";
} else {
    document.getElementById('resultsUserConstructionYear').innerHTML = "Inconnue";
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays optimization performance jquery

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

在一台机器上编译 Go 代码并在另一台机器上运行它会降低程序的性能吗?

如果我在 Mac 上编译 Go 程序(显然是针对 Linux 架构)并将其推送到 Linux 服务器上运行,会不会有任何性能损失?

我在某处读到 Go 编译器会针对正在编译的特定硬件优化二进制文件,例如用于多线程的 CPU 内核数量等?这是真的吗?

在一台机器上编译 Go 代码并在另一台机器上运行它是否安全(不会降低性能)?

deployment optimization performance compilation go

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

迭代 2D 结构时,迭代总长度更快还是使用嵌套循环迭代行和列更快?

我可以想到两种不同的方法来迭代二维范围,或者使用嵌套循环分别迭代行和列:

for (int i = 0; i < width * height; i++) {
    int x = i % width;
    int y = i / width;
    //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

或使用单个 for 循环迭代该区域并计算行和列:

for (int y = 0; y < height; y++) {
    for (int x = 0; x < width; x++) {
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,宽度和高度可能非常大,因此我需要知道哪一个在大量迭代中表现更好。

c++ optimization for-loop

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

静态与动态类函数(方法)-哪个更快?

有没有人对这三个 foo 函数之间的性能差异进行了适当的基准测试?

function foo_global() {
}

class SomeClass {
  public function foo_dynamic() {
  }

  public static function foo_static() {
  }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,全局最快,动态最慢,但我希望能获得更多学习成果。

谢谢

php optimization performance

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

减少参数

我的问题是我有两个论点vector<int>& ivecconst int& numb.有没有办法消除const int& numb?我只想对向量中的所有元素添加10.我也想消除if部分,因为它是空的.提前致谢.请递归地做.我的目标是在递归函数中使用尽可能少的参数.

#include <iostream>
#include <vector>
using namespace std;
vector<int> addten(vector<int>& ivec, const int& numb) {
  if (numb == 0) {

  } else { 
    ivec[numb - 1] += 10;
    addten(ivec, numb - 1);
  }
    return ivec;
}
Run Code Online (Sandbox Code Playgroud)

c++ optimization

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

在 Go 中创建一个变量作为长对象的引用

我有一个很长的对象update.PostType.RecievedFrom.Id,我需要在程序中多次访问它,

但我想通过为它创建一个变量来缩短它,这样它会更具可读性id := update.PostType.RecievedFrom.Id。现在我的问题是这个变量是否是一个“零开销”变量并且将在编译时被替换为宏,或者它确实会影响我的程序(如果是,我该如何避免它?)

optimization go

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

C语言中有没有更快的乘以6的方法?

我目前正在用 C 语言编写一个程序,该程序需要尽可能快地运行,并且目前正在考虑提高某些计算执行的速度。我知道最慢的运算是乘法和除法,并且我已用左/右移位将乘法/除法替换为 2 的幂。

我想知道我是否可以对乘以 6 做类似的事情,因为似乎这个操作在我的程序中经常出现。通常它会乘以 1 或 0 的数字,我觉得应该有一个好的方法来加速这个过程,但想不出任何方法。

c optimization

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

我应该在 C++ 项目中为各个玩家单独分类吗?

I\xe2\x80\x99m 目前正在用 C++ 开发一个基于文本的游戏,有 2 名玩家。两个玩家都具有相同的函数和相同的变量集,但是将玩家操作分为两个不同的类会更优化吗?

\n

I\xe2\x80\x99m 当前运行它的方式是在函数中使用参数,让玩家区分是哪个玩家\xe2\x80\x99s。然而,里面有很多复制粘贴,而且它的条件看起来有点混乱。它有效,它\xe2\x80\x99s只是很难阅读代码。

\n

这里\xe2\x80\x99是相同函数、相同变量集的示例:

\n
    int territoryPrice = 10000;\n    \n    if (player == 1){\n        if (pOneMoney >= territoryPrice){\n            pOneMoney -= territoryPrice;\n            pOneTerritories++;\n        }\n        else if (pOneMoney < territoryPrice){\n            cout << "You don't have enough money!\\n\\n";\n        }\n    }\n    else if (player == 2) {\n        if (pTwoMoney >= territoryPrice){\n            pTwoMoney -= territoryPrice;\n            pTwoTerritories++;\n        }\n        else if (pTwoMoney < territoryPrice){\n            cout << "You don't have enough money!\\n\\n";\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

检查参数 \xe2\x80\x9cplayer\xe2\x80\x9d 并相应地更改统计信息。

\n

c++ optimization class

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