javascript

java

python

c#

node.js

reactjs

android

php

c++

ruby-on-rails

html

jquery

git

css

ios

sql

.net

c

<img src="//i.stack.imgur.com/bk9VA.png" alt="" class="sponsor-tag-img" width="18" height="16"/>android

string

java - 加速IntelliJ-Id

我上周使用intelliJ进行Scala开发并获得了8 GB的新内存,所以我想:时间使用它。 我检查了我的任务管理器,发现了使用~250mb的intelliJ。 从eclipse我知道调整JVM选项对提高速度有很大帮助,所以我用谷歌搜索...

并为OS X找到了这个我无法立即找到JVM选项,所以我开始调整Xmx。 在1 GB时,我意识到它不再开始了。 我检查了intelliJ java版本,发现它过时了,32位。

因此,为了使用您当前的JDK和64位,您必须将链接更改为:

IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe

IntelliJ IDEA Community Edition 10.0.2\bin\idea.BAT

并调整&#34;开始&#34;

蝙蝠寻找.bat现在使用64位。

我当前的VM选项,位于

...\IntelliJ IDEA Community Edition 10.0.2\bin\idea.exe.vmoptions

-Xms512m
-Xmx1024m
-XX:MaxPermSize=512m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC

而不是.bat,你可以使用-XX:+UseConcMarkSweepGC,这是

桌面应用程序的可接受选择,   但我已经改变了吞吐量   收藏家最近。 因为有了   快速的机器和足够小的堆,   你有快速暂停,更多的吞吐量   没有碎片问题   (ijuma。#sclala)

变化:

-XX:+UseConcMarkSweepGC //removed
// removed, because not needed with the lastest JVM.
    -XX:+UnlockExperimentalVMOptions
    -XX:+DoEscapeAnalysis
    -XX:+UseCompressedOops

我现在坚持这些选择。 我真的很想知道你的经历。

哪种选择最适合您?如何通过.bat运行intelliJ时隐藏此cmd窗口?:)

顺便说一句,这是调整intelliJ的另一个链接。 基本上它在p.20 / 21上说关闭Windows恢复和系统目录的防病毒。

另一种加速intelliJ的方法是将intellij系统文件夹放在ramdrive上(感谢OlegYch | h)。

from idea.properties 
idea.system.path=${idea.home}/.IntelliJIdea/system

请参阅Win 7 64位RAM驱动器的超级用户或此超级用户。1 GB对我来说似乎没问题。

朋友给我的另一个提示是从防病毒软件中排除项目目录(扫描访问时)

调整Eclipse有类似的帖子:

  • Eclipse Helios 3.6
  • Eclipse Juno 4.2
  • 指定JVM以启动Eclipse
trans by 2019-08-22T05:40:53Z

c# - 静态方法与实例方法的性能

我的问题涉及静态方法与实例方法的性能特征及其可伸缩性。 假设在这种情况下,所有类定义都在一个程序集中,并且需要多个离散指针类型。

考虑:

public sealed class InstanceClass
{
      public int DoOperation1(string input)
      {
          // Some operation.
      }

      public int DoOperation2(string input)
      {
          // Some operation.
      }

      // … more instance methods.
}

public static class StaticClass
{
      public static int DoOperation1(string input)
      {
          // Some operation.
      }

      public static int DoOperation2(string input)
      {
          // Some operation.
      }

      // … more static methods.
}

上述类表示辅助样式模式。

在实例类中,解析实例方法需要花费一些时间来与StaticClass相反。

我的问题是:

  1. 保持状态不是问题(不需要字段或属性),使用静态类总是更好吗?

  2. 如果有相当多的静态类定义(例如100,每个都有许多静态方法),与相同数量的实例类定义相比,这会对执行性能或内存消耗产生负面影响吗?

  3. 当调用同一实例类中的另一个方法时,实例解析是否仍然发生? 例如,使用[this]关键字,例如this.DoOperation2("abc"),来自同一实例的DoOperation1

trans by 2019-08-22T02:59:39Z

