Advertisement
yerden

cpu burner

Feb 24th, 2023 (edited)
848
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.60 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "crypto/rand"
  5.     "hash/crc32"
  6.     "log"
  7.     "os"
  8.     "sync"
  9.  
  10.     "github.com/yerden/go-dpdk/eal"
  11. )
  12.  
  13. var crc uint32
  14.  
  15. func main() {
  16.     if _, err := eal.Init(os.Args); err != nil {
  17.         log.Fatalln("EAL init failed:", err)
  18.     }
  19.     defer eal.Cleanup()
  20.     defer eal.StopLcores()
  21.  
  22.     var wg sync.WaitGroup
  23.     for _, id := range eal.LcoresWorker() {
  24.         wg.Add(1)
  25.         go eal.ExecOnLcore(id, func(*eal.LcoreCtx) {
  26.             defer wg.Done()
  27.             b := make([]byte, 1024)
  28.             rand.Read(b)
  29.             tab := crc32.MakeTable(crc32.Castagnoli)
  30.  
  31.             for {
  32.                 crc = crc32.Update(crc, tab, b)
  33.             }
  34.         })
  35.     }
  36.  
  37.     wg.Wait()
  38. }
  39.  
Tags: DPDK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement