Главная    Ex Libris    Книги    Журналы    Статьи    Серии    Каталог    Wanted    Загрузка    ХудЛит    Справка    Поиск по индексам    Поиск    Форум   
blank
Авторизация

       
blank
Поиск по указателям

blank
blank
blank
Красота
blank
Bentley J. — Writing efficient programs
Bentley J. — Writing efficient programs



Обсудите книгу на научном форуме



Нашли опечатку?
Выделите ее мышкой и нажмите Ctrl+Enter


Название: Writing efficient programs

Автор: Bentley J.

Аннотация:

Bentley has the right idea when he states that you first write a correct, understandable and maintainable program, and then if it is not fast enough, modify it to improve the efficiency. He is also correct in pointing out that with this approach, modifications to improve efficiency, while not altering the correctness of the program, tend to reduce the clarity and maintainability of the code. However, he does miss one important point, which in his defense, is to a large extent due to the date of original publication.
With the availability of modern tools and advances in software design, it is now possible to create programs where the efficiency of the code can be part of the design. Changes in the design made to improve the efficiency can increase the maintainability and reduces the need for final alterations that lower the clarity and portability.


Язык: en

Рубрика: Computer science/Алгоритмы/

Статус предметного указателя: Готов указатель с номерами страниц

ed2k: ed2k stats

Год издания: 1982

Количество страниц: 170

Добавлена в каталог: 10.11.2005

