Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gstreamer gstreamer
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 671
    • Issues 671
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 351
    • Merge requests 351
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gstreamergstreamer
  • Issues
  • #291

Closed
Open
Created May 05, 2018 by Bugzilla Migration User@bugzilla-migration

Implement a replacement to GSlice

Submitted by Tim Müller @tpm

Link to original bug (#795828)

Description

Created attachment 371701
Drop use of GSlice allocator in favour of plain g_malloc()/g_free()

Just gonna put this here. Enjoy.

The "Benchmarks show" bit could probably need more verification, but in the few tests I have run I have found either positive performance impact or no discernable performance impact. It's hard to do proper measurements for our purposes, we need to test alloc from one thread and free in another thread for realistic usage, while at the same time having a test case where allocation/free takes up most of the cycles. I have run some tests on a low-powered windows ec2 machine, that showed GSLice being ridiculously slow compared to the system allocator there (windows server 2006 =~ win10).

IIRC main reason to use GSlice was because the sys allocator on ~Windows XP was horrendous, but that doesn't seem to be the case any longer, and on Linux the glibc allocator seems superior nowadays.

Patch 371701, "Drop use of GSlice allocator in favour of plain g_malloc()/g_free()":
0001-Drop-use-of-GSlice-allocator-in-favour-of-plain-g_ma.patch

See also

  • Bug 754687
Edited Dec 04, 2018 by Nicolas Dufresne
Assignee
Assign to
Time tracking