Show only top members when too many members to show all

Announcements, comments, ideas, feedback, and "How do I... ?" questions
Post Reply
SethTroisi
Posts: 3
Joined: Wed Apr 29, 2020 1:21 am

Show only top members when too many members to show all

Post by SethTroisi »

On the language statistics page if you click Python (and apparently only Python)
It gives the error message "Sorry, but the requested table would contain too many members to be displayed"

Looking at Haskell only 7% of users have >100 problems solved. Maybe for Python instead of displaying the full list show only the first 10% (~6,000 users for Python). This would show most of the highly active users.

Alternatively filter users with < 50 problems and not recently active would reduce the user list by 4-8x making Python have fewer than the threshold (I assume ~50k)
Image
sambhav_gupta
Posts: 5
Joined: Mon Jun 01, 2020 11:03 am

Re: Show only top members when too many members to show all

Post by sambhav_gupta »

I was also thinking about this but I guess it's time required to sort more than 50000(certain threshold) people which is stopping them to display. But I feel they should do something for Python. like increase threshold to 600000 or something.
User avatar
hk
Administrator
Posts: 12832
Joined: Sun Mar 26, 2006 10:34 am
Location: Haren, Netherlands

Re: Show only top members when too many members to show all

Post by hk »

If you select 'Active members only' (on the statistics start page) active Python members can be displayed.
Image
War ruins the life and health of untold numbers of innocent children.
sambhav_gupta
Posts: 5
Joined: Mon Jun 01, 2020 11:03 am

Re: Show only top members when too many members to show all

Post by sambhav_gupta »

Thanks didn't know about it
User avatar
euler
Administrator
Posts: 5095
Joined: Sun Mar 05, 2006 4:49 pm
Location: Cheshire, England
Contact:

Re: Show only top members when too many members to show all

Post by euler »

I've modified the scripts because there were some inconsistencies in how it was handling different situations. I've changed the column heading in the summary table for location and languages to say, "Proportion of Members at Level 1+", but it now includes the actual frequency total in brackets, instead of just the percentages. It is those figures that are used when generating tables; that is, the tables were only ever meant to show those who have reached at least level 1. As you suggested, sambhav_gupta, the original strategy of just saying there are too many members to display was put in place because filtering that many members was causing load issues on the DB. However, I did some load testing on my local machine and I've determined that setting the limit to 10000 is a reasonable compromise. But more importantly, instead of just saying there are too many members to display, it will now always produce a table with the top 10000 members if the total users exceeds that limit. Currently, the only two tables that suffer here are Python and C/C++.

At the end of the day, statistics are fascinating, but the priority will always be keeping the main functions: solving problems and accessing the problem threads, running optimally. Consequently, it means that occasionally we need to impose limitations on these types of features to ensure that the important components are not compromised.
Image
impudens simia et macrologus profundus fabulae
sambhav_gupta
Posts: 5
Joined: Mon Jun 01, 2020 11:03 am

Re: Show only top members when too many members to show all

Post by sambhav_gupta »

Yeah It's perfect now thanks for the update.
euler wrote: Mon Aug 10, 2020 2:36 pm it will now always produce a table with the top 10000 members if the total users exceeds that limit. Currently, the only two tables that suffer here are Python and C/C++.
I think so many tables suffered here.
Baby Steps (awards)
The Journey Begins (awards)
Decathlete (awards)
Flawless Fifty (awards)
Level 1 (levels)
USA (countries)
many more

and It is perfect now
Last edited by sambhav_gupta on Tue Aug 11, 2020 12:53 am, edited 1 time in total.
Post Reply