• Jxin
    2019-12-03
    有意思。文笔有优秀产品经理的雅致与风趣。逻辑有优秀程序员的清晰与精准。开篇两章,已见不凡。追了,追了。

    作者回复: 好高的评价!谢谢谢谢。

    
     9
  • OlafOO
    2019-12-02
    老师对不同阶段程序员举的例子好经典

    作者回复: 😄,谢谢。祝愿你快速修炼到最高级!

    
     8
  • arsterc
    2019-12-03
    赞! 以前都是零碎的学习性能方面的知识, 现在可以系统学习了. 期待!
    
     2
  • 权奥
    2019-12-03
    遇到过快速启动200个Python进程,触发了系统oom,导致一个重要服务被kill的问题
    
     2
  • Bugzella
    2019-12-03
    最近在做一些后台性能提升的工作,一个主要方式就是使用redis一类的缓存,降低读取操作数据库的频率,可以提升应用的延迟,提高数据库的吞吐量。另外一个例子是数据库读取语调优对于大部分严重依赖数据库的应用很重要,希望在这里也能读到相关的心得和分享。
    
     2
  • 旭东
    2019-12-05
    程序优化一般都在业务优化以后吧,业务流程的优化效果也不可忽视
    
     1
  • Q
    2019-12-04
    第一,为什么那么多人不重视不了解性能优化,要怪就怪,现在的机器性能太强悍了,人类科技的进步,掩饰掉了大部分因为人为原因造成的性能问题,所以科技的惯性太隐蔽又太强悍。
    第二,关键还在于业务数据量是否增长和公司是否重视性能测试,如果重视性能压测,那么早期都会发现系统性能的瓶颈和压力在哪里,否则总是会在生产过程某个时间点中出问题,所以测试手段很重要。

    作者回复: 体会的很好!

     1
     1
  • 子龙
    2019-12-02
    没有遇到什么有意思的性能问题
    感想,性能问题的解决,依赖人对整个计算机运行的理解
    对程序运行环境的理解:什么语言、什么系统、什么CPU、什么硬盘等等
    有可能出现哪些问题,重点观察对应的指标,印证猜想,找对应的方案

    作者回复: 很不错的感想。的确,知道得多很重要。

    
     1
  • 云端漫漫步
    2020-01-06
    Java的现在太容易出现了,比如慢SQL、for循环业务处理等等,只要请求量上去或者for循环嵌套太深,就会很容易出现瓶颈;
    
    
  • han
    2019-12-16
    以前公司的产品会做专业的性能测试,由专业的测试工程师完成,性能的要求也会被写到产品的PRD中,整个开发测试团队都要对性能负责。
    
    
  • 海罗沃德
    2019-12-13
    我正努力成为技术专家中
    
    
  • 志鑫
    2019-12-09
    用golang写了例2的benchmark,的确像老师说的那样,ij方式要快! 速度比 102:9

    Running tool: /usr/local/go/bin/go test -benchmem -run=^$ -bench ^(BenchmarkFor_IJ|BenchmarkFor_JI)$ -v

    goos: darwin
    goarch: amd64
    BenchmarkFor_IJ-4      102     12360520 ns/op     1254901 B/op     0 allocs/op
    BenchmarkFor_JI-4      9     113365872 ns/op    14222222 B/op     0 allocs/op
    ``` golang
    package main

    import "testing"

    const n = 4000

    func BenchmarkFor_IJ(b *testing.B) {
        var arr [n][n]int
        for c := 0; c < b.N; c++ {
            for i := 0; i < n; i++ {
                for j := 0; j < n; j++ {
                    arr[i][j] = i + j
                }
            }
        }
    }

    func BenchmarkFor_JI(b *testing.B) {
        var arr [n][n]int
        for c := 0; c < b.N; c++ {
            for i := 0; i < n; i++ {
                for j := 0; j < n; j++ {
                    arr[j][i] = i + j
                }
            }
        }
    }
    ```
    展开

    作者回复: 赞!

    
    
  • 丁丁历险记
    2019-12-05
    例子一的程序员直接开除。
    例子五的架构师鼓舞着我们前行(做死)

    每天都在做死的路上

    作者回复: 要允许年轻人犯错误,每个人都是从菜鸟到大虾的。😄

    
    
  • Kǎfκã²⁰²⁰
    2019-12-03
    早期为了快速发展业务,公司使用了Ruby,开发是快,但扛不住多少访问量。后来业务验证之后,就更换成Java。在不同业务阶段,在快速验证和提升性能之间选择不同策略。

    作者回复: 对,Java应该更有效些。不过比起C++来,C++又胜一筹了。这就是开发速度和效率的关系。一般后端用C++和Java比较多,因为需要高效率。

    
    
  • :)
    2019-12-03
    老师讲得太好了!这课性价比 太高了!

    作者回复: 太谢谢了!更加有干劲了,努力做得更好!

    
    
  • humor
    2019-12-03
    以前在一个方法上使用了synchronous关键字,自己测试觉得没问题,发布到线上之后,系统就特别慢,各种超时…以后再也不敢随便用锁了

    作者回复: 恩,尽量把锁的范围变小;只锁绝对需要锁的地方。

    
    
  • 夜空中最亮的星(华仔...
    2019-12-02
    老师讲的很好,写出跑的飞快的代码的程序员很让人佩服

    作者回复: 非常感谢!

    
    
  • 故事、自己写
    2019-12-02
    不求一字万金,一字千金即可~

    作者回复: 哈哈,你一定可以的!

    
    
我们在线,来聊聊吧