Closed jfrolich closed 10 years ago
Can you do git bisect
to pin down the culprit?
I use the binary builds, so I guess I cannot do that?
You could try running the fast and slow versions each with @profile
followed by Profile.print()
. That might help identify the bottleneck.
I can tell the slowdown is in this part:
for (i, text) in enumerate(dc)
tokens::Array{UTF8String,1} = ngramize(tokenize(text), n_grams)
for token in tokens
push!(is, i)
push!(js, get!(vocabulary, token, length(vocabulary)+1))
push!(vs, 1)
end
end
Will do a profile now..
Good:
5 ...lia RF\text_proc_2.jl; tokenize; line: 22
1 string.jl; bytestring; line: 653
1 ...lia RF\text_proc_2.jl; ngramize; line: 123
7 array.jl; lexcmp; line: 817
14 array.jl; push!; line: 445
2 array.jl; push!; line: 446
1 inference.jl; builtin_tfunction; line: 511
2 inference.jl; typeinf; line: 1212
1 iobuffer.jl; ensureroom; line: 147
68 profile.jl; anonymous; line: 9
68 profile.jl; anonymous; line: 14
2 ...\text_proc_2.jl; dtm; line: 145
1 reflection.jl; _methods; line: 80
1 regex.jl; matchall; line: 131
1 regex.jl; matchall; line: 133
1 regex.jl; matchall; line: 134
1 regex.jl; matchall; line: 136
7 regex.jl; matchall; line: 138
1 regex.jl; matchall; line: 146
1 regex.jl; matchall; line: 154
1 array.jl; push!; line: 447
28 regex.jl; matchall; line: 167
1 regex.jl; matchall; line: 164
21 regex.jl; matchall; line: 138
1 regex.jl; matchall; line: 146
4 regex.jl; matchall; line: 154
1 array.jl; push!; line: 440
1 string.jl; SubString; line: 601
+2 1 array.jl; push!; line: 445
+4 1 string.jl; SubString; line: 600
1 regex.jl; matchall; line: 155
2 string.jl; isequal; line: 521
4 string.jl; map; line: 804
1 utf8.jl; getindex; line: 56
1 utf8.jl; getindex; line: 72
10 string.jl; map; line: 805
1 string.jl; lowercase; line: 787
1 string.jl; lowercase; line: 787
10 string.jl; map; line: 809
1 iobuffer.jl; write; line: 220
2 iobuffer.jl; write; line: 221
1 string.jl; lowercase; line: 787
1 array.jl; append!; line: 462
1 iobuffer.jl; ensureroom; line: 131
2 iobuffer.jl; write; line: 226
1 iobuffer.jl; write; line: 228
1 utf8.jl; endof; line: 33
1 utf8.jl; endof; line: 35
1 io.jl; write; line: 68
1 iobuffer.jl; write; line: 220
1 io.jl; write; line: 70
1 utf8.jl; endof; line: 32
1 utf8.jl; endof; line: 35
4 utf8.jl; isvalid; line: 95
2 ...lia RF\text_proc_2.jl; tokenize; line: 22
1 string.jl; map; line: 805
1 string.jl; map; line: 809
1 array.jl; getindex; line: 111
2 array.jl; push!; line: 445
2 array.jl; push!; line: 440
1 inference.jl; without_linenums; line: 1819
1 iobuffer.jl; ensureroom; line: 131
3 iobuffer.jl; ensureroom; line: 145
1 iobuffer.jl; ensureroom; line: 146
2 iobuffer.jl; ensureroom; line: 149
2 reflection.jl; _methods; line: 80
1 reflection.jl; _methods; line: 97
1 reflection.jl; _methods; line: 80
1 string.jl; isequal; line: 521
1 utf8.jl; string; line: 135
61 utf8.jl; string; line: 138
4 utf8.jl; string; line: 139
77 utf8.jl; string; line: 140
2 array.jl; append!; line: 457
1 array.jl; append!; line: 457
8 array.jl; append!; line: 462
1 array.jl; copy!; line: 55
2 array.jl; copy!; line: 52
5 array.jl; copy!; line: 55
2 array.jl; unsafe_copy!; line: 42
1 array.jl; append!; line: 463
11 utf8.jl; string; line: 142
6 array.jl; append!; line: 457
1 array.jl; append!; line: 460
120 array.jl; append!; line: 461
12 array.jl; append!; line: 462
1 array.jl; copy!; line: 52
2 array.jl; copy!; line: 55
2 array.jl; copy!; line: 52
2 array.jl; lexcmp; line: 817
2 dict.jl; hashindex; line: 360
39 array.jl; push!; line: 445
39 array.jl; push!; line: 440
1 dict.jl; _setindex!; line: 503
4 dict.jl; _setindex!; line: 505
1 inference.jl; typeinf; line: 1465
1 inference.jl; stupdate; line: 1146
9 string.jl; bytestring; line: 34
1 string.jl; isequal; line: 521
1 string.jl; lowercase; line: 787
1 iobuffer.jl; ensureroom; line: 145
15 ...ia RF\text_proc_2.jl; tokenize; line: 22
15 string.jl; bytestring; line: 653
3 ...a RF\text_proc_2.jl; ngramize; line: 123
12 ...a RF\text_proc_2.jl; ngramize; line: 124
11 string.jl; bytestring; line: 653
10 array.jl; push!; line: 445
1 array.jl; push!; line: 446
47 array.jl; append!; line: 462
47 array.jl; copy!; line: 55
1 array.jl; unsafe_copy!; line: 42
2 array.jl; unsafe_copy!; line: 42
3 array.jl; unsafe_copy!; line: 48
1 array.jl; unsafe_copy!; line: 48
37 array.jl; unsafe_copy!; line: 42
3 array.jl; unsafe_copy!; line: 48
25 array.jl; lexcmp; line: 817
2 dict.jl; hashindex; line: 360
2 string.jl; isequal; line: 521
6 array.jl; lexcmp; line: 819
530 dict.jl; hashindex; line: 360
137 utf8.jl; endof; line: 32
165 utf8.jl; endof; line: 33
173 utf8.jl; endof; line: 35
1 utf8.jl; endof; line: 36
54 string.jl; isequal; line: 521
1 utf8.jl; endof; line: 32
17 utf8.jl; endof; line: 32
15 utf8.jl; endof; line: 33
16 utf8.jl; endof; line: 35
2 dict.jl; ht_keyindex2; line: 467
6 dict.jl; ht_keyindex2; line: 470
1 dict.jl; int64hash; line: 219
1 dict.jl; int64hash; line: 220
2 dict.jl; int64hash; line: 224
29 dict.jl; ht_keyindex2; line: 475
9 dict.jl; ht_keyindex2; line: 486
1 dict.jl; skip_deleted; line: 639
3 dict.jl; skip_deleted; line: 640
1 dict.jl; skip_deleted; line: 641
2 dict.jl; skip_deleted; line: 643
1 string.jl; bytestring; line: 653
1 array.jl; push!; line: 440
1 string.jl; lowercase; line: 787
1 array.jl; append!; line: 462
1 iobuffer.jl; ensureroom; line: 146
2 string.jl; map; line: 802
1 dict.jl; hashindex; line: 360
1 utf8.jl; endof; line: 35
24 string.jl; map; line: 804
1 utf8.jl; getindex; line: 54
1 utf8.jl; getindex; line: 65
3 utf8.jl; getindex; line: 54
1 utf8.jl; getindex; line: 54
1 utf8.jl; getindex; line: 56
1 utf8.jl; getindex; line: 67
2 utf8.jl; getindex; line: 68
3 utf8.jl; getindex; line: 72
3 utf8.jl; getindex; line: 74
3 utf8.jl; getindex; line: 77
77 string.jl; map; line: 805
4 string.jl; lowercase; line: 787
8 string.jl; lowercase; line: 787
51 string.jl; map; line: 809
1 utf8.jl; endof; line: 32
3 io.jl; write; line: 70
1 io.jl; write; line: 70
2 iobuffer.jl; write; line: 220
9 iobuffer.jl; write; line: 221
1 iobuffer.jl; ensureroom; line: 149
2 iobuffer.jl; ensureroom; line: 131
1 iobuffer.jl; ensureroom; line: 131
3 iobuffer.jl; ensureroom; line: 131
1 iobuffer.jl; ensureroom; line: 149
1 iobuffer.jl; write; line: 222
3 iobuffer.jl; write; line: 224
2 iobuffer.jl; write; line: 226
1 iobuffer.jl; write; line: 229
3 iobuffer.jl; write; line: 230
2 utf8.jl; endof; line: 32
6 utf8.jl; endof; line: 35
6 io.jl; write; line: 68
1 iobuffer.jl; write; line: 220
1 iobuffer.jl; write; line: 220
1 iobuffer.jl; write; line: 224
1 iobuffer.jl; write; line: 220
1 io.jl; write; line: 70
1 io.jl; write; line: 77
1 io.jl; write; line: 86
131 array.jl; push!; line: 445
2 dict.jl; get!; line: 535
42 dict.jl; get!; line: 536
2 string.jl; isequal; line: 521
5 string.jl; isequal; line: 521
5 string.jl; isequal; line: 521
4 string.jl; isequal; line: 521
2 string.jl; isequal; line: 521
22 string.jl; isequal; line: 521
1 array.jl; lexcmp; line: 817
1 array.jl; lexcmp; line: 817
1 array.jl; lexcmp; line: 817
2 array.jl; lexcmp; line: 819
1 array.jl; lexcmp; line: 817
1 array.jl; lexcmp; line: 817
2 array.jl; lexcmp; line: 817
2 array.jl; lexcmp; line: 819
16 dict.jl; get!; line: 540
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 487
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 487
6 string.jl; isequal; line: 521
1 dict.jl; ht_keyindex2; line: 467
2 dict.jl; ht_keyindex2; line: 486
1 string.jl; isequal; line: 521
3 dict.jl; ht_keyindex2; line: 487
59 dict.jl; get!; line: 542
1 dict.jl; get!; line: 545
1 string.jl; SubString; line: 600
1 utf8.jl; endof; line: 34
1 string.jl; SubString; line: 607
1 utf8.jl; isvalid; line: 95
1 string.jl; SubString; line: 608
8 string.jl; SubString; line: 612
1 dict.jl; hashindex; line: 360
1 string.jl; isequal; line: 521
1 inference.jl; typeinf; line: 1212
1 regex.jl; matchall; line: 138
1 regex.jl; matchall; line: 154
1 array.jl; push!; line: 440
57 string.jl; isequal; line: 521
2 dict.jl; ht_keyindex2; line: 469
55 dict.jl; ht_keyindex2; line: 470
1 dict.jl; hashindex; line: 360
1 dict.jl; hashindex; line: 360
1 dict.jl; hashindex; line: 360
50 array.jl; lexcmp; line: 817
50 dict.jl; hashindex; line: 360
1 array.jl; sizeof; line: 23
6 array.jl; sizeof; line: 23
28 ...a RF\text_proc_2.jl; tokenize; line: 22
1 regex.jl; matchall; line: 133
4 string.jl; map; line: 804
2 utf8.jl; getindex; line: 56
1 utf8.jl; getindex; line: 67
1 utf8.jl; getindex; line: 77
9 string.jl; map; line: 805
2 string.jl; lowercase; line: 787
14 string.jl; map; line: 809
1 utf8.jl; endof; line: 34
1 io.jl; write; line: 86
1 iobuffer.jl; write; line: 220
2 iobuffer.jl; write; line: 221
1 iobuffer.jl; ensureroom; line: 131
2 iobuffer.jl; write; line: 226
1 iobuffer.jl; write; line: 229
2 utf8.jl; endof; line: 35
2 io.jl; write; line: 68
1 ...ffer.jl; write; line: 220
1 ...ffer.jl; write; line: 224
1 io.jl; write; line: 70
1 array.jl; cumsum_pairwise; line: 1354
1 array.jl; cumsum_pairwise; line: 1350
1 dict.jl; _setindex!; line: 503
156 string.jl; isequal; line: 521
2 dict.jl; ht_keyindex2; line: 469
3 dict.jl; ht_keyindex2; line: 472
114 dict.jl; ht_keyindex2; line: 475
1 dict.jl; ht_keyindex2; line: 476
34 dict.jl; ht_keyindex2; line: 486
1 dict.jl; ht_keyindex2; line: 490
1 dict.jl; ht_keyindex2; line: 492
1 ...a RF\text_proc_2.jl; tokenize; line: 22
1 array.jl; push!; line: 445
21 dict.jl; hashindex; line: 360
21 string.jl; isequal; line: 521
1 array.jl; lexcmp; line: 819
1 array.jl; lexcmp; line: 819
3 array.jl; lexcmp; line: 817
15 array.jl; lexcmp; line: 817
1 array.jl; lexcmp; line: 819
2 dict.jl; ht_keyindex; line: 444
1 dict.jl; int64hash; line: 225
4 dict.jl; setindex!; line: 523
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 476
1 dict.jl; ht_keyindex2; line: 467
1 dict.jl; ht_keyindex2; line: 476
1 dict.jl; setindex!; line: 526
7 dict.jl; setindex!; line: 528
1 dict.jl; _setindex!; line: 503
3 dict.jl; _setindex!; line: 503
1 dict.jl; _setindex!; line: 508
1 dict.jl; _setindex!; line: 510
1 sparse/csparse.jl; sparse; line: 30
4 sparse/csparse.jl; sparse; line: 31
1 sparse/csparse.jl; sparse; line: 45
1 sparse/csparse.jl; sparse; line: 46
1 sparse/csparse.jl; sparse; line: 49
6 sparse/csparse.jl; sparse; line: 50
3 sparse/csparse.jl; sparse; line: 51
1 sparse/csparse.jl; sparse; line: 56
28 string.jl; isequal; line: 521
1 utf8.jl; endof; line: 32
1 utf8.jl; endof; line: 32
3 dict.jl; ht_keyindex2; line: 470
2 utf8.jl; endof; line: 32
1 utf8.jl; endof; line: 35
22 dict.jl; ht_keyindex2; line: 486
8 utf8.jl; endof; line: 33
14 utf8.jl; endof; line: 35
1 string.jl; map; line: 802
1 dict.jl; hashindex; line: 360
1 utf8.jl; endof; line: 35
1 utf8.jl; utf8; line: 161
39 ... RF\text_proc_2.jl; vocabulary_to_feature_names; line: 163
1 dict.jl; skip_deleted; line: 639
5 ... RF\text_proc_2.jl; vocabulary_to_feature_names; line: 164
1 dict.jl; setindex!; line: 517
1 dict.jl; setindex!; line: 531
1 dict.jl; setindex!; line: 517
2 ... RF\text_proc_2.jl; vocabulary_to_feature_names; line: 166
2 dict.jl; _setindex!; line: 504
1 string.jl; isequal; line: 521
1 string.jl; map; line: 805
8 dict.jl; _setindex!; line: 505
1 dict.jl; _setindex!; line: 508
2 dict.jl; setindex!; line: 517
1 abstractarray.jl; compute_dims; line: 629
1 abstractarray.jl; compute_dims; line: 629
1 abstractarray.jl; compute_dims; line: 622
1 ...e/csparse.jl; sparse; line: 72
10 array.jl; push!; line: 445
1 array.jl; push!; line: 446
1 array.jl; shift!; line: 521
1 array.jl; shift!; line: 519
1 task.jl; wait; line: 279
1 ...e/csparse.jl; sparse; line: 74
1 base.jl; append_any; line: 139
1 base.jl; append_any; line: 139
1 ...e/csparse.jl; sparse; line: 73
2 cell.jl; setindex!; line: 32
2 cell.jl; setindex!; line: 32
1 inference.jl; anonymous; line: 201
1 ...e/csparse.jl; sparse; line: 74
1 ...e/csparse.jl; sparse; line: 74
1 dict.jl; ht_keyindex; line: 460
1 dict.jl; ht_keyindex; line: 460
1 dict.jl; ht_keyindex; line: 441
1 ...e/csparse.jl; sparse; line: 72
1 inference.jl; abstract_call; line: 757
1 inference.jl; abstract_call; line: 757
1 inference.jl; abstract_call; line: 752
1 ...e/csparse.jl; sparse; line: 72
1 inference.jl; abstract_call; line: 833
1 inference.jl; abstract_call; line: 833
1 inference.jl; abstract_call; line: 814
1 ...e/csparse.jl; sparse; line: 76
1 inference.jl; abstract_call; line: 814
1 inference.jl; abstract_call_gf; line: 638
1 inference.jl; abstract_call_gf; line: 638
1 inference.jl; abstract_call_gf; line: 706
1 ...e/csparse.jl; sparse; line: 69
1 inference.jl; abstract_call_gf; line: 655
1 inference.jl; abstract_call_gf; line: 655
1 inference.jl; abstract_call_gf; line: 635
1 ...e/csparse.jl; sparse; line: 76
1 inference.jl; abstract_eval; line: 928
1 inference.jl; abstract_eval; line: 928
1 inference.jl; abstract_eval; line: 931
1 ...e/csparse.jl; sparse; line: 71
1 inference.jl; abstract_eval_symbol; line: 1012
1 inference.jl; abstract_eval_symbol; line: 1012
1 inference.jl; abstract_eval_arg; line: 852
1 ...e/csparse.jl; sparse; line: 73
1 inference.jl; abstract_eval_symbol; line: 1014
1 inference.jl; abstract_eval_symbol; line: 1014
1 inference.jl; abstract_eval_symbol; line: 1012
1 ...e/csparse.jl; sparse; line: 74
1 inference.jl; anonymous; line: 216
1 inference.jl; anonymous; line: 216
1 inference.jl; anonymous; line: 212
1 ...e/csparse.jl; sparse; line: 71
1 inference.jl; anonymous; line: 277
1 inference.jl; anonymous; line: 277
1 inference.jl; anonymous; line: 277
1 ...e/csparse.jl; sparse; line: 74
1 inference.jl; anonymous; line: 357
1 inference.jl; anonymous; line: 357
1 inference.jl; anonymous; line: 321
1 ...e/csparse.jl; sparse; line: 69
1 inference.jl; anonymous; line: 592
1 inference.jl; anonymous; line: 592
1 reflection.jl; _methods; line: 86
1 ...e/csparse.jl; sparse; line: 76
1 inference.jl; anonymous; line: 2538
1 inference.jl; anonymous; line: 2538
1 inference.jl; anonymous; line: 2538
1 ...e/csparse.jl; sparse; line: 73
1 inference.jl; eval_annotate; line: 1586
1 inference.jl; eval_annotate; line: 1586
1 inference.jl; eval_annotate; line: 1582
1 ...e/csparse.jl; sparse; line: 72
1 inference.jl; find_sa_vars; line: 2572
1 inference.jl; find_sa_vars; line: 2572
1 ...e/csparse.jl; sparse; line: 73
2 inference.jl; inlineable; line: 2035
2 inference.jl; inlineable; line: 2035
2 inference.jl; inlineable; line: 2033
1 ...e/csparse.jl; sparse; line: 71
1 ...e/csparse.jl; sparse; line: 72
1 inference.jl; inlineable; line: 2153
1 inference.jl; inlineable; line: 2153
1 inference.jl; inlineable; line: 2151
1 ...e/csparse.jl; sparse; line: 76
1 inference.jl; inlineable; line: 2151
1 int.jl; +; line: 33
1 inference.jl; inlineable; line: 2173
1 inference.jl; inlineable; line: 2173
1 inference.jl; inlineable; line: 2197
1 ...e/csparse.jl; sparse; line: 73
1 inference.jl; inlining_pass; line: 2429
1 inference.jl; inlining_pass; line: 2429
1 inference.jl; inlining_pass; line: 2418
1 ...e/csparse.jl; sparse; line: 72
1 inference.jl; is_known_call; line: 2514
1 inference.jl; is_known_call; line: 2514
1 inference.jl; is_known_call; line: 2515
1 ...e/csparse.jl; sparse; line: 69
1 inference.jl; typeinf; line: 1226
1 inference.jl; typeinf; line: 1214
1 inference.jl; typeinf; line: 1395
1 ...e/csparse.jl; sparse; line: 73
1 inference.jl; typeinf_ext; line: 1185
1 inference.jl; typeinf_ext; line: 1185
1 array.jl; reinterpret; line: 81
1 ...e/csparse.jl; sparse; line: 69
1 inference.jl; unique_names; line: 2490
1 inference.jl; unique_names; line: 2490
1 expr.jl; copy; line: 30
1 ...e/csparse.jl; sparse; line: 73
1 multi.jl; call_on_owner; line: 743
1 multi.jl; call_on_owner; line: 743
1 operators.jl; isequal; line: 9
1 ...e/csparse.jl; sparse; line: 69
1 path.jl; joinpath; line: 58
1 path.jl; joinpath; line: 58
1 path.jl; joinpath; line: 61
1 ...e/csparse.jl; sparse; line: 73
1 path.jl; joinpath; line: 61
1 path.jl; joinpath; line: 61
1 path.jl; joinpath; line: 61
1 ...e/csparse.jl; sparse; line: 69
1 pcre.jl; exec; line: 128
1 pcre.jl; exec; line: 128
1 pcre.jl; exec; line: 126
1 ...e/csparse.jl; sparse; line: 71
1 pcre.jl; exec; line: 126
1 array.jl; setindex!; line: 298
1 printf.jl; _printf; line: 762
1 printf.jl; _printf; line: 762
1 printf.jl; _printf; line: 760
1 ...e/csparse.jl; sparse; line: 73
1 range.jl; StepRange; line: 35
1 range.jl; StepRange; line: 49
1 range.jl; StepRange; line: 42
1 ...e/csparse.jl; sparse; line: 74
1 show.jl; show_unquoted; line: 456
1 show.jl; show_unquoted; line: 456
1 show.jl; show_unquoted; line: 456
1 ...e/csparse.jl; sparse; line: 69
1 string.jl; _split; line: 1285
1 string.jl; _split; line: 1285
1 string.jl; _split; line: 1278
1 ...e/csparse.jl; sparse; line: 71
1 string.jl; escape_nul; line: 841
1 string.jl; escape_nul; line: 841
1 ...e/csparse.jl; sparse; line: 72
1 string.jl; isequal; line: 521
1 string.jl; isequal; line: 521
1 string.jl; isequal; line: 521
1 ...e/csparse.jl; sparse; line: 71
1 string.jl; lpad; line: 1239
1 string.jl; lpad; line: 1239
1 printf.jl; special_handler; line: 135
1 ...e/csparse.jl; sparse; line: 76
1 string.jl; parseint_nocheck; line: 1496
1 string.jl; parseint_nocheck; line: 1496
1 util.jl; warn; line: 196
1 ...e/csparse.jl; sparse; line: 73
1 string.jl; print; line: 623
1 string.jl; print; line: 623
1 string.jl; print; line: 623
1 ...e/csparse.jl; sparse; line: 71
1 string.jl; print_to_string; line: 21
1 string.jl; print_to_string; line: 21
1 stream.jl; init_stdio; line: 241
1 ...e/csparse.jl; sparse; line: 74
1 array.jl; getindex; line: 256
1 array.jl; copy!; line: 55
1 array.jl; unsafe_copy!; line: 42
4 dict.jl; rehash; line: 382
1 dict.jl; rehash; line: 397
1 ...e/csparse.jl; sparse; line: 72
1 inference.jl; to_tuple_of_Types; line: 742
1 ...e/csparse.jl; sparse; line: 71
1 linalg.jl; __init__; line: 224
1 ...e/csparse.jl; sparse; line: 73
1 reduce.jl; in; line: 117
1 ...e/csparse.jl; sparse; line: 72
1 string.jl; rstrip; line: 1429
1 ...e/csparse.jl; sparse; line: 71
1 sparse/csparse.jl; sparse; line: 71
1 sparse/csparse.jl; sparse; line: 72
1 sparse/csparse.jl; sparse; line: 76
1 sparse/csparse.jl; sparse; line: 71
1 sparse/csparse.jl; sparse; line: 71
1 sparse/csparse.jl; sparse; line: 69
1 sparse/csparse.jl; sparse; line: 71
4 dict.jl; rehash; line: 383
212 ...ext_proc_2.jl; dtm; line: 150
1 ...oc_2.jl; tokenize; line: 22
+3 211 ...c_2.jl; tokenize; line: 22
+5 138 string.jl; bytestring; line: 653
+7 1 ...c_2.jl; ngramize; line: 116
+7 109 ...c_2.jl; ngramize; line: 123
+9 1 utf8.jl; string; line: 134
+11 1 utf8.jl; string; line: 134
+11 1 utf8.jl; string; line: 135
+11 4 utf8.jl; string; line: 138
+14 1 utf8.jl; string; line: 135
+17 1 utf8.jl; string; line: 134
+7 28 ...c_2.jl; ngramize; line: 124
+11 1 array.jl; push!; line: 447
+15 24 string.jl; bytestring; line: 653
+19 22 array.jl; push!; line: 445
+19 2 array.jl; push!; line: 446
+8 53 string.jl; bytestring; line: 653
+9 1 string.jl; nextind; line: 127
+10 2 string.jl; nextind; line: 129
+11 1 string.jl; nextind; line: 127
+15 1 string.jl; nextind; line: 127
+20 2 string.jl; nextind; line: 127
+26 1 utf8.jl; endof; line: 36
+20 1 string.jl; nextind; line: 135
+22 1 utf8.jl; isvalid; line: 95
+16 9 utf8.jl; utf8; line: 161
10 ...ext_proc_2.jl; dtm; line: 151
338 ...ext_proc_2.jl; dtm; line: 152
4 array.jl; push!; line: 440
3 array.jl; push!; line: 440
1 array.jl; push!; line: 447
328 array.jl; push!; line: 445
1 array.jl; push!; line: 440
299 array.jl; push!; line: 444
+14 1 io.jl; close; line: 260
18 array.jl; push!; line: 445
10 array.jl; push!; line: 446
8 ...ext_proc_2.jl; dtm; line: 153
1 dict.jl; get!; line: 535
2 array.jl; push!; line: 445
2 dict.jl; get!; line: 535
1 dict.jl; get!; line: 535
40 ...ext_proc_2.jl; dtm; line: 154
3 array.jl; push!; line: 440
2 array.jl; push!; line: 440
2 array.jl; push!; line: 440
1 array.jl; push!; line: 447
31 array.jl; push!; line: 445
1 array.jl; push!; line: 440
5 array.jl; push!; line: 444
19 array.jl; push!; line: 445
6 array.jl; push!; line: 446
3 dict.jl; rehash; line: 387
4 dict.jl; rehash; line: 388
207 dict.jl; rehash; line: 391
1 dict.jl; int64hash; line: 223
202 dict.jl; hashindex; line: 360
5 dict.jl; rehash; line: 392
1 dict.jl; rehash; line: 393
7 dict.jl; rehash; line: 396
4 dict.jl; rehash; line: 397
3 dict.jl; rehash; line: 398
2 ...xt_proc_2.jl; dtm; line: 157
1 reduce.jl; maximum_rgn; line: 396
1 reduce.jl; maximum_rgn; line: 397
1 ...e/csparse.jl; sparse; line: 73
1 ...e/csparse.jl; sparse; line: 72
1 .../csparse.jl; sparse; line: 63
1 .../csparse.jl; sparse; line: 65
1 .../csparse.jl; sparse; line: 66
6 .../csparse.jl; sparse; line: 67
55 .../csparse.jl; sparse; line: 69
1 int.jl; +; line: 20
53 .../csparse.jl; sparse; line: 71
1 array.jl; setindex!; line: 298
1 array.jl; setindex!; line: 298
40 .../csparse.jl; sparse; line: 72
62 .../csparse.jl; sparse; line: 73
2 array.jl; setindex!; line: 298
36 .../csparse.jl; sparse; line: 74
1 array.jl; setindex!; line: 298
39 .../csparse.jl; sparse; line: 76
5 .../csparse.jl; sparse; line: 80
4 .../csparse.jl; sparse; line: 81
1 .../csparse.jl; sparse; line: 85
49 ..._proc_2.jl; dtm; line: 157
+7 1 ...arse.jl; sparse; line: 69
+7 1 ...arse.jl; sparse; line: 74
+15 1 ...arse.jl; sparse; line: 69
+17 1 ...arse.jl; sparse; line: 69
+21 1 ...arse.jl; sparse; line: 69
+36 1 ...rse.jl; sparse; line: 101
+36 1 ...rse.jl; sparse; line: 107
+36 2 ...rse.jl; sparse; line: 108
+36 26 ...rse.jl; sparse; line: 109
+36 14 ...rse.jl; sparse; line: 110
1 ...csparse.jl; sparse; line: 90
8 ...csparse.jl; sparse; line: 95
53 ...oc_2.jl; dtm; line: 157
+21 53 ...c_2.jl; ...ature_names; line: 166
+23 1 dict.jl; ht_keyindex; line: 441
+37 4 dict.jl; ht_keyindex; line: 441
+37 1 dict.jl; ht_keyindex; line: 443
+37 22 dict.jl; ht_keyindex; line: 448
+37 6 dict.jl; ht_keyindex; line: 451
+37 1 dict.jl; ht_keyindex; line: 452
+37 6 dict.jl; ht_keyindex; line: 460
+5 1 ...arse.jl; sparse; line: 71
Bad:
223 ...lia RF\text_proc_2.jl; dtm; line: 150
223 ...ulia RF\text_proc_2.jl; tokenize; line: 22
203 string.jl; bytestring; line: 652
1 ...lia RF\text_proc_2.jl; ngramize; line: 117
6 ...lia RF\text_proc_2.jl; ngramize; line: 119
1 ...lia RF\text_proc_2.jl; ngramize; line: 121
2 ...lia RF\text_proc_2.jl; ngramize; line: 122
94 ...lia RF\text_proc_2.jl; ngramize; line: 123
5 utf8.jl; string; line: 134
1 utf8.jl; string; line: 135
2 utf8.jl; string; line: 138
35 ...lia RF\text_proc_2.jl; ngramize; line: 124
1 array.jl; push!; line: 454
31 string.jl; bytestring; line: 652
1 array.jl; push!; line: 447
1 array.jl; push!; line: 451
26 array.jl; push!; line: 452
3 array.jl; push!; line: 453
4 string.jl; nextind; line: 127
1 utf8.jl; endof; line: 32
2 utf8.jl; endof; line: 35
1 string.jl; nextind; line: 135
1 utf8.jl; isvalid; line: 95
5 utf8.jl; utf8; line: 161
15 ...lia RF\text_proc_2.jl; dtm; line: 151
18 ...lia RF\text_proc_2.jl; dtm; line: 152
1 array.jl; push!; line: 447
3 array.jl; push!; line: 451
4 array.jl; push!; line: 452
9 array.jl; push!; line: 453
179 ...lia RF\text_proc_2.jl; dtm; line: 153
13 array.jl; push!; line: 452
1 dict.jl; get!; line: 463
3 array.jl; push!; line: 453
1 array.jl; push!; line: 454
1 dict.jl; get!; line: 463
3 dict.jl; get!; line: 470
47 dict.jl; get!; line: 473
5 dict.jl; get!; line: 474
18 ...lia RF\text_proc_2.jl; dtm; line: 154
5 array.jl; push!; line: 447
2 array.jl; push!; line: 451
7 array.jl; push!; line: 452
2 array.jl; push!; line: 453
2 array.jl; push!; line: 454
110 ...lia RF\text_proc_2.jl; dtm; line: 157
58 ...ulia RF\text_proc_2.jl; vocabulary_to_feature_names; line: 166
1 dict.jl; ht_keyindex; line: 368
35 dict.jl; ht_keyindex; line: 375
10 dict.jl; ht_keyindex; line: 378
1 dict.jl; ht_keyindex; line: 379
1 dict.jl; ht_keyindex; line: 382
1 dict.jl; ht_keyindex; line: 384
1 reduce.jl; maximum_rgn; line: 406
1 reduce.jl; maximum_rgn; line: 407
1 sparse/csparse.jl; sparse; line: 69
1 sparse/csparse.jl; sparse; line: 71
1 sparse/csparse.jl; sparse; line: 73
1 sparse/csparse.jl; sparse; line: 76
1 sparse/csparse.jl; sparse; line: 101
1 sparse/csparse.jl; sparse; line: 106
1 sparse/csparse.jl; sparse; line: 108
28 sparse/csparse.jl; sparse; line: 109
15 sparse/csparse.jl; sparse; line: 110
230 ...lia RF\text_proc_2.jl; tokenize; line: 22
1 regex.jl; matchall; line: 133
15 string.jl; bytestring; line: 652
1 ...lia RF\text_proc_2.jl; ngramize; line: 119
4 ...lia RF\text_proc_2.jl; ngramize; line: 123
10 ...lia RF\text_proc_2.jl; ngramize; line: 124
10 string.jl; bytestring; line: 652
10 array.jl; push!; line: 452
31 string.jl; map; line: 803
5 utf8.jl; getindex; line: 54
1 utf8.jl; getindex; line: 55
1 utf8.jl; getindex; line: 56
4 utf8.jl; getindex; line: 63
1 utf8.jl; getindex; line: 65
5 utf8.jl; getindex; line: 67
5 utf8.jl; getindex; line: 74
2 utf8.jl; getindex; line: 77
84 string.jl; map; line: 804
11 string.jl; lowercase; line: 786
3 string.jl; map; line: 805
80 string.jl; map; line: 808
10 io.jl; write; line: 67
5 io.jl; write; line: 68
2 iobuffer.jl; write; line: 232
1 iobuffer.jl; write; line: 236
2 io.jl; write; line: 86
8 iobuffer.jl; write; line: 232
13 iobuffer.jl; write; line: 233
6 iobuffer.jl; ensureroom; line: 133
2 iobuffer.jl; ensureroom; line: 151
3 string.jl; lowercase; line: 786
3 operators.jl; isequal; line: 11
3 iobuffer.jl; ensureroom; line: 133
6 iobuffer.jl; write; line: 234
2 iobuffer.jl; write; line: 236
4 iobuffer.jl; write; line: 238
2 iobuffer.jl; write; line: 241
4 iobuffer.jl; write; line: 242
4 utf8.jl; endof; line: 32
3 utf8.jl; endof; line: 33
1 utf8.jl; endof; line: 34
5 utf8.jl; endof; line: 35
1 utf8.jl; endof; line: 36
370 ...lia RF\text_proc_2.jl; vocabulary_to_feature_names; line: 163
3 ...lia RF\text_proc_2.jl; vocabulary_to_feature_names; line: 164
3 dict.jl; setindex!; line: 444
2 ...lia RF\text_proc_2.jl; vocabulary_to_feature_names; line: 166
1 abstractarray.jl; hvcat; line: 793
1 abstractarray.jl; hvcat; line: 793
1 abstractarray.jl; hvcat; line: 791
1 sparse/csparse.jl; sparse; line: 71
1 array.jl; _deleteat!; line: 416
1 array.jl; _deleteat!; line: 416
1 array.jl; splice!; line: 603
1 sparse/csparse.jl; sparse; line: 76
3 array.jl; append!; line: 467
135 array.jl; append!; line: 468
56 array.jl; append!; line: 469
3 array.jl; copy!; line: 52
51 array.jl; copy!; line: 55
42 array.jl; unsafe_copy!; line: 42
8 array.jl; unsafe_copy!; line: 48
1 array.jl; cumsum_pairwise; line: 1399
1 array.jl; cumsum_pairwise; line: 1395
1 array.jl; cumsum_pairwise; line: 1400
1 array.jl; cumsum_pairwise; line: 1395
1 array.jl; getindex; line: 120
80 array.jl; getindex; line: 244
7 array.jl; lexcmp; line: 824
2 array.jl; lexcmp; line: 826
37 array.jl; push!; line: 447
1 array.jl; push!; line: 447
1 string.jl; *; line: 76
1 sparse/csparse.jl; sparse; line: 74
1 string.jl; *; line: 76
21 array.jl; push!; line: 451
116 array.jl; push!; line: 452
5 sparse/csparse.jl; sparse; line: 31
1 sparse/csparse.jl; sparse; line: 45
1 sparse/csparse.jl; sparse; line: 46
1 sparse/csparse.jl; sparse; line: 47
2 sparse/csparse.jl; sparse; line: 49
3 sparse/csparse.jl; sparse; line: 50
9 sparse/csparse.jl; sparse; line: 51
1 sparse/csparse.jl; sparse; line: 56
52 string.jl; ==; line: 523
3 utf8.jl; endof; line: 32
23 utf8.jl; endof; line: 33
2 utf8.jl; endof; line: 34
18 utf8.jl; endof; line: 35
2 utf8.jl; endof; line: 36
2 string.jl; SubString; line: 599
1 string.jl; SubString; line: 607
15 string.jl; SubString; line: 611
17 array.jl; push!; line: 453
1 sparse/csparse.jl; sparse; line: 74
4 array.jl; setindex!; line: 305
1 dict.jl; _setindex!; line: 430
16 dict.jl; _setindex!; line: 431
14 dict.jl; _setindex!; line: 432
1 dict.jl; _setindex!; line: 432
1 dict.jl; setindex!; line: 454
1 sparse/csparse.jl; sparse; line: 69
1 dict.jl; _setindex!; line: 437
5 dict.jl; _setindex!; line: 439
1 dict.jl; ht_keyindex2; line: 397
4 string.jl; ==; line: 523
4 dict.jl; rehash; line: 309
4 dict.jl; get!; line: 463
66 dict.jl; get!; line: 464
53 array.jl; push!; line: 452
53 string.jl; ==; line: 523
38 array.jl; lexcmp; line: 824
7 array.jl; lexcmp; line: 826
13 string.jl; ==; line: 523
617 dict.jl; get!; line: 468
7 array.jl; push!; line: 452
3 dict.jl; ht_keyindex2; line: 394
4 string.jl; ==; line: 523
4 dict.jl; ht_keyindex2; line: 394
4 dict.jl; ht_keyindex2; line: 394
36 dict.jl; ht_keyindex2; line: 402
2 dict.jl; isslotempty; line: 289
20 dict.jl; ht_keyindex2; line: 403
17 dict.jl; ht_keyindex2; line: 404
28 dict.jl; ht_keyindex2; line: 407
1 dict.jl; isslotmissing; line: 291
2 dict.jl; ht_keyindex2; line: 411
400 dict.jl; ht_keyindex2; line: 413
28 array.jl; getindex; line: 244
5 operators.jl; isequal; line: 11
2 string.jl; ==; line: 523
2 dict.jl; ht_keyindex2; line: 414
88 dict.jl; ht_keyindex2; line: 417
2 dict.jl; ht_keyindex2; line: 426
189 dict.jl; get!; line: 470
95 array.jl; getindex; line: 244
1 operators.jl; >; line: 33
7 dict.jl; get!; line: 473
3 dict.jl; hashindex; line: 287
1 hashing.jl; hash_64_64; line: 11
1 hashing.jl; hash_64_64; line: 14
1 hashing.jl; hash_64_64; line: 16
7 dict.jl; ht_keyindex2; line: 394
2 dict.jl; ht_keyindex2; line: 396
293 dict.jl; ht_keyindex2; line: 397
2 base.jl; int; line: 101
1 dict.jl; hashindex; line: 287
4 hashing2.jl; hash; line: 162
1 int.jl; +; line: 33
4 dict.jl; ht_keyindex2; line: 399
72 dict.jl; ht_keyindex2; line: 402
20 dict.jl; isslotempty; line: 289
17 dict.jl; ht_keyindex2; line: 403
14 dict.jl; ht_keyindex2; line: 404
23 dict.jl; ht_keyindex2; line: 407
5 dict.jl; ht_keyindex2; line: 413
3 dict.jl; ht_keyindex2; line: 426
1 dict.jl; ht_keyindex; line: 368
86 dict.jl; isslotempty; line: 289
5 dict.jl; isslotmissing; line: 291
1 dict.jl; rehash; line: 308
1 array.jl; zeros; line: 167
313 dict.jl; rehash; line: 310
2 dict.jl; rehash; line: 315
2 dict.jl; rehash; line: 317
3 dict.jl; rehash; line: 318
3 dict.jl; hashindex; line: 287
2 hashing.jl; hash_64_64; line: 10
1 dict.jl; rehash; line: 319
3 dict.jl; rehash; line: 320
1 dict.jl; rehash; line: 322
1 dict.jl; rehash; line: 323
1 dict.jl; rehash; line: 325
2 dict.jl; setindex!; line: 444
49 dict.jl; setindex!; line: 450
45 dict.jl; _setindex!; line: 439
32 dict.jl; ht_keyindex2; line: 402
1 dict.jl; ht_keyindex2; line: 404
11 dict.jl; ht_keyindex2; line: 408
1 dict.jl; ht_keyindex2; line: 413
4 dict.jl; ht_keyindex2; line: 394
1 dict.jl; setindex!; line: 453
1 sparse/csparse.jl; sparse; line: 74
1 dict.jl; setindex!; line: 454
1 dict.jl; setindex!; line: 456
1 dict.jl; skip_deleted; line: 567
5 dict.jl; skip_deleted; line: 568
1 file.jl; pwd; line: 4
1 file.jl; pwd; line: 4
1 path.jl; abspath; line: 106
1 sparse/csparse.jl; sparse; line: 71
1 path.jl; abspath; line: 106
1 array.jl; setindex!; line: 305
2 hashing2.jl; hash; line: 162
256 hashing2.jl; hash; line: 163
4 array.jl; sizeof; line: 23
1 inference.jl; _sym_repl; line: 1708
1 inference.jl; _sym_repl; line: 1708
1 inference.jl; sym_replace; line: 1691
1 sparse/csparse.jl; sparse; line: 69
1 inference.jl; abstract_call; line: 753
1 inference.jl; abstract_call; line: 753
1 inference.jl; abstract_call; line: 829
1 sparse/csparse.jl; sparse; line: 73
1 inference.jl; abstract_call; line: 829
1 inference.jl; abstract_call; line: 804
1 inference.jl; abstract_call; line: 804
1 inference.jl; abstract_call; line: 808
1 sparse/csparse.jl; sparse; line: 74
1 inference.jl; abstract_call; line: 805
1 inference.jl; abstract_call; line: 805
1 inference.jl; abstract_call; line: 805
1 sparse/csparse.jl; sparse; line: 69
1 inference.jl; abstract_call_gf; line: 638
1 inference.jl; abstract_call_gf; line: 638
1 inference.jl; abstract_call_gf; line: 633
1 sparse/csparse.jl; sparse; line: 76
1 inference.jl; abstract_call_gf; line: 691
1 inference.jl; abstract_call_gf; line: 691
1 inference.jl; abstract_call_gf; line: 631
1 sparse/csparse.jl; sparse; line: 76
1 inference.jl; abstract_eval_symbol; line: 1023
1 inference.jl; abstract_eval_symbol; line: 1023
1 inference.jl; abstract_eval_symbol; line: 1039
1 sparse/csparse.jl; sparse; line: 69
1 inference.jl; anonymous; line: 345
1 inference.jl; anonymous; line: 345
1 inference.jl; anonymous; line: 345
1 sparse/csparse.jl; sparse; line: 72
1 inference.jl; anonymous; line: 453
1 sparse/csparse.jl; sparse; line: 72
1 inference.jl; anonymous; line: 1188
1 sparse/csparse.jl; sparse; line: 71
1 inference.jl; anonymous; line: 2621
1 inference.jl; anonymous; line: 2621
1 inference.jl; anonymous; line: 2621
1 sparse/csparse.jl; sparse; line: 69
1 inference.jl; inlineable; line: 1976
1 inference.jl; inlineable; line: 1976
1 inference.jl; inlineable; line: 1969
1 sparse/csparse.jl; sparse; line: 74
1 inference.jl; inlineable; line: 1994
1 inference.jl; inlineable; line: 1994
1 inference.jl; inlineable; line: 1988
1 sparse/csparse.jl; sparse; line: 74
1 inference.jl; inlineable; line: 1988
1 array.jl; setindex!; line: 305
1 inference.jl; inlineable; line: 2051
1 inference.jl; inlineable; line: 2051
1 inference.jl; inlineable; line: 2045
1 sparse/csparse.jl; sparse; line: 76
1 inference.jl; inlineable; line: 2045
1 inference.jl; inlineable; line: 2066
1 inference.jl; inlineable; line: 2159
1 inference.jl; inlineable; line: 2159
1 inference.jl; inlineable; line: 2157
1 sparse/csparse.jl; sparse; line: 76
1 inference.jl; inlineable; line: 2157
1 inference.jl; inlineable; line: 2181
1 inference.jl; inlineable; line: 2182
1 inference.jl; inlineable; line: 2182
1 inference.jl; inlineable; line: 2157
1 sparse/csparse.jl; sparse; line: 72
1 inference.jl; inlining_pass; line: 2415
1 inference.jl; inlining_pass; line: 2415
1 inference.jl; inlining_pass; line: 2397
1 sparse/csparse.jl; sparse; line: 72
1 inference.jl; is_known_call; line: 2568
1 inference.jl; is_known_call; line: 2568
1 sparse/csparse.jl; sparse; line: 73
1 array.jl; setindex!; line: 305
1 inference.jl; is_var_assigned; line: 2580
1 inference.jl; is_var_assigned; line: 2580
1 inference.jl; is_var_assigned; line: 2581
1 sparse/csparse.jl; sparse; line: 76
1 inference.jl; is_var_assigned; line: 2581
1 inference.jl; replace_tupleref!; line: 2784
1 inference.jl; replace_tupleref!; line: 2784
1 inference.jl; replace_tupleref!; line: 2777
1 sparse/csparse.jl; sparse; line: 72
1 inference.jl; to_tuple_of_Types; line: 744
1 inference.jl; to_tuple_of_Types; line: 744
1 inference.jl; to_tuple_of_Types; line: 743
1 sparse/csparse.jl; sparse; line: 71
1 inference.jl; typeinf; line: 1306
1 inference.jl; typeinf; line: 1306
1 inference.jl; typeinf; line: 1224
1 sparse/csparse.jl; sparse; line: 74
1 inference.jl; typeinf; line: 1307
1 inference.jl; typeinf; line: 1464
1 inference.jl; typeinf; line: 1464
1 inference.jl; typeinf; line: 1362
1 sparse/csparse.jl; sparse; line: 69
1 inference.jl; typeinf; line: 1497
1 inference.jl; unique_names; line: 2544
1 inference.jl; unique_names; line: 2544
1 sparse/csparse.jl; sparse; line: 71
1 no file; anonymous; line: 604
1 no file; anonymous; line: 604
1 no file; anonymous; line: 602
1 sparse/csparse.jl; sparse; line: 69
1 operators.jl; anonymous; line: 320
1 operators.jl; anonymous; line: 320
1 operators.jl; anonymous; line: 320
1 sparse/csparse.jl; sparse; line: 69
17 operators.jl; isequal; line: 11
16 string.jl; ==; line: 523
2 array.jl; lexcmp; line: 824
1 array.jl; lexcmp; line: 826
1 pcre.jl; exec; line: 115
1 pcre.jl; exec; line: 115
1 pcre.jl; exec; line: 115
1 sparse/csparse.jl; sparse; line: 73
1 printf.jl; gen; line: 12
1 printf.jl; gen; line: 12
1 printf.jl; gen; line: 16
1 sparse/csparse.jl; sparse; line: 72
87 profile.jl; anonymous; line: 9
87 profile.jl; anonymous; line: 14
3 ...ulia RF\text_proc_2.jl; dtm; line: 145
1 range.jl; StepRange; line: 17
322 reduce.jl; sum_seq; line: 227
322 reduce.jl; sum_seq; line: 227
322 reduce.jl; sum_seq; line: 226
322 sparse/csparse.jl; sparse; line: 71
2 reflection.jl; _methods; line: 80
2 reflection.jl; _methods; line: 84
2 array.jl; copy!; line: 55
2 inference.jl; typeinf; line: 1222
1 reflection.jl; _methods; line: 97
1 reflection.jl; _methods; line: 80
1 regex.jl; compile; line: 43
3 regex.jl; matchall; line: 134
1 regex.jl; matchall; line: 136
4 regex.jl; matchall; line: 138
9 regex.jl; matchall; line: 154
5 array.jl; push!; line: 452
2 array.jl; push!; line: 453
2 string.jl; SubString; line: 599
67 regex.jl; matchall; line: 167
48 regex.jl; matchall; line: 138
18 regex.jl; matchall; line: 154
17 array.jl; push!; line: 452
1 string.jl; SubString; line: 599
1 regex.jl; matchall; line: 155
1 socket.jl; getipaddr; line: 547
1 sparse/csparse.jl; sparse; line: 76
1 socket.jl; getipaddr; line: 547
2 sparse/csparse.jl; sparse; line: 65
2 sparse/csparse.jl; sparse; line: 66
7 sparse/csparse.jl; sparse; line: 67
64 sparse/csparse.jl; sparse; line: 69
389 sparse/csparse.jl; sparse; line: 71
5 array.jl; setindex!; line: 305
694 sparse/csparse.jl; sparse; line: 72
1 operators.jl; !=; line: 26
1351 sparse/csparse.jl; sparse; line: 73
2 array.jl; setindex!; line: 305
36 sparse/csparse.jl; sparse; line: 74
3 array.jl; setindex!; line: 305
362 sparse/csparse.jl; sparse; line: 76
1 int.jl; +; line: 33
3 sparse/csparse.jl; sparse; line: 80
1 sparse/csparse.jl; sparse; line: 81
330 sparse/csparse.jl; sparse; line: 86
330 profile.jl; init; line: 25
330 base.jl; Array; line: 188
12 sparse/csparse.jl; sparse; line: 95
1 stream.jl; unpreserve_handle; line: 18
1 stream.jl; unpreserve_handle; line: 18
1 stream.jl; stream_wait; line: 251
1 sparse/csparse.jl; sparse; line: 69
877 string.jl; ==; line: 523
15 array.jl; lexcmp; line: 824
3 array.jl; lexcmp; line: 826
1 dict.jl; rehash; line: 309
1 dict.jl; rehash; line: 314
3 dict.jl; rehash; line: 315
6 dict.jl; rehash; line: 316
3 dict.jl; rehash; line: 317
294 dict.jl; rehash; line: 318
1 base.jl; int; line: 101
3 hashing2.jl; hash; line: 162
21 dict.jl; rehash; line: 319
28 dict.jl; rehash; line: 320
1 int.jl; +; line: 33
24 dict.jl; rehash; line: 322
28 dict.jl; rehash; line: 323
22 dict.jl; rehash; line: 324
1 dict.jl; rehash; line: 325
3 utf8.jl; endof; line: 32
205 utf8.jl; endof; line: 33
1 utf8.jl; endof; line: 34
218 utf8.jl; endof; line: 35
3 string.jl; bytestring; line: 34
1 string.jl; bytestring; line: 652
1 string.jl; ==; line: 523
10 string.jl; lowercase; line: 786
10 operators.jl; isequal; line: 11
1 iobuffer.jl; ensureroom; line: 133
2 iobuffer.jl; ensureroom; line: 138
2 iobuffer.jl; ensureroom; line: 147
1 iobuffer.jl; ensureroom; line: 148
3 iobuffer.jl; ensureroom; line: 149
1 iobuffer.jl; ensureroom; line: 151
10 string.jl; map; line: 801
2 utf8.jl; endof; line: 32
2 utf8.jl; endof; line: 33
2 utf8.jl; endof; line: 35
5 string.jl; map; line: 804
1 string.jl; lowercase; line: 786
1 string.jl; print_to_string; line: 21
1 string.jl; print_to_string; line: 21
1 dict.jl; setindex!; line: 445
1 sparse/csparse.jl; sparse; line: 67
4 utf8.jl; endof; line: 33
8 utf8.jl; endof; line: 35
1 utf8.jl; endof; line: 36
2 utf8.jl; getindex; line: 67
1 utf8.jl; getindex; line: 107
1 utf8.jl; getindex; line: 107
1 string.jl; ==; line: 523
1 sparse/csparse.jl; sparse; line: 71
6 utf8.jl; isvalid; line: 95
71 utf8.jl; string; line: 138
2 utf8.jl; string; line: 139
76 utf8.jl; string; line: 140
10 array.jl; append!; line: 464
8 array.jl; append!; line: 469
3 array.jl; copy!; line: 52
5 array.jl; copy!; line: 55
1 array.jl; unsafe_copy!; line: 42
1 array.jl; unsafe_copy!; line: 48
1 array.jl; append!; line: 470
14 utf8.jl; string; line: 142
Seems likely to be Dict
and hash
related.
Is the dataset available so I can try to reproduce this?
The shootout benchmark k_nucleotide
also uses Dicts, and regressed 4x within the same time window.
Please try again. Reopen if not fixed.
Note that if you can't reopen, you can just comment and someone will reopen it for you.
I am currently working on a high performance text analytics package for Julia.
When today I installed the new release I got a 5 times decrease in performance with the current Julia build (
Version 0.3.0-prerelease+3225 (2014-05-27 03:45 UTC)
) when compared to an older build (Version 0.3.0-prerelease+2727 (2014-04-23 18:25 UTC)
). It is not clear why this is happening. When reinstalling the old version it works as expected. I used the windows x64 build.The code is quite long but perhaps the bottleneck is clear. Otherwise I can try to make a more simple showcase of the performance problem. I am still learning Julia so perhaps it is an obvious mistake.