Операции: Положить на полку | Скопировать ссылку для форума | Скопировать ID
blank
Предметный указатель
Abstract data types      76
Ada language      67
Aho, A.V.      xiv xv 4 35 44 83 84 88 114 115 116 118 121 123 124 127 131 146
Algorithms      xi xiv 4 29 35 108 131
Algorithms, analysis      16 20 29 115 119 120 123 138
Algorithms, selection      114 122 130
Arrays      see "Data structures"
Assembly language      5 9 24 27 29 36 48 58 62 66 72 131 132 141
Ast, M.      xvi
Auslander, M.A.      80
Baase, S.      35
Backfiring      43 46 49 52 62 65 68 88 111
BASIC language      8 49 62 99 102
Baskett, F.      5 52 62
Beeler, M.      85
Bentley, J.L.      11 29 35 71 80
Bergeron, R.D.      32
Binary search      see "Searching"
Bird, R.S.      41 80
bit manipulation      41 45 46 71 77 83 85 86
Bliss language      92 98
Boolean variable elimination      73
Brailsford, D.F.      33
Branch removal      see "Removing unconditional branches"
Branch table      72
Brooks, F.P., Jr.      2 4 5 31 34 35 45 47 147
Bugs      37 52 54 84 111 116
Bulterman, H.R.      32
Burstall, R.M.      7 80
C language      54 92 138
Caching      37 42 49 50 76 98 122
Cattell, R.G.      42 146
Chandy, K.M.      5 134
Chansler, R.J.      xvi 95
Code motion out of loops      20 51 64 106 128
Code simplification      48 60 65 79 104
Coffman, E.G., Jr.      99
Collapsing procedure hierarchies      20 64 75 83 106 118
Combining tests      23 52 65 87 118
Common subexpression elimination      16 84 106 124 127
Compile-time initialization      82 106
Compilers      xi xv 2 4 9 13 25 28 32 34 36 37 46 47 49 51 52 54 55 62 67 81 82 83 84 88 90 92 101 127 134 135
Computer center performance      8 34
Control Data Corporation 7600 computer      81
Conway, R.W.      1
coroutines      79
Cost models      99 141
Darlington, J.      7 80
Data structure augmentation      22 39 49
Data structures      xi xiv 4 29 35 39 108
Data structures, arrays      13 46 53 55 85 86
Data structures, hash tables      54 87
Data structures, incremental      83
Data structures, linked lists      18 49 54 59 60 62 85 86
Data structures, matrices      86 99
Data structures, selection      18 130
Data structures, strings      86 97
Data structures, trees      54 61 71 86
Deo, N.      35 85
Design levels      xi 3 9 11 28 29 34 38 108
Deutsch, L.P.      xv 42 146
Digital Equipment Corporation PDP-10 computer      11 73 89 98 129 136
Digital Equipment Corporation PDP-11 computer      92 99 101
Digital Equipment Corporation PDP-8 computer      73
Documentation      28 109
Dongarra, J.J.      58 98
early binding      40 51 72 75 76 82 84 105
Efficiency experts      134
Efficiency, hardware      xi 5 42 78 85 108
Efficiency, importance of      1
Efficiency, input/output      46 84 88 96 103
Efficiency, space      30 45 47 79 132
Efficiency, system      xi 2 8 36 81 108 133 134
Efficiency, system-dependent      21 24 28 55 62 87 89 132
Engineering techniques      xii
Exploit algebraic identities      17 21 66 82 127 128 142
Exploit common cases      37 42 76 106 128
Exploit word parallelism      41 71 85 86
Faust, M.G.      71
Feign, D.A.      7 36
Feldman, S.      41 46 145 146 151
Finite state machines      47
Finkel, R.A.      54 69 80
Fitch, G.P.      34
Flon, L.      33 47 99
FORTRAN language      2 8 9 33 46 47 62 65 76 82 88
Foxley, E.      33
Frank, E.H.      xvi
Friedman, J.H.      29 80
Fuller, S.H.      5
Games      41 54 71 86
Garbage collection      see "Storage allocation"
Gardner, M.      86
Goodman, S.E.      7 35
Gosling, J.A.      99
Gosper, R.W.      85
Gries, D.      1
Gunther, F.J.      8 102
Hacks      xii
Hardware      see "Efficiency"
Harriman, D.C.      7 80
hash tables      see "Data structures"
Hedetniemi, S.T.      7 35
Heindel, L.E.      75
Hewlett — Packard HP-1000 computer      138
Hibbard, C.      xv
Hilfinger, P.N.      33 47 99
Hinds, A.R.      58 98
hints      40
Hoare, C.A.R.      115
Hopcroft, J.E.      xiv 35 114 115 116 118 121 123 124 127 131
Horowitz, E.      35 86
Hot spots      see "Inner loops"
IBM 650 computer      47
IBM System/360—370 computer      2 9 24 32 45 62 70 81 85 97 141
Incremental algorithms      83
Induction variables      83
Inner loops      26 33 105 107
Insertion sort      see "Sorting"
interpreters      47 50 73 78 88
Inventor's paradox      79
Jackson, M.A.      47 79
Jalics, P.J.      8 42 76 146
Jefferson, D.R.      84 151
Jensen, K.      152
Johnson, S.C.      xv 83 111
Jump table      72
Kernighan, B.W.      xv 8 31 33 44 47 65 72 76 103 104 146 149
Kibler, D.F.      7 80
Knuth, D.E.      8 9 16 26 32 33 34 35 39 40 42 46 47 50 54 58 61 62 63 65 67 71 72 74 79 80 83 84 85 86 88 90 105 106 107 113 114 120 121 123 127 129 131 132 141 142 148 151
Kreitzberg, C.S.      8
Kulsrud, H.E.      81 151
Laird, J.E.      46 82 146 151
Lampson, B.W.      40
Lau, R.L.      xvi
Lawson, H.W., Jr.      1
Lazy evaluation      43 50 106
Leverett, B.      xv 101
Lewis, H.      11 35
Lewis, J.      8
Lexical analyzers      55
Linked lists      see "Data structures"
Loop fusion      63 84
Loop jamming      see "Loop fusion"
Loop unrolling      56 66 77 128 144
Loveman, D.B.      7
macros      76
Main loops      see "Inner loops"
Majemik, J.      xvi 93 94 95
Mander, K.C.      33
Matwin, S.      33
McCracken, D.D.      1 109
McCreight, E.M.      xv 86 87
McDermott, J.D.      xv
McFarland, M.C.      108
McIlroy, M.D.      xv 34
McKellar, A.C.      99
McNair, T.J.      xiii
Michaud, R.A.      xvi
Missala, M.      33
money      xi 1 2 3 9 137
Monitoring      see "Profiling"
Mont-Reynaud, B.      9 59
Moon, D.A.      73 88 149
Morgan, D.J.      33
Morris, R.      45
Moving code      see "Code motion out of loops"
Multiple-pass algorithms      79 88
Neighbors, J.M.      7 80
Nelson, B.J.      5 7
Neuhold, E.J.      1
Newcomer, J.M.      xv
Newell, A.      xv 3 5 30 76
Nievergelt, J.      33 35 85
Nix, R.      71
Noyce, W.B.      8
Operating system.      xi xv 5 78 79
overlaying      20 46
Packing      45 48 50 106
Paige, R.      83
Pairing computation      84
Papadimitriou, C.H.      11 35
Parallelism      80 143 144
Pascal language      xiv 13 25 33 34 41 46 70 72 82 90 138 152
Performance evaluation      101
personal computers      xiv 3 8 22 40 49 57 105 106
Peterson, J.L.      31 41 42 45 54 57 72 82 145
Pike, R.      78 79 150
Plattner, B.      33
Plauger, P.J.      8 31 33 47 65 72 76 103 104
Precompute logical functions      41 72 106
premature optimization      see "Unwise optimization"
Preparata, F.P.      71
Problem simplification      104
profiling      32 37 38 49 76 77 106 107 108 118 136
Program measurements      see "Profiling"
Program transformations      7 26
Program verifications      xiii xv 47 88
Program: Assembly inner loop      142
Program: Binary search      123
Program: Boolean variable example      73
Program: Character recognizer      70 72
Program: Fibonacci numbers      41 43 59
Program: Insertion in a linked list      60
Program: Insertion sort      63 93 95
Program: Pascal example      152
Program: Quicksort      116
Program: Scale elements of an array      52
Program: Sequential search in a sorted array      55 57
Program: Sequential search in an unsorted array      53 74
Program: Sum a vector      57
Program: Test sum of an array      68
Program: Traveling salesman problem      14
Programming methodologies      xii 2 3 31 36 76 108 133 134
Purdom, P.W., Jr.      75
Quicksort      see "Sorting"
Recursion      41 79 115 119
Reddy, D.R.      3 5 30
Reghbati, H.K.      45
Registers      94 98 144
Reid, B.K.      xvi 9
Reingold, E.M.      35 85
Reisel, H.      88
Relentless suspicion      105
Removing unconditional branches      66
Reordering tests      69 72 126
Rich, E.A.      xvi
Ritchie, D.M.      76 79 150
Rolling out loops      see "Loop unrolling"
Russell, R.D.      81
Sahni, S.      35 86
Satterthwaite, E.H.      32
Sauer, C.H.      5 134
Saxe, J.B.      11
Schaeffer, M.      4
Scheifler, R.W.      75
Scherlis, W.L.      7 78
Schroeppel, R.      85
Searching      35 40 42 43 44 49 53 54 55 58 62 73 79 86 121
Searching, binary search      122
Searching, sequential search      42 53 55 122
Sedgewick, R.      9 58 63 80 81 121 151
Sentinels      23 40 53 54 56 59 67 69 118
Shaw, M.      4 33 47 77 99 100 101 150
Shneiderman, B.      8
Short-circuiting monotone functions      21 67
Sites, R.L.      32 34
Smith, C.U.      4 8 31 133 134
Smith, P.      81 151
Software engineering      xi xiii xv
Sorting      48 54 58 61 63 71 79 81 85 113
Sorting, Insertion Sort      63 114
Sorting, Quicksort      115
Speedups, huge      5 7 8 26 42 43 46 52 72 82 95 96 99 121 127 131
Spelling correction      42 71
Sproull, R.F.      xv 7 40 55 56 83 87 147 148
Stanat, D.F.      xv 67 69
Standish, T.A.      7 35 39 40 80
Stankovich, J.A.      75
Steele, G.L., Jr.      xv xvi 80 83 98 129 130 131 143
Storage allocation      37 40 42 105
Store precomputed results      40 49 72 73 85 105
Strength reduction      67 83
strings      see "Data structures"
Strohecker, C.A.      xvi
Strong, H.R.      80
Supercomputers      22 58 81 98
system software      xi xv 5
system structure      3 97
Szymanski, T.G.      81 151
Tail recursion      80 125
Thompson, K.      79
Transfer-driven loop unrolling      59 86
Transformations on recursive procedures      80 119 125
Traveling salesman problem      11 141
Trees      see "Data structures"
Trivial assignments      59
Trosky, W.J.      xvi 138
Ullman, J.D.      xiv 4 35 83 84 88 114 115 116 118 121 123 124 127 131
Unconditional branch removal      62 90
Unrolling loops      see "Loop unrolling"
Unwise optimizations, excessive      21 111
Unwise optimizations, premature      1 31 37 54 104 124
Van Wyk, C.J.      xv 9 36 37 42 78 146 150
Vyssotsky, V.A.      3 37
Waite, W.M.      4
Waldbaum, G.      8 34 112
War stories      xiii 36 41 42 44 45 46 47 54 55 56 77 78 82 84 99 106
Warnings      xv 7 43 62 64 67 81 83 84 107 109 111 135
Weinberg, G.M.      31
Weinberger, P.J.      71 85 149 151
Wichman, B.A.      101
Wilhoyte, W.L.      xvi
Wirth, N.      152
Writing procedures in line      64 75 118
Wulf, W.A.      xv xvi 4 33 47 84 90 91 92 95 98 99
blank
Реклама
blank
blank
HR
@Mail.ru
       © Электронная библиотека попечительского совета мехмата МГУ, 2004-2020
Электронная библиотека мехмата МГУ | Valid HTML 4.01! | Valid CSS! О проекте