[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] Allow tcc arguments to be read from @listfiles
From: |
Vladimir Vissoultchev |
Subject: |
[Tinycc-devel] Allow tcc arguments to be read from @listfiles |
Date: |
Tue, 12 Apr 2016 21:36:42 +0300 |
Hi,
The first patch allows sourcefile names to be passed in external listfiles
in the way most compressing utilities (7-zip) work. Listfiles are passed on
the command-line as '@' prefixed filenames and can contain tcc options
besides source files, each on a separate line, starting whitespace is
ignored.
The second patch is just an expansion of winapi header files to be able to
compile nginx under windows w/ tcc. Here are results from -bench on 5 times
multiplied nginx source files:
C> tcc.exe -bench -c -D__GNUC__=4 -I src/core -I src/event -I
src/event/modules -I src/os/win32 -I objs -I src/http -I src/http/modules
@files.txt
26240 idents, 23577025 lines, 846521725 bytes, 16.506 s, 1428391 lines/s,
51.3 MB/s
Here is a report by function from VS profiler on this bench run:
Function Name Inclusive Samples Exclusive Samples Inclusive Samples %
Exclusive Samples %
---------------- ------------------ ------------------- -------------------
-------------------
__open 5057 5057 32.20
32.20
next_nomacro1 11089 2602 70.61
16.57
_free 1059 1059 6.74
6.74
_realloc 885 885 5.64
5.64
_malloc 862 862 5.49
5.49
__read 717 717 4.57
4.57
__close 556 556 3.54
3.54
preprocess_skip 564 465 3.59
2.96
next 13149 279 83.72
1.78
TOK_GET 239 239 1.52
1.52
next_nomacro_spc 11868 193 75.57
1.23
macro_subst 856 165 5.45
1.05
memcpy 136 136 0.87
0.87
parse_btype 1802 130 11.47
0.83
It seems the process is I/O bound with builtin `__open` being first but the
low hanging fruit is `next_nomacro1` function
cheers,
</wqw>
patches_2016_04_12.zip
Description: Zip compressed data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Tinycc-devel] Allow tcc arguments to be read from @listfiles,
Vladimir Vissoultchev <=