Nuitka
The Python compiler
Loading...
Searching...
No Matches
python_pgo.h
1
// Copyright 2026, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file
2
3
#ifndef __NUITKA_PYTHON_PGO_H__
4
#define __NUITKA_PYTHON_PGO_H__
5
6
// In Visual Code, evaluate the code for PGO so we see errors of it sooner.
7
#ifdef __IDE_ONLY__
8
#define _NUITKA_PGO_PYTHON 1
9
#include "nuitka/prelude.h"
10
#endif
11
12
#if _NUITKA_PGO_PYTHON
13
14
#include <stdint.h>
15
16
// Initialize PGO data collection.
17
extern
void
PGO_Initialize(
void
);
18
19
// At end of program, write tables.
20
extern
void
PGO_Finalize(
void
);
21
22
// When a module is entered.
23
extern
void
PGO_onModuleEntered(
char
const
*module_name);
24
// When a module is exited.
25
extern
void
PGO_onModuleExit(
char
const
*module_name,
bool
had_error);
26
27
extern
void
PGO_onProbePassed(
char
const
*module_name,
char
const
*probe_id, uint32_t probe_arg);
28
29
extern
void
PGO_onTechnicalModule(
char
const
*module_name);
30
31
#else
32
33
#define PGO_Initialize()
34
#define PGO_Finalize()
35
36
#define PGO_onModuleEntered(module_name) ;
37
#define PGO_onModuleExit(module_name, had_error) ;
38
39
#define PGO_onProbePassed(module_name, probe_id, probe_arg) ;
40
41
#endif
42
43
#endif
44
45
// Part of "Nuitka", an optimizing Python compiler that is compatible and
46
// integrates with CPython, but also works on its own.
47
//
48
// Licensed under the GNU Affero General Public License, Version 3 (the "License");
49
// you may not use this file except in compliance with the License.
50
// You may obtain a copy of the License at
51
//
52
// http://www.gnu.org/licenses/agpl.txt
53
//
54
// Unless required by applicable law or agreed to in writing, software
55
// distributed under the License is distributed on an "AS IS" BASIS,
56
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
57
// See the License for the specific language governing permissions and
58
// limitations under the License.
nuitka
build
include
nuitka
python_pgo.h
Generated by
1.9.8