Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/tools/testing/selftests/bpf/progs/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  csum_diff_test.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0
/* Copyright Amazon.com Inc. or its affiliates */
#include <linux/types.h>
#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>
#include <bpf/bpf_tracing.h>

#define BUFF_SZ 512

/* Will be updated by benchmark before program loading */
char to_buff[BUFF_SZ];
const volatile unsigned int to_buff_len = 0;
char from_buff[BUFF_SZ];
const volatile unsigned int from_buff_len = 0;
unsigned short seed = 0;

short result;

char _license[] SEC("license") = "GPL";

SEC("tc")
int compute_checksum(void *ctx)
{
 int to_len_half = to_buff_len / 2;
 int from_len_half = from_buff_len / 2;
 short result2;

 /* Calculate checksum in one go */
 result2 = bpf_csum_diff((void *)from_buff, from_buff_len,
    (void *)to_buff, to_buff_len, seed);

 /* Calculate checksum by concatenating bpf_csum_diff()*/
 result = bpf_csum_diff((void *)from_buff, from_buff_len - from_len_half,
          (void *)to_buff, to_buff_len - to_len_half, seed);

 result = bpf_csum_diff((void *)from_buff + (from_buff_len - from_len_half), from_len_half,
          (void *)to_buff + (to_buff_len - to_len_half), to_len_half, result);

 result = (result == result2) ? result : 0;

 return 0;
}

Messung V0.5
C=95 H=85 G=90

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.