Page MenuHomePhabricator

optimize eina tests
Open, TODOPublic

Related Objects

StatusAssignedTask
OpenNone
OpenNone
OpenNone
Resolvedzmike
ResolvedNone
ResolvedNone
ResolvedNone
Resolvedzmike
ResolvedNone
ResolvedNone
Resolvedcedric
ResolvedNone
ResolvedNone
ResolvedNone
ResolvedNone
zmike created this task.Mar 29 2018, 2:06 PM
zmike triaged this task as TODO priority.

Ideally this suite should pass in under 1.0s.

zmike added a comment.Mar 30 2018, 2:48 PM

I've done about all I can here without going into micro-optimizations. There are currently no tests which take even 0.1s to run, a handful of tests which take between 0.01-0.09s to run, yet a full eina_suite run somehow takes ~2.5s.

Examining libcheck, it seems like there's a hard limit here due to how check works: each test can be run in a forked process, but they are always run sequentially. This means that running each test has a fixed cost: I would speculate something like 0.03s per test case, meaning that for every ~30 tests we have, there is a minimum of 1 second in just setting up and waiting for the test to complete. This seems a bit bad for eina, being that it's artificially adding something like 2 seconds to each run, but it's even worse for elm which currently has 70ish tests and there should likely be many more added.

I think I may spend some time next week seeing how much work it would be to add parallel test runs to libcheck.

zmike added a comment.Apr 2 2018, 11:36 AM

It would be too much work, abort, abort.

stefan_schmidt closed subtask T6830: rbtree as Resolved.
stefan_schmidt closed subtask T6832: barrier as Resolved.
stefan_schmidt closed subtask T6833: list as Resolved.
stefan_schmidt closed subtask T6835: strbuf as Resolved.
stefan_schmidt closed subtask T6836: safepointer as Resolved.
stefan_schmidt closed subtask T6839: hash as Resolved.
stefan_schmidt closed subtask T6842: file as Resolved.
stefan_schmidt closed subtask T6843: *share as Resolved.
stefan_schmidt closed subtask T6845: locks as Resolved.
stefan_schmidt closed subtask T6846: slstr as Resolved.
stefan_schmidt closed subtask T6841: fp as Resolved.
zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:56 AM
zmike edited projects, added efl; removed Restricted Project.Jun 11 2018, 8:50 AM
bu5hm4n edited projects, added Restricted Project; removed efl.Jun 12 2018, 8:14 AM