āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻŽāĻ¨ā§ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ˛ā§āĻĒā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻĻā§āĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯?
if a > b && c*2 > d {
....
}
// и
if a <= b {
continue;
}
if c*2 > d {
....
}
āĻāĻāĻŋ āĻ¸āĻŦ āĻāĻāĻāĻŋ "āĻŦā§āĻ°ā§āĻ¨ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻŽ-āĻāĻĒ" āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛; āĻāĻŽāĻžāĻā§ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĻ° [-x....x] āĻ
ā§āĻ¯āĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦāĻĄāĻŧ āĻā§āĻĄāĻŧ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻŽāĻŋ āĻāĻžāĻŦāĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻž āĻā§āĻĄāĻŧ āĻāĻŋ āĻ¨āĻž āĻ¤āĻž āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻŽāĻŋ 1 āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻā§āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻ¤āĻāĻž āĻāĻžāĻ˛ā§ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻšāĻŦā§āĨ¤
//Ņ ŅĐĩŅĐŊŅŅ
ŅиŅĐĩĐģ ĐŋĐžŅĐģĐĩĐ´ĐŊиК йиŅ вŅĐĩĐŗĐ´Đ° ŅавĐĩĐŊ 0
value & 1 == 0
//vs ĐēĐģĐ°ŅŅиŅĐĩŅĐēиК ĐŧĐĩŅОд
value % 2 == 0
āĻā§-āĻ¤ā§ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤ āĻ¨āĻ¯āĻŧ, āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻĄāĻŧ āĻŦāĻāĻ°ā§āĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ, āĻ¯āĻĻāĻŋāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻĒāĻ¯ā§āĻā§ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ (āĻāĻžāĻ˛, āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻāĻā§āĻ-āĻ˛ā§āĻĄ HTTP āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻžāĻĄāĻŧāĻž), āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ GoLand āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ˛āĻŋāĻā§āĻ¨
package main
import (
"fmt"
"log"
"math"
"math/rand"
"time"
)
const size = 100000000 //math.MaxInt32*2
type Result struct {
Name string
Duration time.Duration
Value int32
}
func main() {
log.Println("initial array capacity: " + fmt.Sprint(size))
var maxValue int32
// ĐŅĐ´ĐĩĐŧ ваŅŅиŅОваŅŅ диаĐŋаСОĐŊ ŅиŅĐĩĐģ ĐžŅ ĐŧиĐŊиĐŧĐ°ĐģŅĐŊĐžĐŗĐž
// Đ´Đž ĐŧĐ°ĐēŅиĐŧĐ°ĐģŅĐŊĐžĐŗĐž. ЧĐĩĐŧ ĐŧĐĩĐŊŅŅĐĩ диаĐŋаСОĐŊ, ŅĐĩĐŧ йОĐģŅŅĐĩ
// ĐŋŅĐžŅĐĩŅŅĐžŅĐŊĐžĐŗĐž вŅĐĩĐŧĐĩĐŊи ĐąŅĐ´ĐĩŅ ŅŅ
ОдиŅŅ ĐŊĐ° ĐžĐŋĐĩŅĐ°ŅиŅ
// ŅŅавĐŊĐĩĐŊиŅ ŅĐĩĐēŅŅĐĩĐŗĐž ŅиŅĐģĐ°, Ņ ŅĐ°ĐŊĐĩĐĩ ĐŊаКдĐĩĐŊĐŊŅĐŧ и ĐŊаОйОŅĐžŅ
for maxValue = 128; maxValue < math.MaxInt32/2+1; maxValue = maxValue * 2 {
test(maxValue)
}
}
func test(maxValue int32) {
log.Println("max threshold: " + fmt.Sprint(maxValue))
arr := make([]int32, size)
for i := range arr {
arr[i] = rand.Int31n(maxValue)
// в ŅĐĩŅŅОвŅŅ
Đ´Đ°ĐŊĐŊŅŅ
ĐŊĐ°Đŧ ĐŊŅĐļĐŊŅ и ĐžŅŅиŅĐ°ŅĐĩĐģŅĐŊŅĐĩ ŅиŅĐģĐ°
sign := rand.Intn(2)
if sign == 1 {
arr[i] = -arr[i]
}
}
// СаĐŋŅŅĐēĐ°ĐĩĐŧ ŅĐĩŅŅ "Đ´ĐĩĐģĐĩĐŊиĐĩ Ņ ĐžŅŅĐ°ŅĐēĐžĐŧ"
result := maxEvenDividing("maxEvenDividing", arr)
log.Printf(result.Name+"t result: "+fmt.Sprint(result.Value)+"ttduration %s", result.Duration)
// СаĐŋŅŅĐēĐ°ĐĩĐŧ ŅĐĩŅŅ "ĐēĐžĐŊŅŅĐŊĐēŅии"
result = maxEvenConjunction("maxEvenConjunction", arr)
log.Printf(result.Name+"t result: "+fmt.Sprint(result.Value)+"ttduration %s", result.Duration)
}
func maxEvenDividing(name string, arr []int32) Result {
start := time.Now()
var current int32 = math.MinInt32
for _, value := range arr {
if value > current && value%2 == 0 {
current = value
}
}
duration := time.Since(start)
result := Result{name, duration, current}
return result
}
func maxEvenConjunction(name string, arr []int32) Result {
start := time.Now()
var current int32 = math.MinInt32
for _, value := range arr {
if value > current && value&1 == 0 {
current = value
}
}
duration := time.Since(start)
result := Result{name, duration, current}
return result
}
āĻāĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒāĻžāĻ āĻ¯āĻž āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻ¯āĻ¤ āĻŦā§āĻļāĻŋ āĻšāĻŦā§, āĻāĻžāĻ°ā§āĻ¯āĻā§āĻˇāĻŽāĻ¤āĻžāĻ¯āĻŧ āĻ¤āĻ¤ āĻŦā§āĻļāĻŋ āĻāĻ āĻžāĻ¨āĻžāĻŽāĻž āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¤ā§āĻ˛āĻ¨āĻžmax threshold: 128
maxEvenDividing result: 126 duration 116.0067ms
maxEvenConjunction result: 126 duration 116.0066ms
max threshold: 16384
maxEvenDividing result: 16382 duration 115.0066ms
maxEvenConjunction result: 16382 duration 111.0064ms
......
max threshold: 8388608
maxEvenDividing result: 8388606 duration 109.0063ms
maxEvenConjunction result: 8388606 duration 109.0062ms
max threshold: 16777216
maxEvenDividing result: 16777214 duration 108.0062ms
maxEvenConjunction result: 16777214 duration 109.0062ms
max threshold: 33554432
maxEvenDividing result: 33554430 duration 114.0066ms
maxEvenConjunction result: 33554430 duration 110.0063ms
max threshold: 67108864
maxEvenDividing result: 67108860 duration 111.0064ms
maxEvenConjunction result: 67108860 duration 109.0062ms
max threshold: 134217728
maxEvenDividing result: 134217726 duration 108.0062ms
maxEvenConjunction result: 134217726 duration 109.0063ms
max threshold: 268435456
maxEvenDividing result: 268435446 duration 111.0063ms
maxEvenConjunction result: 268435446 duration 110.0063ms
āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĄā§āĻāĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°ā§āĻ° āĻ˛ā§āĻĄ (āĻāĻŽāĻžāĻ° i5-2540M āĻ˛ā§āĻ¯āĻžāĻĒāĻāĻĒā§) āĻĒā§āĻ°āĻžāĻ¯āĻŧ 20..30% āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ, GoLand āĻĨā§āĻā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻāĻāĻ˛ āĻāĻ°āĻž āĻŽā§āĻŽāĻ°āĻŋ āĻāĻĄāĻŧā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 813MB - āĻāĻāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯āĻ¤āĻžāĻā§āĻ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻā§āĻ¸ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻā§ āĻ
āĻĒāĻ°ā§āĻ° āĻĨā§āĻā§ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻŦāĻ āĻāĻāĻ¨, āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻāĻ°āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻāĻžāĻŦā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻžāĻāĻžāĻŦāĻ¨āĻž āĻāĻ°ā§, āĻāĻŽāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻļāĻ°ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻāĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻŋ
if value > current && value&1 == 0 {
current = value
}
āĻāĻĒāĻ°
if value <= current {
continue;
}
if value&1 == 0 {
current = value
}
āĻāĻŽāĻŋ āĻāĻŦāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ... āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻŋāĻā§ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻāĻŋ āĻ¨āĻž :)
āĻāĻžāĻ°ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻž āĻ¸āĻŽāĻ¯āĻŧāĻāĻŋ āĻļāĻ¤āĻžāĻāĻļā§āĻ° āĻļāĻ¤āĻžāĻāĻļ/āĻāĻā§āĻ¨āĻžāĻāĻļā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ° āĻāĻ˛āĻžāĻĻāĻž āĻšāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻ¨āĻž, āĻ¤āĻŦā§ 10..15% āĻĻā§āĻŦāĻžāĻ°āĻžāĨ¤ āĻāĻŽāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻ°āĻ 2āĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§āĻ āĻāĻ°āĻŋ:
func maxEvenDividing2(name string, arr []int32) Result {
start := time.Now()
var current int32 = math.MinInt32
for _, value := range arr {
if value <= current {
continue
}
if value%2 == 0 {
current = value
}
}
duration := time.Since(start)
result := Result{name, duration, current}
return result
}
func maxEvenConjunction2(name string, arr []int32) Result {
start := time.Now()
var current int32 = math.MinInt32
for _, value := range arr {
if value <= current {
continue
}
if value&1 == 0 {
current = value
}
}
duration := time.Since(start)
result := Result{name, duration, current}
return result
}
āĻāĻŽāĻŋ āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ āĻāĻŦāĻ āĻāĻ āĻāĻŦāĻŋāĻāĻŋ āĻĒāĻžāĻ:āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻā§āĻˇāĻŽāĻ¤āĻž: 100000000
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 128
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 126 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 116.0066ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 126 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 79.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 126 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0065ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 126 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 83.0048ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 256
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 254 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 254 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 254 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 110.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 254 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 512
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 510 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0066ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 510 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 510 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 110.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 510 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 1024
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 1022 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 1022 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 1022 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 1022 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 81.0047ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 2048
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 2046 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0065ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 2046 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 79.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 2046 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 113.0065ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 2046 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 81.0046ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 4096
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 4094 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0065ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 4094 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 4094 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 4094 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 8192
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 8190 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 107.0062ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 8190 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 8190 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 8190 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 16384
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 16382 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 16382 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 16382 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 108.0062ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 16382 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 32768
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 32766 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 112.0064ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 32766 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 32766 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 32766 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 65536
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 65534 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 65534 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 75.0043ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 65534 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 65534 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 79.0045ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 131072
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 131070 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 108.0061ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 131070 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 76.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 131070 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 110.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 131070 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 262144
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 262142 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 110.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 262142 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 76.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 262142 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 107.0061ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 262142 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 524288
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 524286 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 524286 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 524286 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 524286 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 1048576
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 1048574 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 1048574 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 1048574 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0066ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 1048574 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 2097152
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 2097150 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0064ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 2097150 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 79.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 2097150 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 112.0064ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 2097150 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 4194304
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 4194302 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 4194302 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 4194302 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 4194302 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 8388608
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 8388606 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 8388606 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 8388606 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0065ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 8388606 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 16777216
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 16777214 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 16777214 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 16777214 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 16777214 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 33554432
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 33554430 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 113.0065ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 33554430 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 33554430 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 110.0063ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 33554430 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0045ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 67108864
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 67108860 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 112.0064ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 67108860 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 77.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 67108860 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 112.0064ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 67108860 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 134217728
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 134217726 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0063ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 134217726 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 78.0044ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 134217726 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0065ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 134217726 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 81.0047ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 268435456
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 268435446 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 111.0064ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 268435446 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 79.0045ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 268435446 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 114.0065ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 268435446 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 79.0045ms
āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ: 536870912
maxEvenDivding āĻĢāĻ˛āĻžāĻĢāĻ˛: 536870910 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 107.0062ms
maxEvenDiving2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 536870910 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 76.0043ms
maxEvenConjunction āĻĢāĻ˛āĻžāĻĢāĻ˛: 536870910 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 109.0062ms
maxEvenConjunction2 āĻĢāĻ˛āĻžāĻĢāĻ˛: 536870910 āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ 80.0046ms
āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¨āĻŋ āĻā§āĻ¨ āĻā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻā§āĻĄāĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°ā§ āĻ¨āĻž āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻļāĻ°ā§āĻ¤āĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§, āĻāĻŽāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻšāĻ˛ā§āĻāĨ¤ āĻ āĻĨāĻŦāĻž āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻŽāĻžāĻ° āĻā§āĻ āĻļā§āĻ§ā§ āĻāĻžāĻĒāĻ¸āĻž āĻāĻŦāĻ āĻāĻŽāĻŋ āĻā§āĻ¨ āĻ¸ā§āĻĒāĻˇā§āĻ āĻā§āĻ˛ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻ¨āĻž? āĻ āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŋāĻā§ āĻŦāĻŋāĻļā§āĻˇ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§? āĻāĻŽāĻŋ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻ¨ā§āĻ¯ āĻā§āĻļāĻŋ āĻšāĻŦā§.
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻšā§āĻ¯āĻžāĻ, āĻļā§āĻ§ā§ āĻŽāĻāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻŋ āĻāĻžāĻāĻž 5 āĻāĻŦāĻ āĻāĻžāĻāĻž 7/8-āĻ āĻāĻāĻ āĻ°āĻāĻŽ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§āĻāĻŋ - āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°, āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com