From 6b4805ca1a1b0758363d1bb8c4c996730e19dc5a Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 26 Aug 2017 21:58:18 +0900 Subject: Optimize rank comparison on x86 (little-endian) --- src/result_x86.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/result_x86.go (limited to 'src/result_x86.go') diff --git a/src/result_x86.go b/src/result_x86.go new file mode 100644 index 00000000..60e26e99 --- /dev/null +++ b/src/result_x86.go @@ -0,0 +1,16 @@ +// +build 386 amd64 + +package fzf + +import "unsafe" + +func compareRanks(irank Result, jrank Result, tac bool) bool { + left := *(*uint64)(unsafe.Pointer(&irank.points[0])) + right := *(*uint64)(unsafe.Pointer(&jrank.points[0])) + if left < right { + return true + } else if left > right { + return false + } + return (irank.item.Index() <= jrank.item.Index()) != tac +} -- cgit v1.2.3