Skip to content

Commit

Permalink
fix: poor performance in atof32
Browse files Browse the repository at this point in the history
  • Loading branch information
liuq19 committed Sep 13, 2022
1 parent 734b06e commit be18179
Show file tree
Hide file tree
Showing 17 changed files with 2,586 additions and 4,793 deletions.
3 changes: 2 additions & 1 deletion encoder/assembler_amd64_go116.go
Expand Up @@ -852,7 +852,8 @@ func (self *_Assembler) _asm_OP_f32(_ *_Instr) {
self.save_c() // SAVE $C_regs
self.rbuf_di() // MOVQ RP, DI
self.Emit("MOVSS" , jit.Ptr(_SP_p, 0), _X0) // MOVSS (SP.p), X0
self.call_c(_F_f32toa) // CALL_C f64toa
self.Emit("CVTSS2SD", _X0, _X0) // CVTSS2SD X0, X0
self.call_c(_F_f32toa) // CALL_C f32toa
self.Emit("ADDQ" , _AX, _RL) // ADDQ AX, RL
}

Expand Down
3 changes: 2 additions & 1 deletion encoder/assembler_amd64_go117.go
Expand Up @@ -865,7 +865,8 @@ func (self *_Assembler) _asm_OP_f32(_ *_Instr) {
self.save_c() // SAVE $C_regs
self.rbuf_di() // MOVQ RP, DI
self.Emit("MOVSS" , jit.Ptr(_SP_p, 0), _X0) // MOVSS (SP.p), X0
self.call_c(_F_f32toa) // CALL_C f64toa
self.Emit("CVTSS2SD", _X0, _X0) // CVTSS2SD X0, X0
self.call_c(_F_f32toa) // CALL_C f32toa
self.Emit("ADDQ" , _AX, _RL) // ADDQ AX, RL
}

Expand Down
4 changes: 2 additions & 2 deletions internal/native/avx/fastfloat_amd64_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/native/avx/native_amd64.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2,387 changes: 825 additions & 1,562 deletions internal/native/avx/native_amd64.s

Large diffs are not rendered by default.

36 changes: 18 additions & 18 deletions internal/native/avx/native_subr_amd64.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions internal/native/avx2/fastfloat_amd64_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/native/avx2/native_amd64.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit be18179

Please sign in to comment.