javascript - 将HTML标记转换为HTML实体的最快方法?

我正在编写Chrome扩展程序,其中涉及执行大量以下工作:通过将htmlspecialchars(str, ENT_NOQUOTES),>&分别转换为&lt;,&gt;&amp;来清理可能包含HTML标记的字符串。

(换句话说,与PHP的htmlspecialchars(str, ENT_NOQUOTES)相同 - 我认为没有必要转换双引号字符。)

这是迄今为止我发现的最快的功能:

function safe_tags(str) {
    return str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;') ;
}

但是,当我必须一次性运行几千个字符串时,仍然存在很大的滞后。

任何人都可以改进吗? 它主要用于10到150个字符之间的字符串,如果这有所不同的话。

(我有一个想法是不打扰编码大于号 - 这会有任何真正的危险吗?)

trans by 2019-08-21T14:12:46Z

python - []和{} vs list()和dict(),哪个更好?

我明白它们本质上都是一样的,但在风格方面,哪个更好(更多Pythonic)用于创建空列表或字典?

trans by 2019-08-21T07:09:01Z

linux - IPC性能:命名管道vs

每个人似乎都说命名管道比插座IPC快。 他们快多快了? 我更喜欢使用套接字,因为它们可以进行双向通信并且非常灵活,但如果数量相当大,则会选择速度而不是灵活性。

trans by 2019-08-20T13:47:30Z

java - 如何配置我的Android应用程序?

我需要找到Android应用中瓶颈的位置。

我可以使用哪些分析工具或技术?

trans by 2019-08-19T15:20:01Z

编译C#Lambda表达式性能

考虑以下对集合的简单操作:

static List<int> x = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var result = x.Where(i => i % 2 == 0).Where(i => i > 5);

现在让我们使用表达式。 以下代码大致相当:

static void UsingLambda() {
    Func<IEnumerable<int>, IEnumerable<int>> lambda = l => l.Where(i => i % 2 == 0).Where(i => i > 5);
    var t0 = DateTime.Now.Ticks;
    for (int j = 1; j < MAX; j++) 
        var sss = lambda(x).ToList();

    var tn = DateTime.Now.Ticks;
    Console.WriteLine("Using lambda: {0}", tn - t0);
}

但是我想在运行中构建表达式,所以这是一个新的测试:

static void UsingCompiledExpression() {
    var f1 = (Expression<Func<IEnumerable<int>, IEnumerable<int>>>)(l => l.Where(i => i % 2 == 0));
    var f2 = (Expression<Func<IEnumerable<int>, IEnumerable<int>>>)(l => l.Where(i => i > 5));
    var argX = Expression.Parameter(typeof(IEnumerable<int>), "x");
    var f3 = Expression.Invoke(f2, Expression.Invoke(f1, argX));
    var f = Expression.Lambda<Func<IEnumerable<int>, IEnumerable<int>>>(f3, argX);

    var c3 = f.Compile();

    var t0 = DateTime.Now.Ticks;
    for (int j = 1; j < MAX; j++) 
        var sss = c3(x).ToList();

    var tn = DateTime.Now.Ticks;
    Console.WriteLine("Using lambda compiled: {0}", tn - t0);
}

当然它并不完全像上面那样,所以公平地说,我稍微修改了第一个:

static void UsingLambdaCombined() {
    Func<IEnumerable<int>, IEnumerable<int>> f1 = l => l.Where(i => i % 2 == 0);
    Func<IEnumerable<int>, IEnumerable<int>> f2 = l => l.Where(i => i > 5);
    Func<IEnumerable<int>, IEnumerable<int>> lambdaCombined = l => f2(f1(l));
    var t0 = DateTime.Now.Ticks;
    for (int j = 1; j < MAX; j++) 
        var sss = lambdaCombined(x).ToList();

    var tn = DateTime.Now.Ticks;
    Console.WriteLine("Using lambda combined: {0}", tn - t0);
}

现在结果为MAX = 100000,VS2008,调试ON:

Using lambda compiled: 23437500
Using lambda:           1250000
Using lambda combined:  1406250

