You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Most programs will run about the same speed or slightly faster in 1.4 than in 1.3;
234
+
some will be slightly slower.
235
+
There are many changes, making it hard to be precise about what to expect.
236
+
</p>
237
+
238
+
<p>
239
+
As mentioned above, much of the runtime was translated to Go from C,
240
+
which led to some reduction in heap sizes.
241
+
It also improved performance slightly because the Go compiler is better
242
+
at optimization, due to things like inlining, than the C compiler used to build
243
+
the runtime.
244
+
</p>
245
+
246
+
<p>
247
+
The garbage collector was sped up, leading to measurable improvements for
248
+
garbage-heavy programs.
249
+
On the other hand, the new write barriers slow things down again, typically
250
+
by about the same amount but, depending on their behavior, some programs
251
+
may be somewhat slower or faster.
252
+
</p>
253
+
254
+
<p>
255
+
Library changes that affect performance are documented below.
181
256
</p>
182
257
183
258
<h2id="library">Changes to the standard library</h2>
@@ -209,8 +284,6 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
209
284
210
285
<pre>
211
286
212
-
the directory src/pkg has been deleted, for instance src/pkg/fmt is now just src/fmt (CL 134570043)
213
-
214
287
cmd/6l, liblink: use pc-relative addressing for all memory references, so that linking Go binaries at high addresses works (CL 125140043). This cuts the maximum size of a Go binary's text+data+bss from 4GB to 2GB.
215
288
cmd/go: import comments (CL 124940043)
216
289
cmd/go: implement "internal" (CL 120600043)
@@ -237,8 +310,8 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
os: implement symlink support for windows (CL 86160044)
239
312
reflect: add type.Comparable (CL 144020043)
313
+
reflect: Value is one word smaller
240
314
runtime: implement monotonic clocks on windows (CL 108700045)
241
-
runtime: memory consumption is reduced by 10-30% (CL 106260045 removes type info from heap, CL 145790043 reduces stack size to 2K (4K on plan 9 and windows))
242
315
runtime: MemStats.Mallocs now counts very small allocations missed in Go 1.3. This may break tests using runtime.ReadMemStats or testing.AllocsPerRun by giving a more accurate answer than Go 1.3 did (CL 143150043).
243
316
runtime/race: freebsd is supported (CL 107270043)
244
317
swig: Due to runtime changes Go 1.4 will require SWIG 3.0.3 (not yet released)
0 commit comments