freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ftbench update: make integrated


From: Ahmet Göksu
Subject: Re: ftbench update: make integrated
Date: Mon, 19 Jun 2023 13:51:45 +0300

Hi,

1)You can see the benchmarking page in the attachments.

2)
Please give more details. What do you consider as 'really much time'?
You can adjust the number of loops used in `ftbench` with command-line
options, so it's not clear to me where exactly the problem lies.
I am working with 2 fonts now and took apprx 65 secs. with five fonts i took around 4 mins.


3) 
*I've changed baseline mistake
*I've removed pkg-config, and instead added -I$(TOP_DIR)/include to the $(CC) command to point to the freetype include directory.
*I've removed the definition of $(PYTHON).
*The rules to create directories now use order-only prerequisites.
*gcc has been replaced with $(CC).
*I've added $(OBJ_DIR) for compilation outside the source tree.
*I've replaced rm with $(RM).

I hope I have corrected all. Looking for feedback to continue to other build systems.

Best,
Goksu
goksu.in
On 14 Jun 2023 18:43 +0300, Werner LEMBERG <wl@gnu.org>, wrote:

Helo Ahmet,


I want to inform about last update about ftbench.

Thanks!

fonts are in their own directory but 5 fonts takes
really much time.

Please give more details. What do you consider as 'really much time'?
You can adjust the number of loops used in `ftbench` with command-line
options, so it's not clear to me where exactly the problem lies.

2) does the html file satisfy the needs?

Please post a sample to this list for all the people who are not going
to compile your branch.

3) i am planning to move to develop and integrating cmake and
meson. is there anything forgotten so far?

I don't think so.

Here is a list of things that I noticed while inspecting your code.

* `testing.mk`

- Why `$(BASELINES)` and not `$(BASELINE)`? Are you going to
support more than a single baseline? If yes, how shall this
work'?

But maybe this is just a misunderstanding of what I call a
'baseline': This is the status of the repository (i.e., a certain
commit) that is known to work, and that gets compared against some
new code (usually in a git branch), checking for differences.

- Using `pkg-config` is a bad idea: You are essentially compiling
against another installed FreeType version, which is definitely a
no-go. The tests must be executed with the uninstalled, just
compiled version of the library.

- `freetype.mk` already defines `$(PYTHON)`. Don't override this!
If necessary you might add a test for python 3.

- Please look up the GNU make manual and check the section on
order-only prerequisites – this is what you should use for the
rules to create directories.

- Don't call `gcc` directly! You should rather use `$(CC)` (or
probably `$(CCexe)`, I'm not sure right now).

- AFAICS, compilation outside the source tree still doesn't work.
You have to use `$(OBJ_DIR)` and friends.

- Don't call `rm` directly. You should rather use `$(RM)`.

1) benchmark is running by only one font. i have total 5 but takes
too long. how many should benchmark work with and should i
subset fonts to smaller pieces (like 50 glyphs)?

You should define a make variable to hold default command-line
arguments for `ftbench`, and which can be overridden while calling
`make`.

2) does the html file satisfy the needs?

I don't know yet :-)

3) i am planning to move to develop and integrating cmake and meson.
is there anything forgotten so far?

Perhaps it makes more sense to make the default build work as it
should before handling cmake and meson...


Werner

Attachment: Screen Shot 2023-06-16 at 22.12.30.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]