HackerTrans
TopNewTrendsCommentsPastAskShowJobs

matdehaast

no profile record

comments

matdehaast
·5 เดือนที่ผ่านมา·discuss
Spotify are probably reacting to https://annas-archive.li/blog/backing-up-spotify.html where basically the whole archive was downloaded
matdehaast
·8 เดือนที่ผ่านมา·discuss
Not from Tigerbeetle, but having looked at his code this is what I saw https://news.ycombinator.com/item?id=45896559
matdehaast
·8 เดือนที่ผ่านมา·discuss
Thanks for the code and clarification. I'm surprised the TB team didn't pick it up, but your individual transfer test is a pretty poor representation. All you are testing there is how many batches you can complete per second, giving no time for the actual client to batch the transfers. This is because when you call createTransfer in GO, that will synchronously block.

For example, it is as if you created an HTTP server that only allows one concurrent request. Or having a queue where only 1 worker will ever do work. Is that your workload? Because I'm not sure I know of many workloads that are completely sync with only 1 worker.

To get a better representation for individual_transfers, I would use a waitgroup

  var wg sync.WaitGroup
  var mu sync.Mutex
  completedCount := 0

  for i := 0; i < len(transfers); i++ {
    wg.Add(1)
    go func(index int, transfer Transfer) {
     defer wg.Done()

     res, _ := client.CreateTransfers([]Transfer{transfer})
     for _, err := range res {
      if err.Result != 0 {
       log.Printf("Error creating transfer %d: %s", err.Index, err.Result)
      }
     }

     mu.Lock()
     completedCount++
     if completedCount%100 == 0 {
      fmt.Printf("%d\n", completedCount)
     }
     mu.Unlock()
    }(i, transfers[i])
   }

  wg.Wait()
  fmt.Printf("All %d transfers completed\n", len(transfers))
This will actually allow the client to batch the request internally and be more representative of the workloads you would get. Note, the above is not the same as doing the batching manually yourself. You could call createTransfer concurrently the client in multiple call sites. That would still auto batch them
matdehaast
·8 เดือนที่ผ่านมา·discuss
I'm a bit worried you think instantiating a new client for every request is common practice. If you did that to Postgres or MySQL clients, you would also have degradation in performance.

PHP has created mysqli or PDO to deal with this specifically because of the known issues of it being expensive to recreate client connects per request
matdehaast
·9 เดือนที่ผ่านมา·discuss
I've had billing issues, and they have let it be resolved a couple of weeks later.
matdehaast
·9 เดือนที่ผ่านมา·discuss
Interesting, on Geekbench they have very different scoring

365: 2515/12552 M4: 3763/14694

https://browser.geekbench.com/processors/amd-ryzen-ai-9-365 https://browser.geekbench.com/v6/cpu/11020192
matdehaast
·9 เดือนที่ผ่านมา·discuss
Think you are mistaken. The M4 beats the Ryzen AI 365 in both single and multicore benchmarks
matdehaast
·9 เดือนที่ผ่านมา·discuss
I'm talking specifically about their mobile lineup, not desktop. And more specifically the performance to power efficiency the M series is getting. It is more than 2 generations behind.
matdehaast
·9 เดือนที่ผ่านมา·discuss
If you read the first half of the sentence then yeah.... The complete sentence clarifies "with their mobile lineup"
matdehaast
·9 เดือนที่ผ่านมา·discuss
And therein lies the problem. Apple has managed to push a hardware advantage into something that makes a difference.
matdehaast
·9 เดือนที่ผ่านมา·discuss
It feels like Intel and AMD are asleep at the wheel with their mobile lineup. I've been looking at non-apple equivalents that have similar performance/power as the M lineup and it seems they all lag about 20%+.

For $800 the M4 Air just seems like one of the best tech deals around.