Skip to content

performance

3 posts with the tag “performance”

SocNetV v3.6 Released

SocNetV v3.6 released! 🎉

We are happy to announce the release of SocNetV v3.6!

This release adds a multi-condition Query Builder filter, subgraph extraction, four new export formats (UCINET DL, GraphViz DOT, weighted and simple edge lists), connected-component colouring, Clustering Coefficient node colouring, and working Bezier curve edges. Analysis of large networks is also noticeably faster — read on for details.

🔍 What’s New in SocNetV v3.6?

🔎 Query Builder — multi-condition filtering

A new Filter → Filter by Query… action opens the Query Builder dialog. You can add as many conditions as you like (pick an attribute, an operator, and a value), and only nodes or edges matching all of them will be shown. It works alongside the existing Filter Bar — the result appears as a removable chip, just like any other filter.

✂️ Subgraph Extraction

A new Edit → Subgraphs submenu lets you save a piece of your network as a separate file:

  • Save visible nodes as subgraph… — saves whatever is currently visible on the canvas (after filters) as an independent network file.
  • Save selected nodes as subgraph… — same, but only for selected nodes.

Your original network is never modified.

📤 Four New Export Formats

You can now export your network to four additional formats:

  • UCINET DL — compatible with UCINET and other tools that read the DL format. Multi-relation networks are fully supported.
  • GraphViz DOT — exports node positions, colours, shapes, and custom attributes. You can reload the exported file back into SocNetV and get exactly the same network.
  • Weighted Edge List — a simple text file with one source target weight per line.
  • Simple Edge List — same, without the weights.

The Save Subgraph As… dialog now also offers all these formats (previously it was limited to GraphML, Pajek, and Adjacency).

🎨 Connected-Component Colouring

A new Layout → Node Color by Connected Component action colours each node according to its connected component — nodes in the same component share the same colour. This makes it immediately obvious when your network is split into disconnected parts. The Analyze → Cohesion → Connectedness report now also tells you how many components the network has.

📐 Clustering Coefficient Node Colouring

Layout → Node Color → Clustering Coefficient colours nodes by their local clustering coefficient using the same blue-to-red gradient used by all other centrality measures. It is also available in the Filter Nodes by Centrality dialog and the distribution chart.

〰️ Bezier Curve Edges — now actually working

The Options → Edges → Bezier Curves toggle has been in the menu since v3.4 but never did anything. It is now fully working: edges draw as smooth curves, arrowheads point in the right direction even on reciprocated pairs, and the setting is remembered across sessions.

⚙️ Zero-weight Edge Settings

  • A new Settings → Edges → Show zero-weight edges checkbox (on by default) lets you hide zero-weight edges on load — useful when your data file contains them but you don’t want them cluttering the canvas.
  • The zero-weight edge colour picker in Settings now actually works (it was wired up in the UI but had no effect before).

↔️ Configurable Arrow Size

A new Settings → Edges → Arrow size control lets you make arrowheads bigger or smaller. The change applies immediately to all edges and is remembered for future sessions.


⚡ Faster analysis on large networks

All centrality and distance computations (betweenness, closeness, eccentricity, and others) now use all available CPU cores instead of just one. The numbers below are from our tests on a 12-core Linux machine:

NetworkCentralities computedBeforeAfter
Directed, 500 nodes, 1 219 edgesyes679 ms255 ms
1 000 nodes, 10 000 edgesno28 423 ms3 431 ms
1 000 nodes, 10 000 edgesyes47 020 ms5 949 ms

Large networks (2 000+ nodes, 40 000+ edges) are also smoother to navigate — selecting, dragging, and rubber-band selection no longer slow to a crawl.


🛠 Other Improvements

  • The Layout section of the Control Panel no longer has “Apply” buttons — layout changes take effect as soon as you make a selection.
  • The Statistics Panel on the right is now divided into collapsible sections, so you can hide the parts you don’t need.
  • Node and edge toolbar actions now behave sensibly when multiple items are selected: one item selected opens its properties dialog, multiple selected opens a bulk-edit dialog.
  • The left Control Panel now scrolls when vertical space is tight (e.g. when the Data Table dock is open) instead of overlapping its own widgets.
  • The status bar now shows a “Computing… please wait” message whenever the app is doing something that takes a moment, so you always know it is working.

🐛 Notable Bug Fixes

  • UCINET DL two-mode networks now load correctly (node counts, node numbers, and labels were all wrong before).
  • Galaskiewicz famous network now loads correctly — a missing data file in the app bundle was causing it to silently fail.
  • Edge mode (directed/undirected) now correctly switches back when you change relation — each relation remembers its own setting.
  • Zero-weight edges were being counted in several analyses where they shouldn’t have been (density, reciprocity, clustering coefficient, shortest paths). All fixed.
  • Shift+click on a node now adds it to the current selection instead of replacing it.
  • GraphViz DOT files exported by SocNetV could silently drop the first node when reloaded, producing wrong edges. Fixed.
  • Multi-relation networks where the first relation had no weights but a later one did were incorrectly reported as unweighted throughout the app. Fixed.
  • Several keyboard shortcut conflicts between actions were resolved.

Download SocNetV v3.6 from our Downloads page and let us know what you think!

Happy analyzing!
— The SocNetV Team

SocNetV v3.1 Released

SocNetV v3.1 Screenshot

Description

The Social Network Visualizer project announces a new version of our favorite SNA application. SocNetV v3.1 is the first Qt6-only release and brings many improvements and bug fixes.

What’s New in v3.1

  • Improved Performance: Faster large file loading and quicker responsiveness with large nets (greater than 20,000 edges), while having a reduced memory footprint.
  • Bug Fixes: Edge filtering now works as intended.

Availability

The new version is available for Windows, macOS, and Linux. Go to the SocNetV Downloads page to get it.

SocNetV v3.0 Released

SocNetV v3.0 is out now! It includes several performance improvements and new features to make social network analysis easier.

SocNetV v3.0 Screenshot

Description

The Social Network Visualizer project has released a brand-new version of our favorite SNA application. SocNetV v3.0 brings improved speed and responsiveness, bug fixes, and new command line parameters.

What’s New in v3.0

  • Improved Performance: Faster computations, as the Graph now runs on a separate thread.
  • Hardware-Accelerated Rendering: This version is the first to support hardware-accelerated (OpenGL) rendering of the networks on the canvas. This feature is enabled by default but can be disabled in Settings.
  • Web Crawler Enhancements: The Web Crawler has been improved to test for OpenSSL support in the OS, with user hints provided if OpenSSL is missing. Additionally, the delay between requests has been fixed.
  • Bug Fixes: A critical bug in weighted network centrality computations has been resolved (see #123).

Special Note

To run SocNetV v3.0 AppImage on Fedora 34 (which uses Wayland by default), use the following command:

env GDK_BACKEND=x11 ./SocNetV-3.0-dev-x86_64.AppImage

For Fedora/openSUSE users, you can get a proper package from our OBS repos.

Availability

The new version is available for Windows, macOS, and Linux. Go to the SocNetV Downloads page to get it.