zoukankan      html  css  js  c++  java
  • 软工作业 3:个人编程练习

    一、程序分析 

      1、编译环境

        JetBrains PyCharm Community Edition 2018 、  Python 3.7

      2、读文件到缓冲区(process_file(dst))

      3、处理缓冲区,返回存有词频数据的字典(process_buffer(bvffer))

      4、输出词频前十的单词(output_result(word_freq))

      5、主函数对之前的函数进行整合(main())

    二、代码风格说明。 

    python代码编写时,不需要{ }括号,用:及缩进代替,用来强制规范代码

    例:

           try: 

                    doc=open(dst,'r')

           except IOError as s:

                    print(s)

                    return None

    三、程序运行命令、运行结果截图 

    四、性能分析结果及改进 

    1、总运行时间:

    2、执行次数最多的部分代码

    可见word_freq[word] = word_freq.get(word, 0) + 1运行次数最多

    3、执行时间最多的部分代码

    可视化部分:

    根据运行次数排序方式分析命令

                                                           python -m cProfile -o result.out -s call word_freq.py

                                                           python gprof2dot.py -f pstats result.out | dot -Tpng -o result.png

    根据占用时间排序方式分析命令

                                                        python -m cProfile -o resultc.out -s cumulative word_freq.py

                                                        python gprof2dot.py -f pstats resultc.out | dot -Tpng -o result.png

     

  • 相关阅读:
    算法之递归(4) 应用
    算法之递归(1)
    [Async] [Series #1] 初识Async异步编程模型。
    CVE202142287/CVE202142278 复现
    易读文库下载器1.2版发布
    Sqlite.net 读取DateTime异常的解决方案
    QZFL 2.0.5 源代码
    Sqlite 管理工具 SQLiteDeveloper 及破解
    visio2010数据库正向工程生成数据库脚本
    什么是高内聚、低耦合?
  • 原文地址:https://www.cnblogs.com/ntdx-zhoulei/p/9762689.html
Copyright © 2011-2022 走看看