调试关闭:

Using lambda compiled: 21718750
Using lambda:            937500
Using lambda combined:  1093750

惊喜。 编译后的表达式比其他替代方案慢大约17倍。 现在问题来了:

  1. 我在比较非等效表达式吗?
  2. 是否有一种机制可以使.NET&#34;优化&#34; 编译后的表达式?
  3. 我如何以编程方式表达相同的连锁电话UsingLambdaCombined

更多统计数据。 Visual Studio 2010,调试ON,优化OFF:

Using lambda:           1093974
Using lambda compiled: 15315636
Using lambda combined:   781410

调试ON,优化ON:

Using lambda:            781305
Using lambda compiled: 15469839
Using lambda combined:   468783

调试OFF,优化ON:

Using lambda:            625020
Using lambda compiled: 14687970
Using lambda combined:   468765

新惊喜。 从VS2008(C#3)切换到VS2010(C#4),使得UsingLambdaCombined比原生lambda更快。


好的,我找到了一种方法来将lambda编译的性能提高一个数量级以上。 这是一个提示; 运行探查器后,92%的时间用于:

System.Reflection.Emit.DynamicMethod.CreateDelegate(class System.Type, object)

嗯...为什么在每次迭代中都会创建一个新的委托? 我不确定,但解决方案是在一个单独的帖子中。

trans by 2019-08-19T02:26:55Z

在C ++中实现长方程时,如何通过高级方法提高性能

我正在开发一些工程模拟。 这包括实现一些长方程,例如这个方程,以计算橡胶类材料中的应力:

T = (
    mu * (
            pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a
            * (
                pow(l1 * l2 * l3, -0.1e1 / 0.3e1)
                - l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1
            ) * pow(l1 * l2 * l3, 0.1e1 / 0.3e1) / l1
            - pow(l2 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a / l1 / 0.3e1
            - pow(l3 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a / l1 / 0.3e1
        ) / a
    + K * (l1 * l2 * l3 - 0.1e1) * l2 * l3
) * N1 / l2 / l3

+ (
    mu * (
        - pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a / l2 / 0.3e1
        + pow(l2 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a
        * (
            pow(l1 * l2 * l3, -0.1e1 / 0.3e1)
            - l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1
        ) * pow(l1 * l2 * l3, 0.1e1 / 0.3e1) / l2
        - pow(l3 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a / l2 / 0.3e1
    ) / a
    + K * (l1 * l2 * l3 - 0.1e1) * l1 * l3
) * N2 / l1 / l3

+ (
    mu * (
        - pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a / l3 / 0.3e1
        - pow(l2 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a / l3 / 0.3e1
        + pow(l3 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a
        * (
            pow(l1 * l2 * l3, -0.1e1 / 0.3e1)
            - l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1
        ) * pow(l1 * l2 * l3, 0.1e1 / 0.3e1) / l3
    ) / a
+ K * (l1 * l2 * l3 - 0.1e1) * l1 * l2
) * N3 / l1 / l2;

我使用Maple生成C ++代码以避免错误(并通过繁琐的代数节省时间)。 由于此代码执行数千次(如果不是数百万次),性能是一个问题。 不幸的是,到目前为止数学只是简化了; 长方程是不可避免的。

我可以采取什么方法来优化此实施? 我在寻找实施这些方程式时应该应用的高级策略,而不一定是针对上述示例的特定优化。

我正在使用g ++与pow(x, 0.1e1/0.3e1)进行编译。

更新:

我知道有很多重复的表达式,我假设编译器会处理这些; 到目前为止我的测试表明它确实如此

pow(x, 0.1e1/0.3e1)都是正实数(不为零)。

我已将pow(x, 0.1e1/0.3e1)替换为等效变量:cbrt(x)。这确实有助于提高性能。

cbrt(x)替换pow(x, 0.1e1/0.3e1)是一个很好的建议。

这将在CPU上运行,在不久的将来,这可能会在GPU上运行得更好,但目前该选项不可用。

trans by 2019-08-18T13:22:43Z

C#vs C - 性能差异很大

我发现C anc C#中类似代码之间存在巨大的性能差异。

C代码是:

#include <stdio.h>
#include <time.h>
#include <math.h>

main()
{
    int i;
    double root;

    clock_t start = clock();
    for (i = 0 ; i <= 100000000; i++){
        root = sqrt(i);
    }
    printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);   

}

而C#(控制台应用程序)是:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime startTime = DateTime.Now;
            double root;
            for (int i = 0; i <= 100000000; i++)
            {
                root = Math.Sqrt(i);
            }
            TimeSpan runTime = DateTime.Now - startTime;
            Console.WriteLine("Time elapsed: " + Convert.ToString(runTime.TotalMilliseconds/1000));
        }
    }
}

使用上面的代码,C#在0.328125秒(发布版本)完成,C运行11.14秒。

使用mingw将c编译为可执行的Windows。

我总是假设C / C ++更快或至少与C#.net相当。 究竟是什么导致C运行速度慢了30多倍?

编辑:看来C#优化器正在删除root,因为它没有被使用。我将根分配更改为root + =并在结尾处打印出总计。我还使用cl.exe编译了C,其中/ O2标志设置为最大速度。

结果现在是:C为3.75秒C#2.61秒

C仍然需要更长的时间,但这是可以接受的

trans by 2019-08-18T10:50:02Z

性能 - SQL SELECT speed int vs varchar

我正在创建一张桌子,这让我很奇怪。

如果我存储,比如拥有制造商的汽车(fx宝马,奥迪等),如果我将make存储为int或varchar,它会对查询速度产生任何影响。

也是

SELECT * FROM table WHERE make = 5 AND ...;

更快/更慢

SELECT * FROM table WHERE make = 'audi' AND ...;

或者速度或多或少相同?

trans by 2019-08-14T17:50:24Z

性能 - 使用PHP提供文件的最快方法

我试图组合一个接收文件路径的函数,识别它是什么,设置适当的头,并像Apache那样提供服务。

我这样做的原因是因为我需要在提供文件之前使用PHP来处理有关请求的一些信息。

速度至关重要

virtual()不是一个选项

必须在共享托管环境中工作,用户无法控制Web服务器(Apache / nginx等)

这是我到目前为止所得到的:

File::output($path);

<?php
class File {
static function output($path) {
    // Check if the file exists
    if(!File::exists($path)) {
        header('HTTP/1.0 404 Not Found');
        exit();
    }

    // Set the content-type header
    header('Content-Type: '.File::mimeType($path));

    // Handle caching
    $fileModificationTime = gmdate('D, d M Y H:i:s', File::modificationTime($path)).' GMT';
    $headers = getallheaders();
    if(isset($headers['If-Modified-Since']) && $headers['If-Modified-Since'] == $fileModificationTime) {
        header('HTTP/1.1 304 Not Modified');
        exit();
    }
    header('Last-Modified: '.$fileModificationTime);

    // Read the file
    readfile($path);

    exit();
}

static function mimeType($path) {
    preg_match("|\.([a-z0-9]{2,4})$|i", $path, $fileSuffix);

    switch(strtolower($fileSuffix[1])) {
        case 'js' :
            return 'application/x-javascript';
        case 'json' :
            return 'application/json';
        case 'jpg' :
        case 'jpeg' :
        case 'jpe' :
            return 'image/jpg';
        case 'png' :
        case 'gif' :
        case 'bmp' :
        case 'tiff' :
            return 'image/'.strtolower($fileSuffix[1]);
        case 'css' :
            return 'text/css';
        case 'xml' :
            return 'application/xml';
        case 'doc' :
        case 'docx' :
            return 'application/msword';
        case 'xls' :
        case 'xlt' :
        case 'xlm' :
        case 'xld' :
        case 'xla' :
        case 'xlc' :
        case 'xlw' :
        case 'xll' :
            return 'application/vnd.ms-excel';
        case 'ppt' :
        case 'pps' :
            return 'application/vnd.ms-powerpoint';
        case 'rtf' :
            return 'application/rtf';
        case 'pdf' :
            return 'application/pdf';
        case 'html' :
        case 'htm' :
        case 'php' :
            return 'text/html';
        case 'txt' :
            return 'text/plain';
        case 'mpeg' :
        case 'mpg' :
        case 'mpe' :
            return 'video/mpeg';
        case 'mp3' :
            return 'audio/mpeg3';
        case 'wav' :
            return 'audio/wav';
        case 'aiff' :
        case 'aif' :
            return 'audio/aiff';
        case 'avi' :
            return 'video/msvideo';
        case 'wmv' :
            return 'video/x-ms-wmv';
        case 'mov' :
            return 'video/quicktime';
        case 'zip' :
            return 'application/zip';
        case 'tar' :
            return 'application/x-tar';
        case 'swf' :
            return 'application/x-shockwave-flash';
        default :
            if(function_exists('mime_content_type')) {
                $fileSuffix = mime_content_type($path);
            }
            return 'unknown/' . trim($fileSuffix[0], '.');
    }
}
}
?>
trans by 2019-08-14T13:59:54Z

性能 - Java构建是否会引入开销? 为什么?

当我们将一种类型的对象转换为另一种类型时会有任何开销吗? 或者编译器只解析所有内容并且在运行时没有成本?

这是一般事情,还是有不同的情况?

例如,假设我们有一个Object []数组,其中每个元素可能有不同的类型。 但我们总是知道,例如,元素0是一个Double,元素1是一个String。 (我知道这是一个错误的设计,但我们只是假设我必须这样做。)

Java的类型信息是否仍然在运行时保留? 或者编译后一切都被遗忘了,如果我们做(Double)元素[0],我们只需按照指针将这8个字节解释为double,不管是什么?

关于如何在Java中完成类型,我还不太清楚。 如果您对书籍或文章有任何建议,那么也要感谢。

trans by 2019-08-14T02:43:42Z

Android SQLite数据库:插入缓慢

我需要解析一个相当大的XML文件(大约在一百千字节和几百千字节之间变化),我正在使用ContentValues进行解析。我目前正在使用152KB文件对其进行测试。

在解析期间,我还使用类似于以下的调用将数据插入到SQLite数据库中:ContentValues。对于152KB测试文件(大约插入大约200行),所有这些一起花费大约80秒。

当我注释掉所有插入语句(但保留其他所有内容,例如创建ContentValues等)时,同一文件只需23秒。

数据库操作有这么大的开销是正常的吗? 我可以做点什么吗?

trans by 2019-08-14T01:08:03Z

性能 - C ++中的高效字符串连接

我听到一些人表达了对&#34; +&#34;的担忧。 std :: string中的运算符以及加速连接的各种变通方法。 这些都真的有必要吗? 如果是这样,在C ++中连接字符串的最佳方法是什么?

trans by 2019-08-13T22:39:11Z

ruby - 为什么我的基本Heroku应用需要两秒钟加载?

我创建了两个非常简单的Heroku应用程序来测试服务,但是当我第一次访问它时,它经常花几秒钟加载页面:

  • Cropify - 基本的Sinatra应用程序(在github上)
  • Textile2HTML - 更基本的Sinatra App(在github上)

我所做的就是创建一个简单的Sinatra应用程序并进行部署。 我没有做任何事情来搞乱或测试Heroku服务器。 我该怎么做才能缩短响应时间? 它现在很慢,我不知道从哪里开始。 如果有帮助,项目的代码在github上。

trans by 2019-08-13T13:29:18Z

性能 - Github应该用作javascript库的CDN吗?

从CDN而不是您自己的服务器提供javascript库具有巨大的优势。 减少服务器的工作量,使CDN能够比服务器更接近用户,但最重要的是用户的浏览器很可能已经从该URL缓存了它。 最后一个意味着每个人的总工作量减少,所以它显然是一个全面的胜利,并且更有可能我们(开发人员)更多地依靠CDN来服务我们的javascript。

但是流行的javascript CDN(谷歌,微软,其他?)只托管少量文件。 对于其他人,我们可以选择自己托管它们,或者......使用源代码控制服务器作为一种CDN。 不太可能Github或类似的地理位置分散的文件缓存优化用于全局服务。 但是,如果这是常见的做法,那么用户的浏览器就有可能将其缓存。 从我们的服务器到github的卸载工作的论点只有在Github愿意自愿这样做的情况下才有效。

那么,这是常见的做法吗? 我们应该互相鼓励这样做吗? Github介意吗? 他们是否有正式的政策声明?

trans by 2019-08-13T11:30:43Z

性能 - 在R中合并/加入data.frames的最快方法是什么?

例如(不确定是否最具代表性的例子):

N <- 1e6
d1 <- data.frame(x=sample(N,N), y1=rnorm(N))
d2 <- data.frame(x=sample(N,N), y2=rnorm(N))

这是我到目前为止所得到的:

d <- merge(d1,d2)
# 7.6 sec

library(plyr)
d <- join(d1,d2)
# 2.9 sec

library(data.table)
dt1 <- data.table(d1, key="x")
dt2 <- data.table(d2, key="x")
d <- data.frame( dt1[dt2,list(x,y1,y2=dt2$y2)] )
# 4.9 sec

library(sqldf)
sqldf()
sqldf("create index ix1 on d1(x)")
sqldf("create index ix2 on d2(x)")
d <- sqldf("select * from d1 inner join d2 on d1.x=d2.x")
sqldf()
# 17.4 sec
trans by 2019-08-13T01:38:06Z

SQL加入Vs SQL子查询(性能)?

我想知道我是否有这样的连接查询 -

Select E.Id,E.Name from Employee E join Dept D on E.DeptId=D.Id

和这样的子查询 -

Select E.Id,E.Name from Employee Where DeptId in (Select Id from Dept)

当我考虑性能时,哪两个查询会更快,为什么?

还有一段时间我应该更喜欢一个吗?

对不起,如果这是太微不足道,以前问过,但我很困惑。 此外,如果你们可以建议我用来测量两个查询的性能的工具,那将是很棒的。 非常感谢!

trans by 2019-08-12T16:10:04Z

javascript - 使用requestAnimationFrame控制fps?

似乎requestAnimationFrame是现在制作动画的事实上的方法。 在大多数情况下,它对我来说效果很好,但是现在我正在尝试做一些画布动画,我想知道:有没有办法确保它以某个fps运行? 我知道rAF的目的是为了一贯平滑的动画,我可能冒着使我的动画不稳定的风险,但是现在它似乎以极其不同的速度运行,并且我想知道是否有&#39 一种以某种方式打击的方式。

我使用setInterval,但我想要rAF提供的优化(尤其是当选项卡处于焦点时自动停止)。

如果有人想查看我的代码,它几乎是:

animateFlash: function() {
    ctx_fg.clearRect(0,0,canvasWidth,canvasHeight);
    ctx_fg.fillStyle = 'rgba(177,39,116,1)';
    ctx_fg.strokeStyle = 'none';
    ctx_fg.beginPath();
    for(var i in nodes) {
        nodes[i].drawFlash();
    }
    ctx_fg.fill();
    ctx_fg.closePath();
    var instance = this;
    var rafID = requestAnimationFrame(function(){
        instance.animateFlash();
    })

    var unfinishedNodes = nodes.filter(function(elem){
        return elem.timer < timerMax;
    });

    if(unfinishedNodes.length === 0) {
        console.log("done");
        cancelAnimationFrame(rafID);
        instance.animate();
    }
}

其中Node.drawFlash()只是一些代码,它根据计数器变量确定半径,然后绘制一个圆。

trans by 2019-08-11T02:24:01Z

数据库 - 水平缩放和垂直缩放意味着什么?

这个问题在这里已有答案:

  • 数据库水平和垂直缩放之间的差异                                     9个答案

在第四层数据库的三层架构中,scaling horizontallyscaling vertically是什么意思?

trans by 2019-08-10T16:54:49Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共21页