Thread: Rpg Stats vB3
View Single Post
  #45  
Old 06-03-2004, 05:04 AM
Trigunflame's Avatar
Trigunflame Trigunflame is offline
 
Join Date: Aug 2002
Posts: 742
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The use of log10 / pow times 50+ post per page, with several hundred online does not work good on server load.

Not only that the, the code usage is eh..not so good for instance

PHP Code:
if ($hpmulti 1.5) {
$hpmulti 1.5;
}
if (
$hpmulti 1) {
$hpmulti 1;

Why not just use an elseif, instead of a Whole other If structure, thats inefficient (now we have to remember we're doing this in 50+post per page), excessive usage of floor() etc.. the declaration of so many variables is pointless, would be a lot more straightforward and efficient to just use an array of such ie.

PHP Code:
Instead of This:

$rpglvl
$level
$ep
$showlevel
$hpmulti

Use:
$rpg_stats['rpglvl']
$rpg_stats['level']
$rpg_stats['ep']
$rpg_stats['showlevel']
$rpg_stats['hpmulti'
Not only all of the aformentioned log10 and pow's, lots and lots of * and /, its not mearly a 'bit' of math, considering your having to do this for every post shown on a page. Now this may be fine on a small forum, but on a very busy forum processing all of this math takes cpu cycles.

I suggest making a heavier mod to the user table, and updating the stats when they make a new thread or post, thus saving overhead and processing time on every page load.

Of course I doubt you wanna bother with that, so I may release my own hack shortly to combat this problem... It may seem insignificant to many, but to me speed is everything.

Thats just my take and observation of the code provided, no pun is intended whatsoever.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01361 seconds
  • Memory Usage 1,775KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete