I've got this code
package main
import (
"bytes"
"log"
"net/http"
"strconv"
"time"
)
func main() {
http.HandleFunc("/", Method)
log.Printf("Server Started")
log.Fatal(http.ListenAndServe(":8080", nil))
}
func Method(pResponse http.ResponseWriter, pRequest *http.Request) {
timeInitial := time.Now()
log.Printf(strconv.Itoa(timeInitial.Nanosecond()), strconv.FormatFloat(time.Now().Sub(timeInitial).Seconds()*1000, 'f', 2, 64))
buf := new(bytes.Buffer)
buf.ReadFrom(pRequest.Body)
buf.Bytes()
log.Printf(strconv.Itoa(timeInitial.Nanosecond()), strconv.FormatFloat(time.Now().Sub(timeInitial).Seconds()*1000, 'f', 2, 64))
}
In this machine:
- Processor : 2 GHz Intel Core i7
- Memory: 8 GB 1600 MHz DDR3
- OS: Yosemite version 10.10.5
The result is this:
2015/08/28 23:09:59 444255510%!(EXTRA string=0.00)
2015/08/28 23:09:59 444255510%!(EXTRA string=0.06)
2015/08/28 23:09:59 472140004%!(EXTRA string=0.00)
2015/08/28 23:09:59 472140004%!(EXTRA string=1.06)
2015/08/28 23:09:59 473322028%!(EXTRA string=0.00)
2015/08/28 23:09:59 473322028%!(EXTRA string=0.01)
2015/08/28 23:09:59 473377991%!(EXTRA string=0.00)
2015/08/28 23:09:59 473377991%!(EXTRA string=0.02)
2015/08/28 23:09:59 483981504%!(EXTRA string=0.00)
2015/08/28 23:09:59 483981504%!(EXTRA string=0.06)
2015/08/28 23:09:59 487652426%!(EXTRA string=0.00)
2015/08/28 23:09:59 487652426%!(EXTRA string=0.07)
2015/08/28 23:09:59 488064359%!(EXTRA string=0.00)
2015/08/28 23:09:59 488064359%!(EXTRA string=0.07)
2015/08/28 23:09:59 493007447%!(EXTRA string=0.00)
2015/08/28 23:09:59 493007447%!(EXTRA string=0.36)
2015/08/28 23:09:59 506383690%!(EXTRA string=0.00)
2015/08/28 23:09:59 506383690%!(EXTRA string=0.02)
2015/08/28 23:09:59 516324968%!(EXTRA string=0.00)
2015/08/28 23:09:59 516324968%!(EXTRA string=0.02)
2015/08/28 23:09:59 516484292%!(EXTRA string=0.00)
2015/08/28 23:09:59 516484292%!(EXTRA string=0.02)
2015/08/28 23:09:59 526459027%!(EXTRA string=0.00)
2015/08/28 23:09:59 526459027%!(EXTRA string=0.03)
2015/08/28 23:09:59 526568984%!(EXTRA string=0.00)
2015/08/28 23:09:59 526568984%!(EXTRA string=0.02)
2015/08/28 23:09:59 526645341%!(EXTRA string=0.00)
2015/08/28 23:09:59 526645341%!(EXTRA string=0.01)
2015/08/28 23:09:59 533764558%!(EXTRA string=0.00)
2015/08/28 23:09:59 533764558%!(EXTRA string=0.02)
2015/08/28 23:09:59 533872219%!(EXTRA string=0.00)
2015/08/28 23:09:59 533872219%!(EXTRA string=0.02)
2015/08/28 23:09:59 542355931%!(EXTRA string=0.00)
2015/08/28 23:09:59 542355931%!(EXTRA string=0.04)
2015/08/28 23:09:59 549176497%!(EXTRA string=0.00)
2015/08/28 23:09:59 549176497%!(EXTRA string=0.03)
2015/08/28 23:09:59 559803436%!(EXTRA string=0.00)
2015/08/28 23:09:59 559803436%!(EXTRA string=0.05)
2015/08/28 23:09:59 559913211%!(EXTRA string=0.00)
2015/08/28 23:09:59 559913211%!(EXTRA string=0.01)
2015/08/28 23:09:59 579428530%!(EXTRA string=0.00)
2015/08/28 23:09:59 579428530%!(EXTRA string=0.05)
2015/08/28 23:09:59 585453710%!(EXTRA string=0.00)
2015/08/28 23:09:59 585453710%!(EXTRA string=0.03)
2015/08/28 23:09:59 587231793%!(EXTRA string=0.00)
2015/08/28 23:09:59 587231793%!(EXTRA string=0.02)
2015/08/28 23:09:59 601407050%!(EXTRA string=0.00)
2015/08/28 23:09:59 601407050%!(EXTRA string=0.02)
2015/08/28 23:09:59 609160787%!(EXTRA string=0.00)
2015/08/28 23:09:59 609160787%!(EXTRA string=0.02)
2015/08/28 23:09:59 617953845%!(EXTRA string=0.00)
2015/08/28 23:09:59 617953845%!(EXTRA string=0.03)
2015/08/28 23:09:59 618042591%!(EXTRA string=0.00)
2015/08/28 23:09:59 618042591%!(EXTRA string=0.02)
2015/08/28 23:09:59 629055567%!(EXTRA string=0.00)
2015/08/28 23:09:59 629055567%!(EXTRA string=0.03)
2015/08/28 23:09:59 642409323%!(EXTRA string=0.00)
2015/08/28 23:09:59 642409323%!(EXTRA string=0.02)
2015/08/28 23:09:59 668017861%!(EXTRA string=0.00)
2015/08/28 23:09:59 668017861%!(EXTRA string=0.12)
2015/08/28 23:09:59 677003700%!(EXTRA string=0.00)
2015/08/28 23:09:59 677003700%!(EXTRA string=0.06)
2015/08/28 23:09:59 692284984%!(EXTRA string=0.00)
2015/08/28 23:09:59 692284984%!(EXTRA string=0.03)
2015/08/28 23:09:59 705532147%!(EXTRA string=0.00)
2015/08/28 23:09:59 705532147%!(EXTRA string=0.06)
2015/08/28 23:09:59 712790204%!(EXTRA string=0.00)
2015/08/28 23:09:59 712790204%!(EXTRA string=0.12)
2015/08/28 23:09:59 737197885%!(EXTRA string=0.00)
2015/08/28 23:09:59 737197885%!(EXTRA string=0.07)
2015/08/28 23:09:59 743503323%!(EXTRA string=0.00)
2015/08/28 23:09:59 743503323%!(EXTRA string=0.14)
2015/08/28 23:09:59 745206360%!(EXTRA string=0.00)
2015/08/28 23:09:59 745206360%!(EXTRA string=0.06)
2015/08/28 23:09:59 763185757%!(EXTRA string=0.00)
2015/08/28 23:09:59 763185757%!(EXTRA string=0.55)
2015/08/28 23:09:59 769112727%!(EXTRA string=0.00)
2015/08/28 23:09:59 769112727%!(EXTRA string=0.08)
2015/08/28 23:09:59 805816057%!(EXTRA string=0.00)
2015/08/28 23:09:59 805816057%!(EXTRA string=0.12)
2015/08/28 23:09:59 809677378%!(EXTRA string=0.00)
2015/08/28 23:09:59 809677378%!(EXTRA string=0.08)
2015/08/28 23:09:59 828063305%!(EXTRA string=0.00)
2015/08/28 23:09:59 828063305%!(EXTRA string=0.12)
2015/08/28 23:09:59 828338407%!(EXTRA string=0.00)
2015/08/28 23:09:59 828338407%!(EXTRA string=0.03)
2015/08/28 23:09:59 835510888%!(EXTRA string=0.00)
2015/08/28 23:09:59 835510888%!(EXTRA string=0.07)
2015/08/28 23:09:59 882626159%!(EXTRA string=0.00)
2015/08/28 23:09:59 882626159%!(EXTRA string=0.03)
2015/08/28 23:09:59 897746270%!(EXTRA string=0.00)
2015/08/28 23:09:59 897746270%!(EXTRA string=0.03)
2015/08/28 23:09:59 931674931%!(EXTRA string=0.00)
2015/08/28 23:09:59 931674931%!(EXTRA string=0.03)
2015/08/28 23:09:59 936024259%!(EXTRA string=0.00)
2015/08/28 23:09:59 936024259%!(EXTRA string=0.05)
In this other machine :
- vendor_id : GenuineIntel
- cpu family : 6
- model : 63
- model name : Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
- MemTotal: 65845252 kB
- OS : Linux 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
The result is this
2015/08/29 01:16:54 471552059%!(EXTRA string=15.81)
2015/08/29 01:16:54 480068871%!(EXTRA string=15.67)
2015/08/29 01:16:54 507398302%!(EXTRA string=0.00)
2015/08/29 01:16:54 521398742%!(EXTRA string=0.00)
2015/08/29 01:16:54 202533461%!(EXTRA string=2327.37)
2015/08/29 01:16:54 338831795%!(EXTRA string=1191.18)
2015/08/29 01:16:54 531039526%!(EXTRA string=1037.30)
2015/08/29 01:16:54 593472114%!(EXTRA string=0.00)
2015/08/29 01:16:54 609973091%!(EXTRA string=0.00)
2015/08/29 01:16:54 593472114%!(EXTRA string=16.54)
2015/08/29 01:16:54 609973091%!(EXTRA string=15.73)
2015/08/29 01:16:54 394071392%!(EXTRA string=1238.16)
2015/08/29 01:16:54 638164663%!(EXTRA string=0.00)
2015/08/29 01:16:54 638164663%!(EXTRA string=15.53)
2015/08/29 01:16:54 667631670%!(EXTRA string=0.00)
2015/08/29 01:16:54 675844627%!(EXTRA string=0.00)
2015/08/29 01:16:54 675844627%!(EXTRA string=14.16)
2015/08/29 01:16:54 711898262%!(EXTRA string=0.00)
2015/08/29 01:16:54 300566416%!(EXTRA string=424.26)
2015/08/29 01:16:54 711898262%!(EXTRA string=13.02)
2015/08/29 01:16:54 632385443%!(EXTRA string=1115.35)
2015/08/29 01:16:54 753118239%!(EXTRA string=0.00)
2015/08/29 01:16:54 753118239%!(EXTRA string=14.15)
2015/08/29 01:16:54 767381818%!(EXTRA string=0.00)
2015/08/29 01:16:54 801314950%!(EXTRA string=0.00)
2015/08/29 01:16:54 767381818%!(EXTRA string=33.99)
2015/08/29 01:16:54 816438476%!(EXTRA string=0.00)
2015/08/29 01:16:54 372179187%!(EXTRA string=2457.93)
2015/08/29 01:16:54 836926824%!(EXTRA string=0.00)
2015/08/29 01:16:54 836926824%!(EXTRA string=51.60)
2015/08/29 01:16:54 889729894%!(EXTRA string=0.00)
2015/08/29 01:16:54 890430388%!(EXTRA string=0.00)
2015/08/29 01:16:54 891713727%!(EXTRA string=0.00)
2015/08/29 01:16:54 732229063%!(EXTRA string=1163.04)
2015/08/29 01:16:54 332690466%!(EXTRA string=1571.52)
2015/08/29 01:16:54 904336456%!(EXTRA string=0.00)
2015/08/29 01:16:54 926288167%!(EXTRA string=0.00)
2015/08/29 01:16:54 384796519%!(EXTRA string=1549.14)
2015/08/29 01:16:54 941601994%!(EXTRA string=0.00)
2015/08/29 01:16:54 431987970%!(EXTRA string=1516.20)
2015/08/29 01:16:54 888973901%!(EXTRA string=1082.22)
2015/08/29 01:16:54 977186277%!(EXTRA string=0.00)
2015/08/29 01:16:54 977186277%!(EXTRA string=0.06)
2015/08/29 01:16:54 977367193%!(EXTRA string=0.00)
2015/08/29 01:16:55 977367193%!(EXTRA string=56.33)
2015/08/29 01:16:55 46374447%!(EXTRA string=0.00)
2015/08/29 01:16:55 46374447%!(EXTRA string=0.28)
2015/08/29 01:16:55 869929721%!(EXTRA string=1176.83)
2015/08/29 01:16:55 46916778%!(EXTRA string=0.00)
2015/08/29 01:16:55 66407207%!(EXTRA string=0.00)
2015/08/29 01:16:55 80231754%!(EXTRA string=0.00)
2015/08/29 01:16:55 66407207%!(EXTRA string=13.88)
2015/08/29 01:16:55 80231754%!(EXTRA string=12.10)
2015/08/29 01:16:55 99556642%!(EXTRA string=0.00)
2015/08/29 01:16:55 105395202%!(EXTRA string=0.00)
2015/08/29 01:16:55 121157010%!(EXTRA string=0.00)
2015/08/29 01:16:55 105395202%!(EXTRA string=15.83)
2015/08/29 01:16:55 121157010%!(EXTRA string=12.82)
2015/08/29 01:16:55 134107839%!(EXTRA string=0.00)
2015/08/29 01:16:55 134107839%!(EXTRA string=15.98)
2015/08/29 01:16:55 162712352%!(EXTRA string=0.00)
2015/08/29 01:16:55 162712352%!(EXTRA string=16.46)
2015/08/29 01:16:55 179288920%!(EXTRA string=0.00)
2015/08/29 01:16:55 194490367%!(EXTRA string=0.00)
2015/08/29 01:16:55 202206415%!(EXTRA string=0.00)
2015/08/29 01:16:55 49113060%!(EXTRA string=1165.79)
2015/08/29 01:16:55 473214551%!(EXTRA string=1760.64)
2015/08/29 01:16:55 239858481%!(EXTRA string=0.00)
2015/08/29 01:16:55 32855481%!(EXTRA string=1213.72)
2015/08/29 01:16:55 56811869%!(EXTRA string=1231.75)
2015/08/29 01:16:55 295414269%!(EXTRA string=0.00)
2015/08/29 01:16:55 295491576%!(EXTRA string=0.00)
2015/08/29 01:16:55 889729894%!(EXTRA string=423.76)
2015/08/29 01:16:55 891713727%!(EXTRA string=427.99)
2015/08/29 01:16:55 121465765%!(EXTRA string=1204.92)
2015/08/29 01:16:55 904336456%!(EXTRA string=428.21)
2015/08/29 01:16:55 121526643%!(EXTRA string=1233.79)
2015/08/29 01:16:55 310004280%!(EXTRA string=1051.71)
2015/08/29 01:16:55 858909173%!(EXTRA string=2502.90)
2015/08/29 01:16:55 367541741%!(EXTRA string=0.00)
2015/08/29 01:16:55 367541741%!(EXTRA string=18.04)
2015/08/29 01:16:55 393589632%!(EXTRA string=0.00)
2015/08/29 01:16:55 407450080%!(EXTRA string=0.00)
2015/08/29 01:16:55 46916778%!(EXTRA string=378.70)
2015/08/29 01:16:55 896338456%!(EXTRA string=1529.38)
2015/08/29 01:16:55 431101598%!(EXTRA string=0.00)
2015/08/29 01:16:55 431101598%!(EXTRA string=8.42)
2015/08/29 01:16:55 462833623%!(EXTRA string=0.00)
2015/08/29 01:16:55 462833623%!(EXTRA string=13.67)
2015/08/29 01:16:55 484103852%!(EXTRA string=0.00)
2015/08/29 01:16:55 492334586%!(EXTRA string=0.00)
2015/08/29 01:16:55 492410130%!(EXTRA string=0.00)
2015/08/29 01:16:55 492334586%!(EXTRA string=13.06)
2015/08/29 01:16:55 511300492%!(EXTRA string=0.00)
2015/08/29 01:16:55 511300492%!(EXTRA string=19.36)
2015/08/29 01:16:55 537223305%!(EXTRA string=0.00)
2015/08/29 01:16:55 544019226%!(EXTRA string=0.00)
2015/08/29 01:16:55 544019226%!(EXTRA string=16.19)
2015/08/29 01:16:55 560322064%!(EXTRA string=0.00)
2015/08/29 01:16:55 993395050%!(EXTRA string=1566.96)
2015/08/29 01:16:55 560322064%!(EXTRA string=39.26)
2015/08/29 01:16:55 599688803%!(EXTRA string=0.00)
2015/08/29 01:16:55 179288920%!(EXTRA string=421.14)
2015/08/29 01:16:55 157717567%!(EXTRA string=1443.31)
2015/08/29 01:16:55 507398302%!(EXTRA string=1093.78)
2015/08/29 01:16:55 609900746%!(EXTRA string=0.00)
2015/08/29 01:16:55 239858481%!(EXTRA string=370.10)
2015/08/29 01:16:55 609900746%!(EXTRA string=14.23)
2015/08/29 01:16:55 993465302%!(EXTRA string=1644.50)
2015/08/29 01:16:55 655129719%!(EXTRA string=0.00)
2015/08/29 01:16:55 66651321%!(EXTRA string=1601.79)
2015/08/29 01:16:55 521398742%!(EXTRA string=1156.10)
2015/08/29 01:16:55 295491576%!(EXTRA string=382.10)
2015/08/29 01:16:55 295414269%!(EXTRA string=389.39)
2015/08/29 01:16:55 702701065%!(EXTRA string=0.00)
2015/08/29 01:16:55 137363675%!(EXTRA string=1574.04)
2015/08/29 01:16:55 393589632%!(EXTRA string=339.33)
2015/08/29 01:16:55 667631670%!(EXTRA string=1071.18)
2015/08/29 01:16:55 407450080%!(EXTRA string=338.06)
2015/08/29 01:16:55 484103852%!(EXTRA string=293.32)
2015/08/29 01:16:55 786006965%!(EXTRA string=0.00)
2015/08/29 01:16:55 801314950%!(EXTRA string=998.25)
2015/08/29 01:16:55 816438476%!(EXTRA string=1008.98)
2015/08/29 01:16:55 848323630%!(EXTRA string=0.00)
2015/08/29 01:16:55 655129719%!(EXTRA string=225.32)
2015/08/29 01:16:55 900971628%!(EXTRA string=0.00)
2015/08/29 01:16:55 702701065%!(EXTRA string=212.15)
2015/08/29 01:16:55 953092419%!(EXTRA string=0.00)
2015/08/29 01:16:56 786006965%!(EXTRA string=225.37)
2015/08/29 01:16:56 848323630%!(EXTRA string=263.25)
2015/08/29 01:16:56 890430388%!(EXTRA string=1221.25)
2015/08/29 01:16:56 99556642%!(EXTRA string=1013.02)
2015/08/29 01:16:56 599688803%!(EXTRA string=513.94)
2015/08/29 01:16:56 900971628%!(EXTRA string=213.58)
2015/08/29 01:16:56 114683782%!(EXTRA string=0.00)
2015/08/29 01:16:56 194490367%!(EXTRA string=926.51)
2015/08/29 01:16:56 941601994%!(EXTRA string=1179.50)
2015/08/29 01:16:56 202206415%!(EXTRA string=944.82)
2015/08/29 01:16:56 953092419%!(EXTRA string=201.68)
2015/08/29 01:16:56 280223380%!(EXTRA string=0.00)
2015/08/29 01:16:56 926288167%!(EXTRA string=1373.12)
2015/08/29 01:16:56 114683782%!(EXTRA string=213.67)
2015/08/29 01:16:56 365730070%!(EXTRA string=0.00)
2015/08/29 01:16:56 537223305%!(EXTRA string=882.31)
2015/08/29 01:16:56 272782462%!(EXTRA string=4147.48)
2015/08/29 01:16:56 632615696%!(EXTRA string=0.00)
2015/08/29 01:16:56 634781232%!(EXTRA string=0.00)
2015/08/29 01:16:56 280223380%!(EXTRA string=360.50)
2015/08/29 01:16:56 365730070%!(EXTRA string=275.11)
2015/08/29 01:16:56 492410130%!(EXTRA string=1354.29)
2015/08/29 01:16:56 632615696%!(EXTRA string=214.78)
2015/08/29 01:16:56 634781232%!(EXTRA string=219.21)
2015/08/29 01:16:57 65374683%!(EXTRA string=0.00)
2015/08/29 01:16:57 65573396%!(EXTRA string=0.00)
2015/08/29 01:16:57 65374683%!(EXTRA string=300.96)
2015/08/29 01:16:57 53842402%!(EXTRA string=5317.02)
2015/08/29 01:16:57 65573396%!(EXTRA string=305.82)
2015/08/29 01:16:58 26171685%!(EXTRA string=10149.46)
The same code on different machines producing different results. The time in the results is in milliseconds, and as you can, see the Linux machine prints form 5 seconds to 10 seconds only doing the simple code that I show before, but on the mac machine this does not happen. Unfortunately my final product should be on Linux, so the time executing this code is affecting the final result of a high-performance product. I don't what is the trouble with this code in Linux. I will appreciate any help; for the moment, I'm stuck.
How I tested the code:
With a load test I sent 100 threads for 1 minute with a simple strategy, a test delay 1 second and a Random 0.5 on SoapUI 5.2.0
The request is this:
{
"Field1":{
"Key1":"HHHHHH",
"Key2":"[branch code]",
"Key3":"HHHHHHtest"
},
"Field2":{
"Key1":"HHH"
},
"Field3":{
"Key1":[
{
"Value1":0,
"Value2":"HHHHHHH",
"Value3":"HHH"
},
{
"Value1":0,
"Value2":"HHHH",
"Value3":"HH"
},
{
"Value1":1,
"Value2":"HHHHHHHHHHHHH",
"Value3":""
},
{
"Value1":1,
"Value2":"HHHHHHHHHHHHHHHHHHH",
"Value3":"1"
},
{
"Value1":2,
"Value2":"HHHHHHHHHHHHHHHHHHHH",
"Value3":"3"
},
{
"Value1":2,
"Value2":"HHHHHHHH",
"Value3":"1"
},
{
"Value1":1,
"Value2":"HHHHHHHHHHHHH",
"Value3":"4"
},
{
"Value1":2,
"Value2":"HHHHHHHHHHHH",
"Value3":"BB"
}
]
},
"Field4":{
"key1":11111111,
"key2":11111111
},
"Field5":{
"key1":[
{
"Value1":1,
"Value2":2
},
{
"Value1":1,
"Value2":2
},
{
"Value1":[
{
"Value2":5
}
],
"Value1":1,
"Value2":2,
"children3":1
}
]
},
"Field6":"HHH_HHHH_HHHHHHHH_HHHH",
"Field7":"HHHHHHHHHHHHHH_HHHHH",
"Field8":"4.1",
"Field9":"12312312"
}
Note: I know from this post that the code is not the most efficient, but I was not able to find an efficient solution.
EDIT 1 : Run the code with GODEBUG=gctrace=1 and go version go1.4.2 linux/amd64
EDIT 2 : Run the code with GODEBUG=gctrace=1 and go version go1.5 linux/amd64